A 404 means the server is reachable but has nothing at the requested URL. The page may have moved, been deleted, never existed, or your server's routing may be failing to find something that is really there. Specification details are in the HTTP 404 reference.
A 404 is a normal answer for a missing page, so not every 404 is a bug. It becomes a problem when real, linked pages return it, or when a whole section suddenly disappears after a deploy or migration.
If you are a visitor
- Check the address for typos, a missing letter in the path, or an extra character copied with the link.
- Remove the end of the path step by step to reach a parent page, or go to the home page and use the site search.
- Reload once. During deployments, a half-updated server can briefly 404.
- Use an archive or search engine cache to find old content that moved.
- Try the same URL in a private window. An old cached redirect may be sending you to the wrong place.
- Tell the site owner when a link on their own site is broken.
If you own the site
1. The page moved and no redirect exists
After changing a slug, restructuring categories or migrating platforms, old URLs should redirect to the new ones with a 301. Map them explicitly:
location = /old-page/ { return 301 /new-page/; }
Redirect 301 /old-page/ https://example.com/new-page/
Verify the hop with the रीडायरेक्ट चेकर. Redirect to the most relevant replacement, not blindly to the home page. See HTTP redirects: 301 vs 302.
2. Rewrite rules are missing (frameworks and CMSs)
Sites using clean URLs rely on the web server sending unknown paths to index.php or a front controller. If the home page works but every inner page 404s, the rewrite is missing. For nginx:
location / {
try_files $uri $uri/ /index.php?$args;
}
For Apache, confirm mod_rewrite is enabled, AllowOverride All is set for the directory, and the .htaccess file is present. In WordPress, visit Settings, Permalinks and click Save to regenerate rules. Single-page apps also need a fallback to index.html so deep links survive a refresh.
3. Wrong document root or deployment
After a deploy, the server may point at an empty or old release folder. Check root in nginx or DocumentRoot in Apache, confirm the files exist there, and compare the symlink target of your current release. The nginx error log shows what it looked for:
open() "/var/www/site/missing.html" failed (2: No such file or directory)
Case matters on Linux: Logo.PNG and logo.png are different files, a classic surprise after developing on Windows or macOS.
4. Broken internal links and sitemap entries
Crawl your own site with the ब्रोकन लिंक चेकर, fix or remove links that return 404, and make sure your sitemap lists only URLs that return 200. Check how bots see you with the Robots.txt Checker. See robots.txt and sitemaps.
5. Soft 404s and the wrong status
Two opposite mistakes exist. A "not found" page that returns 200 (a soft 404) confuses search engines. And a real page that returns 404 because the application throws the wrong status is simply a bug. Test with the HTTP स्टेटस चेकर or:
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/does-not-exist-123
You want 404 for that made-up URL and 200 for your real pages. If you permanently removed content and want crawlers to forget it, consider 410 Gone.
A custom 404 page worth having
Keep the status code at 404 but give people a way forward: a search box, links to popular sections and your main navigation.
error_page 404 /404.html;
location = /404.html { internal; }
Do not redirect all 404s to the home page; search engines may treat that as a soft 404 and visitors lose context.
Monitor for regressions
Add important URLs to an अपटाइम मॉनिटर. A keyword check can detect a page that returns 200 but shows the not-found template. Inspect failing responses with the HTTP Header Checker.
अगले कदम
- Read the HTTP 404 reference.
- Scan your site with the ब्रोकन लिंक चेकर.
- सीखें 301 vs 302 redirects.
- Understand website downtime and SEO.
सामान्य प्रश्न
Do 404 errors hurt SEO?
A few 404s for pages that do not exist are normal and harmless. Many 404s on pages that used to rank or have inbound links lose traffic, so redirect those.
Should I redirect every 404 to the home page?
No. Redirect to a closely matching page when one exists, otherwise return a proper 404 or 410.
Why does a page 404 only after I refresh?
That is typical of single-page apps without a server fallback to index.html. Add the fallback rule.
Why is the file there but still 404?
Check the case of the name, the document root, a rewrite that rejects the path, and whether a proxy or CDN has cached an old 404 you need to purge.
Get notified when this fix updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.