// glossary

Soft 404 Error: What It Is and How to Fix It

A soft 404 is a missing or empty page that returns HTTP 200 instead of 404/410. Learn how to detect, diagnose, and fix soft 404s to protect crawl budget.

// updated:

A soft 404 error is a page that looks empty, missing, or “not found” to a user and to Google, but the server still answers with an HTTP 200 OK status instead of a real 404 or 410. Google catches the mismatch, labels the URL “Soft 404” in Search Console, and quietly drops it from the index. The fix is almost always to make the status code tell the truth: return 404/410 for gone pages, redirect when there’s a real replacement, or beef up the thin page if it deserves to exist.

Soft 404 Error

A soft 404 error is when a server returns a success status (typically 200 OK) for a page that is actually missing, empty, or shows a “not found” message, causing search engines to treat the URL as nonexistent despite the positive HTTP response.

Why the Status Code Mismatch Matters

Search engines lean on HTTP status codes as a primary signal for what to crawl, index, and keep. A 200 OK is a promise: this URL has real content, index it. A soft 404 breaks that promise. The body says “Sorry, this page doesn’t exist,” but the header says everything’s fine.

Google’s systems are good enough to read the page and notice the contradiction — that’s exactly what the “Soft 404” label in Search Console means. But detection is heuristic and inconsistent. Some soft 404s get caught and excluded fast; others linger in the index for weeks, competing with your real pages and burning crawl budget you’d rather spend on URLs that convert.

This isn’t a cosmetic problem. We see soft 404s wreck indexation on large catalogs and pSEO builds more than almost any other technical issue, precisely because they’re invisible in a browser — the page loads, so nobody notices until rankings slide.

A 200 on a dead page is the SEO equivalent of a fire alarm that’s been disconnected. Everything looks fine right up until it isn’t.

Soft 404 vs. Hard 404 vs. Redirect

The cleanest way to think about it: a hard 404 (or 410 Gone) is the correct “this is missing” response. A soft 404 is a broken version of that response. And a redirect is what you use when there’s somewhere better to send the visitor.

ScenarioCorrect responseWhat a soft 404 does instead
Page deleted, no replacement410 Gone (or 404)Returns 200 with a “not found” template
Page moved to a new URL301 redirect to the new URL200, or 301 to the homepage
Out-of-stock product, will return200 + status messaging, or 404 if discontinuedEmpty 200 template with no content
Empty search / filter result200 (it’s a valid empty state) but noindexIndexable 200 flagged as soft 404
Temporarily down for maintenance503 + Retry-After200 on a broken/empty page

The trap is “soft redirects” — sending every removed URL to the homepage with a 200. Google explicitly treats a redirect to an irrelevant page (usually the homepage) as a soft 404, because the destination doesn’t match what the user asked for. If there’s a genuinely relevant replacement, redirect to that specific page. If there isn’t, let it die honestly with a 404/410. For deeper redirect mechanics, see our note on not-found 404 pages and avoiding a tangled redirect chain.

How Soft 404s Happen

Most soft 404s come from a handful of repeatable causes:

  • CMS and framework defaults. Many themes, plugins, and SPA routers render a generic “page not found” view for unknown URLs while keeping a 200 status — especially common in JavaScript apps that never set a real header. If you run a JS-heavy stack, our guide on JavaScript SEO covers how to surface correct status signals.
  • Thin and empty pages. Auto-generated category pages with zero products, expired listings, placeholder pages, or thin content returning 200 get reclassified as soft 404s even though they technically “exist.”
  • Faceted navigation and parameters. Sort, filter, and session-ID URLs spawn near-empty, near-duplicate pages at scale. Combined with crawl budget limits, these flood the crawler with low-value 200s.
  • Soft redirects to the homepage. Bulk-redirecting old URLs to / instead of relevant targets.
  • Proxy, CDN, and cache layers. A reverse proxy or stale edge cache serving an old “not found” snippet with a 200, masking the origin’s correct response.
  • Botched content removals. Workflows that strip the visible content but leave the URL live and answering 200.

Soft 404s on out-of-stock and seasonal pages

E-commerce is the worst offender. A discontinued product that returns an empty 200 page is a textbook soft 404. The right call depends on intent: if the product is gone forever, 301 to the closest live alternative or the parent category; if it’s coming back, keep it 200 with clear “currently unavailable” messaging and related products so the page still earns its place. Never dump it to the homepage.

