Soft 404
Also known as: soft 404 error, soft not found
A soft 404 is a page that returns HTTP status 200 OK to crawlers but actually displays 'page not found' or similar empty/error content to users. Google detects this pattern algorithmically and treats the page as effectively a 404 — but the mismatch between the HTTP signal (200, indexable) and the content (essentially empty) is an anti-pattern that wastes crawl budget and confuses indexation.
How soft 404s happen
Common patterns producing soft 404s:
- CMS quirk: a deleted post page returns 200 OK with a “this content is not available” message
- Single-page applications: invalid routes return the SPA shell HTML with no content
- Out-of-stock product pages: returns 200 with “this product is no longer available” but stays indexable
- Custom search results with no matches: 200 + “no results found” copy
- Calendar pages for past dates: returns 200 but the content is empty
- API failures: a service error returns 200 with an error message in the body
How Google detects soft 404s
Google’s algorithm looks for signals that the page lacks real content:
- Empty main content area
- Error messages like “page not found,” “no results,” “currently unavailable”
- Visual indicators (404 graphics) on a 200-status page
- Sudden content reduction relative to indexed historical version
When detected, Search Console flags the URL in the Coverage report under “Soft 404” — and Google drops it from the index.
Why soft 404s are a problem
Three reasons they hurt:
- Crawl budget waste — Googlebot keeps crawling 200-status URLs that produce nothing; the budget could go to actual valuable pages
- Index pollution — until detected, soft 404s sit in the index without real content
- User experience — users clicking SERP results get error pages, leading to high bounce + back-to-SERP behavior that hurts your snippet performance
How to fix soft 404s
Three patterns depending on context:
- Page is genuinely gone: serve 404 (or 410) status. Most CMSs let you configure this.
- Page is gone but a relevant replacement exists: 301 redirect to the replacement
- Page is intentionally light (e.g., expected empty search result): rewrite to have meaningful content even when “empty” — suggestions, related searches, helpful messaging
For SPA-driven sites: ensure the routing logic returns proper 404 status for invalid routes, not the 200-status SPA shell.
Detection
Use:
- Search Console Coverage report → “Soft 404” group
- URL Inspection tool → check what Google currently sees for the URL
- Crawl with Screaming Frog / Sitebulb → custom extraction for “404”/“not found” strings in body content while status is 200
- Server logs → detect URLs that consistently get crawled but produce error patterns
Resocial perspective
Soft 404s are one of the most common findings in our technical audits. Pattern: clients accumulate them over years without realizing — every CMS export, every framework migration adds new ones. Our nightly audit specifically watches for soft 404 patterns and surfaces them as tickets. See our Technical SEO service.
- Resocial service →
/services/seo/technical-seo/ - Read on the blog →
/blog/technical-seo-complete-guide/