Soft 404 in Google Search Console: What it means and how to fix it
A practical guide to "Soft 404" in Google Search Console: why Google labels 200 pages as not-found, the most common causes (empty templates, missing data, thin pages), and how to validate fixes.
A practical map of Google Search Console indexing statuses (Coverage): what each status means, the most common root causes (canonicals, duplicates, robots, redirects, soft 404s), and the fastest way to validate fixes.
Key takeaways
- A practical guide to "Soft 404" in Google Search Console: why Google labels 200 pages as not-found, the most common causes (empty templates, missing data, thin pages), and how to validate fixes
Contents
A soft 404 is when your server returns 200, but the page looks like "nothing" to Google.
It's one of the fastest ways to create crawl debt and "not indexed" noise.
Start with the status map:
Common causes
1) Missing content rendered as an empty template
Examples:
- dynamic route has no data, but still returns a "nice" empty UI
- a "post not found" message on a 200 page
Fix: return a real 404 (or 410 if intentionally gone).
2) Thin pages that don't satisfy any intent
Tokenized pages like {keyword} in {city} without substance are common soft-404 candidates.
Fix: either add real content/value or don't publish the page.
3) Wrong redirects that look like "bait and switch"
Redirecting unrelated old URLs to a generic page can look like a soft 404 pattern.
If you pivoted, do this instead:
Fix checklist
- For missing content: return 404/410 with a clear response.
- For thin pages: add real content (examples, steps, constraints) or remove.
- For template pages: ensure the main content exists in the HTML (SSR/SSG), not only after JS.
- For redirects: avoid chains and irrelevant destinations.
How to validate
In GSC URL Inspection:
- check the rendered HTML (is the content real?)
- check the screenshot (does it show an empty state?)
- check status code and redirect chain
If you also see "crawled/discovered not indexed", clean soft 404s first:
- Crawled - currently not indexed: what actually fixes it
- Discovered - currently not indexed: why it happens
FAQ
Is a soft 404 always a bug?
Not always. Sometimes it's Google telling you the page has no value. Treat it as a signal to either improve the page or remove it.
Should I block soft 404 pages in robots.txt?
Usually no. If you want Google to drop the URL, let it crawl and return the right status (404/410) or noindex.
Tags
More reading
- GSC Indexing Statuses Explained: What They Mean and How to Fix Them (2026)
- Redirect loop: How to find it and fix it (SEO + GSC)
- GSC redirect error: The fastest fix checklist (chains, loops, and canonical URLs)
- robots.txt unreachable: Why it happens and how to fix it
- Blocked due to access forbidden (403): Fix checklist for Googlebot
- Crawl anomaly in Google Search Console: What it means and how to debug