Troubleshooting guide · http-status · Published 2026-08-14 · 3 min read
HTTP 404 not found
What an HTTP 404 means, how to tell a real 404 from a soft 404, and how to fix dead URLs with redirects, correct status codes and a clean sitemap.
- ·Real vs soft
- ·Redirect map
- ·Sitemap
Symptoms
A request reaches the server but the URL does not map to anything. The browser shows "404 Not Found". The page may be one link on the site, a bookmarked URL, or a result from another site that has not updated yet.
Common causes
- The page moved or was deleted and no redirect was added.
- A typo in a link, in a sitemap, or in a hand-entered URL.
- The URL changes between environments, for example a staging URL that does not exist on production.
- An old version of the site is cached somewhere, so a search engine or a bookmarks tab still points at the old path.
- Web server rules block the path, or a rewrite rule maps it to a file that no longer exists.
- A 404 caused by a temporary state such as a missing trailing slash on a server that requires one.
How to fix
- Confirm the resource really is gone. Load the URL in a private window to rule out a stale cache.
- Decide the correct destination for that URL: the new page, the closest related page, or the home page.
- Add a 301 redirect from the old URL to the destination, ideally in the site's redirect map or
.htaccessrather than per HTML file. - If the resource should exist, fix what broke it. On a static site that usually means the build did not produce the file. On a CMS it usually means a page, post, or rewrite is missing.
- Update internal links and any sitemap that still carries the dead URL.
- When the redirect is live, use the URL Inspection tool in Google Search Console to request a re-crawl of the old URL.
SEO impact
A 404 is not itself a penalty. The risk is lost value: a page that attracted links and rankings stops passing that value once it returns 404. 301 redirect the old URL to the closest live equivalent so users and link equity land somewhere useful. A soft 404, where the server returns 200 with an unusable page, is worse because it tells crawlers the URL is fine. Return a real 404 status for genuinely dead pages.
Prevention
- Add redirect rules at the time you move or delete pages, not later.
- Audit for 404s periodically from Search Console, your server logs, and your own sitemap.
- Mark dead URLs with a true 404 status so crawlers can drop them quickly.