Search Engines & SEO

Soft 404

Definition

The status line and the page body disagree. A visitor sees 'Sorry, this page no longer exists', but the server sent 200 OK, so every machine reading the response treats the URL as a live page with content. Google detects this on its own and files the URL under 'Soft 404' in the Pages report of Search Console. It applies the same label to pages that return 200 with almost nothing on them, because an effectively blank page and a missing one look the same from outside. A redirect can earn the label too: sending every dead URL to the home page is treated as a soft 404, since the destination is not a replacement for what was asked for.

Why It Matters

Machines rely on the status code because it is the only part of the response they can trust without reading English. A correct 404 tells the crawler to stop coming back and tells a link checker the link is broken. A soft 404 tells them both that a real page exists, so the URL stays in the queue and gets refetched for months. On a site with a few dead URLs that is invisible; on one with thousands — an out-of-stock catalogue, a decommissioned docs section — it is a steady drain on crawl budget spent on pages that will never have content.

How It Works

Return 404 when the URL has no content and you are not saying why, or 410 Gone when you removed it deliberately and it is not coming back; Google treats 410 as slightly more final but processes both similarly. Serve a helpful body with that status — a custom 404 page with a search box and links to the main sections is perfectly compatible with a 404 code, since the status is in the headers and the body is free. Where a genuine successor exists, use a 301 redirect to that specific page, not a blanket redirect to the home page. The classic source of the problem is client-side routing: an SPA fallback that serves index.html for every unmatched path returns 200 for every address on the site by design, and the router then draws a not-found screen inside a successful response.

Real-World Example

A team uploads a single-page app to 99helpers at ferrous-app.99helpers.site, where any unknown path falls back to index.html so the client-side router can handle it. Six weeks later Search Console lists 400 soft 404s, all of them mistyped or long-dead URLs that returned 200 with a 'Page not found' panel drawn by JavaScript. Replacing the catch-all with a real 404 response for paths that are not routes cuts the list to nothing, and the crawler stops revisiting addresses that were never pages.

Common Mistakes

  • Redirecting every dead URL to the home page — Google classifies that as a soft 404 too, because the home page does not answer the request
  • Assuming a friendly error page means a correct response — the words on the page and the status in the header are independent, and only the header is read by machines
  • Blocking the failing URLs in robots.txt — the crawler then cannot see the 404 either, so the URLs linger instead of dropping out
  • Publishing category or listing pages with no items yet — an empty page returning 200 gets the same label as a missing one

Related Terms

Put a file online in seconds

Drop in a document, an image, a page or a whole static website and share the link — free, with no build step and no server to set up.

Host a file free →