Home / Core Health / Fix soft 404s — return a real 404 status code
On-Page SEO · Scan Check Guide

Fix soft 404s — return a real 404 status code

30 min Impact: medium Effort: medium ✓ Scan-verified — no manual checkbox

A soft 404 happens when a nonexistent page returns a normal 200 OK status instead of a proper 404 — Google has to guess whether the page is real or broken, wastes crawl budget trying to index a page that shouldn't exist, and sometimes indexes a generic error page as if it were real content.

If a broken URL returns HTTP 200 instead of 404, Google treats it as a real, valid page — indexing it, then quietly losing confidence in your site's signals when it eventually notices there's no real content there.

The full picture

Soft 404s occur when a page that should genuinely indicate "content not found" instead returns a successful, 200-status response while displaying error-like content — this technical mismatch confuses search engines about whether the page actually represents valid, indexable content or should be treated as a genuine error page.

This confusion can produce genuinely problematic outcomes — search engines might continue attempting to index and rank a page that's actually just displaying a "not found" message with no real content value, wasting crawl budget on content with no genuine indexing value while potentially also failing to properly recognize and handle content that actually should return a genuine error status.

The correction here requires ensuring your server actually returns the technically correct 404 status code whenever content genuinely doesn't exist, rather than displaying error-appearing content while technically indicating success — this technical alignment between the actual page content and its HTTP status code provides search engines with accurate, unambiguous signal about the page's genuine nature.

This issue commonly arises through certain content management system configurations or custom error-handling implementations that don't correctly set the underlying HTTP status code even while displaying appropriate error messaging to human visitors — verification requires checking the actual technical status code returned, not simply confirming the displayed content looks appropriately like an error page to a human visitor.

How to fix it

  1. 1
    Test a genuinely nonexistent URL
    Visit a random, made-up path on your site and check the actual HTTP status code returned, not just what the page visually shows.
  2. 2
    Fix the status code if it's returning 200
    Your server or CMS should return a real 404 status for genuinely nonexistent pages — this is a server-config or CMS-routing fix, not a content fix.
  3. 3
    Pair with a genuinely helpful 404 page
    A correct 404 STATUS with helpful 404 CONTENT (see the Custom 404 Page check) gives both the right technical signal and the right user experience.

Common mistakes

How you'll know it's done

A genuinely nonexistent URL returns a real 404 (or 410) HTTP status code, not 200.

Tools that help

H.I.V.E. checks this automatically

Fix it, then re-scan — the check confirms itself. No manual checkbox, the scan is the truth.

Run this check in H.I.V.E. →