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.
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.
A genuinely nonexistent URL returns a real 404 (or 410) HTTP status code, not 200.
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. →