How Google decides a 200 page is really an error
Google reads the content, not only the status. In HTTP, a 200 (OK) status code means the request succeeded, which is why it contradicts an error message on the page. Google flags a 2xx response as a soft 404 when its content looks like an error: an empty page or an error message.
Typical causes in Google's documentation:
A missing server-side include, a broken database connection or an empty internal search results page.
Redirecting missing URLs to another page, such as the homepage, instead of returning a 404.
A page that references many resources Google cannot load (images, scripts) can render nearly blank and be classified as a soft 404.
When a valid page is flagged, Google says it likely failed to load for Googlebot, was missing resources it needs or showed an error message during rendering. For Google Search, a 2xx status code does not mean a page gets indexed.
Fixing a soft 404 by choosing the honest response
Google excludes pages it classifies as soft 404s from Search. Soft 404 pages keep being crawled and waste crawl budget. The fix depends on what the URL should be.
Removed, no replacement. If a page was removed with no similar replacement, Google says to return a
404or410status code. For Google, a410and a404currently mean the same thing.Moved or replaced. If the content moved or has a clear replacement, Google says to return a
301redirect to it.Valid page, wrongly flagged. Check the rendering causes above with the URL Inspection tool; fixing them is frontend development work.
A custom 404 page is fine for users, but the server must still send a 404 status code so the page is not indexed. Google says not to create fake content, redirect to the homepage, or block 404 URLs with robots.txt. For how status codes and redirects carry over in a platform move, see SEO migration from Drupal.
Why Pagepro unpublishes instead of shipping empty pages
When pages are not content-ready on launch day, Pagepro unpublishes them, so they return a real 404. Each page goes live when its content lands, not as an empty page.
Sources
- Troubleshoot Google Search crawling errorsGoogle · developers.google.com
- RFC 9110: HTTP SemanticsIETF · rfc-editor.org
- How HTTP status codes, and network and DNS errors affect Google SearchGoogle · developers.google.com
- 404 (Page Not Found) errors - Search Console HelpGoogle · support.google.com
- Optimize your crawl budgetGoogle · developers.google.com