How to Detect Soft 404s

You need three lenses, because no single tool catches everything:

  1. Google Search Console. The Pages report (under Indexing) lists URLs excluded as “Soft 404.” This is your ground truth for what Google itself has flagged — start here.
  2. Server logs. Filter for 200 responses on URL patterns you know should be gone (deleted products, old campaign pages). A 200 where you expected a 404 is a smoking gun.
  3. A site crawler. Screaming Frog, Sitebulb, or Ahrefs Site Audit will surface near-empty 200 pages, “not found” text on indexable URLs, and orphaned thin pages. Cross-reference against orphaned content, which often overlaps.

A fast manual spot-check: open the suspect URL, then check the response in your browser’s DevTools Network tab (or run curl). If the page says “not found” but the status is 200, that’s a soft 404.

# Check the real HTTP status code an unfortunately-named URL returns
curl -I -s -o /dev/null -w "%{http_code}\n" https://example.com/old-product-page
# A deleted page should print 404 or 410 — if it prints 200, it's a soft 404

How to Fix Soft 404s

Match the response to reality. There’s no universal fix — there’s a correct fix per case:

  • Gone for good, no replacement → return 410 Gone (preferred — it’s the explicit “permanently removed” signal) or 404.
  • There’s a real replacement → 301 redirect to that specific page, not the homepage.
  • The page should exist but is thin → improve it. Add unique, useful content, or merge it into a stronger pillar page within the relevant topic cluster.
  • Valid empty states (empty search, filters) → keep 200 but add noindex. See how to noindex URLs in WordPress for the practical implementation.
  • Fix the layer that’s lying. If a CDN, proxy, or JS router is suppressing the real header, fix the configuration so the origin status passes through to the crawler.

After fixing, use the Validate Fix button in the GSC Pages report to ask Google to re-crawl the affected URLs. Then keep an eye on log files and GSC over the following weeks — soft 404 cleanup is rarely one-and-done at scale.

Soft 404s and AI Overviews

In the AI-search era, the stakes are slightly different but not lower. Google’s AI Overviews and other generative surfaces draw from the indexed corpus — a soft 404 simply never makes it in, so it can’t be cited or summarized either way. More importantly, a sprawl of low-quality 200 pages drags on the site-level quality signals that influence whether your strong pages get surfaced at all. Clean status codes are table stakes for both classic ranking and AI visibility. If technical debt like this is piling up, a structured technical and content audit is usually where we start — and it’s a core part of our AI SEO services.

Frequently Asked Questions

What is a soft 404 error?

A soft 404 is a page that appears missing, empty, or shows a “not found” message but returns an HTTP 200 OK status instead of a proper 404 or 410. Search engines detect the mismatch between the empty content and the success code, treat the URL as nonexistent, and exclude it from the index.

How do I find soft 404 errors on my site?

Start with the Google Search Console Pages report, which lists URLs excluded as “Soft 404.” Cross-check with server logs (look for 200 responses on URLs that should be gone) and a crawler like Screaming Frog or Ahrefs. For any suspect URL, confirm the real status code in your browser’s DevTools Network tab.

Is a soft 404 bad for SEO?

Yes. Soft 404s waste crawl budget on dead URLs, can keep low-value pages indexed where they compete with real content, and drag down site-level quality signals. They also create poor user experiences. Detection is inconsistent, so soft 404s often linger and cause unpredictable indexation until you fix the underlying status codes.

What’s the difference between a soft 404 and a hard 404?

A hard 404 (or 410 Gone) correctly returns a 404/410 status for missing content, telling search engines to drop the URL. A soft 404 returns a 200 OK for missing content, which lies to crawlers. Hard 404s are the correct way to mark gone pages; soft 404s are broken and need fixing.

Should I redirect a soft 404 to my homepage?

No. Google treats redirects to an irrelevant destination — usually the homepage — as soft 404s, because the page doesn’t match user intent. Redirect only to a genuinely relevant replacement page. If no relevant alternative exists, return 410 or 404 so the URL is removed cleanly instead.

// related services

Put this knowledge to work

// ready to put it all together?

Founder-led SEO.
No dashboard theater.

Book a call →

// or send a message

Tell us
about your site.

Drop your URL and we’ll give you an honest read — no pitch, no obligation. Prefer to talk live? Book a call →

// 30 min · intro, founder-to-founder

Book a call