Guides

What Is a Soft 404 and How Do I Fix One?

What Is a Soft 404 and How Do I Fix One?

A soft 404 is a page that returns a 200 "OK" status while showing content Google judges to be missing or empty โ€” an error message, an empty results page, or a near-blank stub. Google excludes these from the index. The fix is to make the status code match reality: 404 or 410 if gone, 301 if moved.

The name is the confusing part. Nothing is "soft" about the outcome โ€” the page is excluded just as firmly as a hard 404 would be. What's soft is the signal: your server said everything was fine, and Google decided otherwise based on what it saw on the page.

Why it happens at all

HTTP has a clean way to say "this page doesn't exist": a 404 or 410 status code. But a great many pages that don't really exist still answer with 200, usually because a CMS or framework renders a template no matter what. Google's crawler compares the status line against the content it received, and when the two disagree, it trusts the content.

Google documents this directly in its HTTP status codes and errors guide: a soft 404 is reported when a page shows a "not found" style message but doesn't return the matching code. The report exists because the alternative โ€” indexing thousands of identical "sorry, nothing here" pages โ€” would be worse for everyone.

The seven patterns that trigger it

Pattern What the crawler sees Correct response
Custom error page served with 200 "Page not found" text, 200 status Return 404 from the error template
Deleted product or listing still rendering "This item is no longer available" 404/410, or 301 to the closest live equivalent
Empty search or filter results A results template with zero results Noindex the template; 404 if the URL is bogus
Redirect to the homepage Homepage content at an unrelated URL 301 to a relevant page, or 404
Thin stub or placeholder A heading and two sentences Write real content, or remove the page
Client-side rendering that fails An empty shell with no rendered content Fix the render; server-render the main content
Expired events, jobs or promotions Past-dated content marked unavailable 410 if truly finished, 301 to the current listing

The fourth row surprises people most. Redirecting a dead page to your homepage is treated as a soft 404, not as a working redirect, because the destination doesn't satisfy what the original URL promised. It's a common "fix" that quietly creates the problem it was meant to solve. A 301 only works when the destination is a genuine replacement โ€” see what is a 301 redirect for where the line sits.

The sixth row is increasingly common on JavaScript-heavy sites. If the meaningful content only appears after client-side rendering succeeds, a crawl that renders partially sees a near-empty page. The status was 200; the content was nothing.

How to find them

Search Console first. Page indexing โ†’ "Not indexed" โ†’ Soft 404. Google lists the affected URLs and lets you inspect any of them. This is the authoritative list, because soft 404 is Google's judgement rather than an objective property of the page.

Then check the status codes yourself. Request a URL you expect to be dead and read the first response line โ€” if it says 200 on a page showing "not found", you've confirmed the mismatch in one request. Do the same for a URL you invent at random, like /this-page-does-not-exist-12345. A correctly configured site returns 404 for that. Plenty don't.

Then crawl. Screaming Frog, Sitebulb or any site crawler will flag 200-status pages with near-identical thin content, which catches the patterns Search Console hasn't got to yet. Pair it with how to find broken links on your site, since the two audits share most of their work.

Choosing the right fix

Work through these in order for each affected URL:

  1. Should this page exist and have content? Then the problem is thin or unrendered content. Write it properly, or fix the rendering so the crawler receives it. A stub that exists only to hold a URL will keep getting excluded.
  2. Is there a genuine replacement? 301 to it. "Genuine" means a reasonable person landing there would consider the question answered โ€” the specific product's replacement, not the category, and never the homepage by default.
  3. Is it gone for good? Return 410. It means "gone" rather than "not found", and Google treats it as a firmer signal to drop the URL. A 404 works too and is fine when 410 is awkward to implement.
  4. Is it a legitimate empty state? Internal search results, empty filter combinations, an out-of-stock variant you'll restock โ€” noindex the template so it never enters the index in the first place. That's the same reasoning as noindexing thin tag and category pages.
  5. Is the 404 page itself the problem? Fix it once and it fixes every URL behind it. The error template should return a 404 status, say what happened, and offer real navigation โ€” search, top categories, the homepage โ€” so people don't just leave.

