Soft 404 in Search Console: causes and how to fix it
Google thinks the page is an error page even though it returns 200. The usual causes, from empty categories to JavaScript, and the fixes.
Updated
Soft 404 means the page returned a success code (usually 200 OK), but Google thinks it is really an error or empty page, so it won’t index it. Google’s help page describes it as a page that shows a user-friendly “not found” message without returning a 404 status code. The fix is to make the status code and the content agree.
| Where it shows | Indexing, then Pages, under “Why pages aren’t indexed” |
|---|---|
| Is it a problem? | Yes for real pages; for removed pages, the status code needs fixing |
| What Google saw | A 200 response that looks like an error, an empty page or a dead end |
| Typical fix | Return 404 or 410, redirect to a match, or add real content |
What does “Soft 404” mean?
Google’s documentation on HTTP status codes says that when a page returns a 2xx code but its content looks like an error, Search Console shows it as a soft 404. Google decides this by looking at the page: tiny amounts of content, phrases like “not found” or “no results”, or a page identical to your error template.
Is it a problem?
Always worth a look, for two reasons. If the page is real and should rank, Google is not indexing it. If the page is genuinely gone, returning 200 tells Google to keep crawling a dead URL, and visitors and tools can’t tell it is missing. Either way, the status code is wrong for what the page shows.
What causes it, most likely first?
- Deleted or missing items served with 200. The CMS shows a “product not found” template but sends a 200 status.
- Empty listing pages: categories with no products, tag pages with no posts, internal search pages with no results.
- Thin pages: a heading and a sentence, or a placeholder for content not written yet.
- Mass redirects to the homepage or an unrelated page after removing content.
- JavaScript rendering failures: the content loads from an API that fails or is blocked for Googlebot, leaving an empty shell.
- Out-of-stock product pages with almost nothing left on them.
How do I fix a soft 404?
1. Look at the page the way Google does
In URL Inspection, run Test live URL and open View tested page, then the screenshot and HTML. If Google sees an empty template, a loading spinner, or an error message, that is why it called the page a soft 404.
2. If the page is really gone, return a real 404 or 410
Configure the server or CMS so missing products, deleted posts and invalid URLs return HTTP 404 (or 410 if gone for good), with a helpful not-found page for visitors.
3. If it moved, redirect it to the closest match
Use a 301 redirect to the specific replacement page. Don't send every missing URL to the homepage or a generic category; Google can treat those redirects as soft 404s too.
4. If the page is real, give it real content
Fill thin pages: add products to empty categories or noindex them while empty, add text and details to bare pages, and make out-of-stock product pages useful with availability info, specs and alternatives.
5. Fix rendering for JavaScript pages
If content loads from an API, make sure Googlebot can fetch those resources (not blocked by robots.txt), that the API answers quickly, and that a missing item makes the server send a 404 status instead of a 200 page that says not found.
6. Validate the fix
Click Validate fix on the Soft 404 reason in the Page indexing report once the pages are corrected.
How do I check that the fix worked?
For pages you made into real 404s, URL Inspection should show a 404 and the URL moves to Not found (404), which is the correct state. For pages you improved, it should show “URL is on Google” after the next crawl. Validation on the Soft 404 reason goes from Started to Looking good and Passed when the examples no longer qualify.
How long does it take?
Google re-evaluates each URL when it recrawls it. Requested pages often update within days; a large set can take a few weeks. Google says validation typically takes up to about two weeks, sometimes longer.
Check the status code a URL really returns with the free SEO checker.
Sources
Common questions
What is the difference between a soft 404 and a 404?
A 404 is an HTTP status code the server sends to say the page does not exist. A soft 404 is a page that returns 200 OK, as if everything were fine, but looks to Google like an error or an empty page. Google reports the second as a problem because the status code says the opposite of what the page shows.
Can a page with content be flagged as a soft 404?
Yes. Very thin pages, empty search results, category pages with no products, and pages whose main text says something like 'not available' or 'no results' can all be classified as soft 404s even when they return 200.
Are out-of-stock products soft 404s?
They can be, if the page shows little more than 'out of stock'. Keep useful information on the page and mark availability in Product structured data; if the product is gone for good, return 404 or redirect to a close replacement.