What Is Soft 404?

Flavio AmielWritten byFlavio Amiel Founder, Roborank
Updated July 15, 2026

A soft 404 is a URL that returns a success HTTP status code — typically 200 OK — while its content signals that the page does not exist, such as an empty page or a “not found” message. Because the status code and the visible content disagree, Google labels the URL a soft 404 and treats it as missing rather than indexing it.

Key Takeaways

How a Soft 404 Works

A soft 404 is not a status code — it is a diagnosis. It happens when a URL returns a success response, almost always 200 OK, while the content of the page communicates that there is nothing there. Google’s documentation describes the situation plainly: a soft 404 is shown when the content “suggests an error for Google Search, an empty page or an error message,” even though “the server responds with a 2xx success code.” The header and the body are telling opposite stories, and Google resolves the conflict by believing the body.

To understand why this matters, remember how a real 404 error is supposed to behave. The status code in the HTTP header is the machine-readable signal that a page is missing; Googlebot reads that code and drops the URL from the index cleanly. A soft 404 breaks that mechanism. The crawler receives a 200, which normally means “here is a valid page, index it” — but the content looks like an error. So Google cannot take the status code at face value, has to evaluate the content, and ultimately files the URL under “Soft 404” in the Page Indexing report rather than indexing it.

The cost is crawl budget. A clean 404 lets Google request a URL less and less over time. A soft 404 keeps looking like a live page, so the crawler keeps treating it as one — fetching it, rendering it, and re-evaluating it — spending resources it could have spent discovering pages you actually want in the index.

Common Causes of Soft 404s

Most soft 404s trace back to a handful of patterns:

Example of a Soft 404

The clearest documented example is the label itself, in Google Search Console’s Page Indexing report. When Google encounters a URL that fits the pattern, it lists it under the not-indexed reasons with the name “Soft 404.” The Help documentation defines that entry as a page that returns “a user-friendly ‘not found’ message without an actual 404 HTTP response code” — the exact contradiction described above, surfaced as a diagnosable status you can act on.

Walk through how a URL lands there. Suppose an e-commerce site discontinues a product at /shop/vintage-lamp and, instead of returning a 404, keeps the URL alive but renders an empty product template — no title, no price, no description, just the site chrome. The server sends HTTP/1.1 200 OK. Googlebot fetches the page, sees a success code, but finds content that reads as missing. Rather than index an empty page, Google files /shop/vintage-lamp under Soft 404 in the Page Indexing report and leaves it out of the index. The owner, checking the report, sees the flag and now has a concrete fix: configure the server to return a real 404 or 410 for discontinued products, or — if the lamp was replaced — 301 the URL to the genuine successor product, not the homepage. Either way, the header and the content stop contradicting each other, and the soft 404 clears.

The thing people get wrong

The trap almost nobody sets on purpose but everybody falls into is the blanket homepage redirect. A developer deletes a batch of URLs, doesn’t want the "ugly" 404s, and 301s all of them to the homepage. Every one of those is now a soft 404 in Google’s eyes: the request for a specific dead page resolves to a 200-status homepage that has nothing to do with it. I have seen sites with thousands of these, all quietly draining crawl budget while the owner congratulates themselves on a clean error report. The other frequent culprit is subtler — an out-of-stock product page that renders an empty template with no product and no message. To a crawler that reads like an error even though the server proudly returns 200. When content says "nothing here," the status code has to agree. Anything else is a soft 404 waiting to be flagged.

Fixing Soft 404s

Every fix comes down to making the status code tell the truth about the content. If the page is genuinely gone, serve a real 404 error or, for permanent removals, a 410 Gone. If the content moved, 301-redirect the old URL to its true equivalent — the specific replacement page, never a catch-all homepage redirect. And if the page was only accidentally empty, add the content that should have been there so it is no longer error-like. Once the header and the body agree, Google can either index the page or drop it cleanly, and the soft-404 flag in your Page Indexing report disappears on the next crawl.

Frequently Asked Questions

What causes a soft 404?
A server returning a success code (200) for a page whose content signals it is missing. Common triggers: redirecting deleted pages to the homepage, empty or thin pages, custom error pages served with a 200 code, and expired or out-of-stock listings that render blank templates.
How do I fix a soft 404?
Decide what the URL should be. If the page is genuinely gone, configure the server to return a real 404 or 410. If it moved, 301-redirect it to the true equivalent, not the homepage. If it should exist, add the missing content so the page is no longer empty or error-like.
Where does Google report soft 404s?
In Google Search Console’s Page Indexing report, under the not-indexed reasons. A URL listed as ‘Soft 404’ returned a success status but showed content that looked like an error or an empty page, so Google chose not to index it.
Do soft 404s hurt SEO?
They don’t apply a sitewide penalty, but they waste crawl budget on pages Google decides are missing anyway, and they can leave dead URLs lingering because the honest 404 signal never fired. On large sites, that wasted crawling can slow discovery of pages you actually want indexed.

The Bottom Line

A soft 404 is a lie the server tells by accident: the header says 200 OK while the page says there is nothing here. Google resolves the contradiction by trusting the content, flagging the URL as a soft 404 and declining to index it. The cure is to stop the contradiction — return a genuine 404 or 410 for pages that are gone, redirect moved pages to their real equivalents, and fill in pages that were only accidentally empty.

Sources

  1. Page Indexing report — Search Console HelpGoogle Search Console Help
  2. How HTTP status codes, and network and DNS errors affect Google SearchGoogle Search Central
Roborank does this

Roborank audits your site for technical issues like soft 404s and misfiring redirects, and shows you which URLs return the wrong status code so you can serve an honest one.

Audit your status codes →

Rank & Cash — the weekly SEO breakdown

One practical teardown a week on ranking in search and getting cited by AI. No fluff.