Skip to the journal
Search Engine Optimization Directory

404 Errors: When to Fix, Redirect, or Leave Them Alone

  • Filed November 10, 2026
  • Crawling and indexing, guide 1 of 16

A 404 is the correct response for a URL that has no content, and returning it is not an SEO mistake. Google’s documentation says URLs that return 4xx codes are removed from the index if they were indexed, that newly encountered 404 pages are not processed, and that crawling frequency for them gradually decreases (Google’s HTTP status code documentation). A 404 becomes a problem only when the URL should exist, when people or links still depend on it and a good replacement exists, or when an error page pretends to be a working page. The decision for each missing URL is therefore one of four: keep the 404, return 410, restore the content, or redirect.

What Google does with 404 and 410

  • Google states that it “doesn’t use the content from URLs that return 4xx status codes” and that already indexed URLs returning 4xx “are removed from the index”.
  • Google treats all 4xx errors the same, except 429. A 410 (Gone) is therefore handled like a 404 for Search purposes, although the codes mean different things to other clients.
  • Google’s crawl budget guide calls a 404 “a strong signal not to crawl that URL again” (Google’s crawl budget guide).
  • Google’s Page indexing help notes that Googlebot “will probably continue to try this URL for some period of time” and that “there is no way to tell Googlebot to permanently forget a URL”, though it will crawl it less and less often (Page indexing report help).

So a 404 takes that URL out of the index, and Google still checks it occasionally. Seeing old 404s listed in Search Console is expected.

Soft 404s: the version that is a problem

A soft 404 is a page that tells the user the content does not exist but returns a 200 (success) status. Google’s crawling errors guide lists causes such as a missing server-side include file, a broken database connection, an empty internal search results page and a missing JavaScript file (Google’s crawl error troubleshooting). Google says such pages “are excluded from Search”, and its crawl budget guide notes they “will continue to be crawled, and waste your budget”.

Google’s site move guide adds another source: redirecting many old URLs to one irrelevant page such as the home page “might be treated as a soft 404 error”. A redirect to an unrelated page is, in effect, a disguised 404.

Fix soft 404s by matching the status to the reality: return 404 or 410 if the content is gone, a 301 redirect if it moved, and fix the page if it was supposed to work but failed to load properly for Googlebot.

The decision matrix

Situation Action Why
URL never existed (typo in an external link, bot probing) Keep 404 Nothing to restore or redirect to
Content removed permanently, no equivalent 404 or 410 Honest status; Google treats both as gone
Content removed, a close equivalent exists 301 to the equivalent Users and links reach what they wanted
Content removed by mistake Restore the page The page should exist
Content moved to a new URL 301 to the new URL Permanent move
Product temporarily out of stock Keep the page live with availability information The page still has a purpose
Product discontinued, replacement model exists 301 to the replacement Close equivalent
Product discontinued, no replacement 404 or 410, or keep an informative page if people still look for it Avoid redirecting to an unrelated category
Internal link points to a 404 Fix the link The broken link is the bug, not the 404
Important external backlink points to a 404 Restore or redirect to the closest equivalent Recover the referral path
Error page returns 200 Change to a real 404 Remove the soft 404

When 410 makes sense

Because Google handles 404 and 410 the same way, 410 is a communication choice rather than an SEO lever. It signals deliberate, permanent removal, which can be useful for other crawlers, API clients and anyone reading server logs. Use it where a team wants that intent recorded; use 404 elsewhere.

Finding the 404s that matter

  1. Page indexing report, “Not found (404)”. Filter to URLs in your sitemap first; a sitemap URL returning 404 is a mismatch to fix.
  2. Internal link crawl. Every internal link to a 404 is a broken path for users. Fix the link at the source.
  3. Backlink data. Export your top linked pages from Search Console’s Links report or a backlink tool, then match those target URLs against your list of 404 URLs; the Links report does not filter by status code. Prioritize URLs with links from relevant sites.
  4. Analytics. Landing pages with a 404 page title or template show where real visitors arrive at missing pages.
  5. Server logs. Repeated 404 requests from users (not bots) on one URL suggest a link somewhere that should be fixed or redirected.

A good 404 page

The status code serves crawlers; the page serves people. A useful 404 page:

  • returns a real 404 status;
  • says plainly that the page was not found;
  • offers search and links to main sections;
  • keeps the site’s navigation;
  • does not redirect automatically after a delay.

404 handling mistakes

  • Redirect every 404 to the home page. It creates soft 404s and frustrates users.
  • Chase every 404 in reports. Bot-generated and typo URLs need no action.
  • Return 200 with an error message. That is the definition of a soft 404.
  • Block 404 URLs in robots.txt. It prevents Google from seeing that they are gone.
  • Expect Google to forget a URL immediately. Google says it will keep checking for some time.

Retiring 1,200 discontinued products without soft 404s

Picture a hardware retailer that removes 1,200 discontinued products.

  • Classification: 700 have a direct successor model; 300 have no successor but belong to a category that still exists; 200 were never popular and have no links.
  • Decisions: 301 the 700 to their successors; for the 300, keep a short page stating the product is discontinued with links to current alternatives if analytics show people still search for them, otherwise return 404; return 404 for the 200.
  • Avoided: redirecting all 1,200 to the category or home page.
  • Check: confirm that the Page indexing report moves the 700 to “Page with redirect” and the removed URLs to “Not found (404)”, and that internal links and the sitemap no longer reference any of them.
  • What to expect: Googlebot will keep requesting some removed URLs for a while; that is expected behavior, not a sign the fix failed.

A 404 is a status, not a penalty. Fix the ones that break real paths, redirect the ones with real equivalents, and leave the rest alone.