What you should not do is request indexing repeatedly on an unchanged URL, or bulk-redirect everything to the homepage to make the report empty. The first does nothing; the second converts a soft 404 report into a larger soft 404 report.

The backlink angle

A soft 404 with external links pointing at it is the expensive version of this problem. The links exist, other sites are sending people and signals to a URL, and the destination is excluded from the index โ€” so nothing lands anywhere useful.

Before you delete or 410 anything, check whether the URL has links. If it does, a 301 to the closest genuinely relevant page preserves most of the value; the same logic applies to do backlinks to a 404 page count and how to recover lost backlinks. Redirecting a linked page to your homepage is the worst option available โ€” it wastes the link and creates a soft 404 in one move.

The broader point is that links are hard-won enough to be worth routing carefully. If you're building them deliberately, Backlinkster is a 1-for-1 exchange where site owners in related niches trade in-content links and every placement is verified live by code, which also means a partner's link going dead doesn't go unnoticed. Free accounts get five verified swaps a month and the plans are here.

How long the fix takes to register

Google has to recrawl each URL before the report updates, so expect days to a few weeks for a handful of pages and considerably longer for thousands. The Search Console count falls gradually rather than all at once; that's normal and doesn't mean the fix failed. Validate the fix in the report once, then leave it โ€” repeated validation requests don't speed anything up. Crawled โ€“ currently not indexed covers the neighbouring status you may see some of these URLs move into, which is a different problem with a different fix.

Frequently asked questions

What does soft 404 mean in Search Console? It means Google requested the URL, received a 200 "OK" status, and then judged the page to be missing or empty based on its content. Because the status code and the content disagree, Google trusts the content and excludes the URL from the index.

What's the difference between a soft 404 and a 404? A 404 returns the correct "not found" status code, so Google drops the URL cleanly with no further work. A soft 404 returns 200 while showing nothing useful, which forces Google to decide the page is missing and reports it as an error you should fix.

Does a soft 404 hurt my rankings? It isn't a penalty and doesn't damage the rest of the site. But the affected URL can't rank, crawling spent on it is wasted, and any external links pointing at it deliver nothing. A large number of them also suggests site-wide template problems worth fixing.

Is redirecting a dead page to my homepage a fix? No. Google treats an irrelevant redirect to the homepage as a soft 404, because the destination doesn't fulfil the original URL's purpose. Redirect only to a genuine replacement page; otherwise return 404 or 410.

Should I use 404 or 410 for a page I deleted? Use 410 when the page is permanently gone and you don't expect it back โ€” it's an explicit "gone" signal and tends to drop out faster. Use 404 when that's simpler to implement or the removal might not be permanent. Both work.

Why does Google call my page a soft 404 when it has content? Usually because the crawler didn't receive that content. Client-side rendering that fails, content behind an interaction, or a page that's genuinely thin compared to what already ranks all produce the same result. Fetch the URL and check what comes back before rendering.

The bottom line

A soft 404 is a mismatch between what your server says and what your page shows. Find the list in Search Console, then decide per URL: real content, genuine 301, honest 404/410, or noindex for legitimate empty states. Check for external links before you delete anything. Fix the site-wide error template first โ€” on most sites it's one change that clears the majority of the report.

Related: Do backlinks to a 404 page count? ยท What is a 301 redirect? ยท How to find broken links on your site ยท Crawled โ€“ currently not indexed: what it means ยท How to recover lost backlinks

Keep reading

GuidesWhat Is Content Decay? (And How to Fix It)Read โ†’ GuidesWhat Is the Most Used SEO Tool? (The Answer Isn't the One You Pay For)Read โ†’ GuidesWho Is the Best SEO Expert in the World? (How to Actually Judge One)Read โ†’