Technical SEO · Glossary · Updated Apr 2026

Soft 404

Definition

A soft 404 is a URL that returns HTTP 200 but the content tells the user the page doesn't exist — empty product page, "no results found", a generic template with no real content. Google detects soft 404s heuristically and flags them in Search Console under "Page indexing".

Find related

Long definition

Soft 404s exist because the HTTP layer says one thing and the content says another. The server returns 200 OK, so a naive crawler treats the URL as live. The content is "Sorry, this page no longer exists" or just an empty layout. Google has invested years in heuristics to catch this mismatch — content thinness, template patterns ("404", "not found", "no results"), redirect chains terminating at the homepage, and statistical anomalies versus the rest of the site.

Common ways to ship a soft 404 by accident:

  • Blanket redirects to homepage for any unknown URL. The destination loads fine, but it's irrelevant to the requested URL — Google labels the source as soft 404.
  • Empty category or search-result pages/category/widgets?color=ultraviolet returns the template with "0 results found" and 200 OK. At scale (faceted nav), this is a major source.
  • Out-of-stock products that show a 200 page with "this product is unavailable" and no schema, no price, no buy button.
  • Failed personalization — a logged-in dashboard rendering as a near-empty shell when the user isn't logged in.
  • CMS bugs — a draft or unpublished article URL still resolves with the layout but no body.

The Search Console "Page indexing" report (formerly "Coverage") flags affected URLs under "Soft 404" with examples. For a small batch, fix individually — return 404 or 410 for genuinely missing content, fill in real content for pages that should exist, redirect to a relevant alternative when there is one.

For a large batch, find the upstream cause:

  • Faceted URLs producing zero results → block via robots.txt, add noindex, or canonicalize to the unfiltered category.
  • Pagination overshoot (?page=999 returning empty) → return 404 server-side past the last real page.
  • Out-of-stock handling at scale → either return 404 with a "back in stock" form, or 200 with substantive related-product content.

Soft 404s waste crawl budget the same way real 404s do, but worse — Googlebot keeps retrying because the 200 status suggests the URL is alive. Fixing them reclaims crawl capacity for URLs that earn it.

Common misconceptions

  • "Soft 404 is a fake problem invented by Google." It's a real anti-pattern that breaks the integrity of HTTP signals. Browsers, archivers, and other crawlers all benefit from honest status codes too.
  • "GSC's soft 404 detection is unreliable." It's heuristic, so false positives exist, but the signal is consistent. If GSC flags a URL as soft 404, the underlying content almost always has a problem worth fixing.
  • "Soft 404s only matter at scale." A few don't move rankings. But the upstream pattern that produces a soft 404 usually produces many — find the root cause once, fix the whole class.
  • "Returning a friendly 'we couldn't find it' message with HTTP 200 is more user-friendly." You can have both. Return HTTP 404 and render a friendly page with site search and popular links. The status code and the user experience are independent layers.