Soft 404: why Google treats your page as not found

Last updated: 2026-10-30

In short

A soft 404 is a URL that returns a 200 (success) status code but looks to Google like a not-found, empty or error page. Google excludes these pages from Search. Return a real 404 or 410 for missing pages, 301 redirect moved ones to a real replacement, and fix rendering for real pages that Google misread.

Exact label in Search Console: Soft 404

What it means

Google's Page indexing help says the page returns what Google thinks is a soft 404: a user-friendly not-found message without a 404 HTTP response code. Google's crawling guide adds that it can also be a page with no main content or an empty page, and lists causes such as a missing server-side include, a broken database connection, an empty internal search results page and an unloaded or missing JavaScript file.

Because the status code says success, Google has to infer from the content that the page is an error. When it does, the URL is excluded from Search and shows up as Soft 404. Google's crawl budget guide notes that soft 404 pages keep getting crawled and waste crawl budget, so fixing them also frees crawling for your real pages.

Is it a problem?

Yes, in most cases. Either a page that is really gone answers with 200, which wastes crawling and confuses visitors, or a real page renders so poorly that Google thinks it is empty. The second case is the urgent one, so check first whether the affected URLs include pages you sell or publish.

Common causes

Not-found pages that return 200

Custom error pages or CMS templates that show a not-found message with a 200 status code.

Empty listings and search results

Category, tag or internal search pages with zero items. Google names empty internal search results as a typical example.

Removed pages redirected to the homepage

Google's 404 help says redirecting visitors to an unrelated page such as the homepage, instead of returning 404, can be treated as a soft 404.

Rendering failures

Pages that depend on scripts, APIs or resources that fail for Googlebot, including resources blocked by robots.txt, render blank or nearly blank.

Unavailable items with little content

Product or listing pages that keep their URL but show little more than an out of stock or expired message.

Single-page apps

Client-side routing often serves 200 for every route, including missing ones. Google's JavaScript guide addresses this case directly.

How to fix it

  1. Gone with no replacement: return 404 or 410. If the page was removed and nothing similar exists, return 404 or 410. A helpful custom 404 page for visitors is fine, as long as the status code is 404.
  2. Moved: 301 redirect to the real replacement. If there is a clear replacement, add a 301 redirect to it, not to the homepage, and confirm the returned code in URL Inspection.
  3. Real page: fix what Google renders. Run Test live URL and open View tested page to see the screenshot and rendered HTML. If it is blank or shows an error, look for blocked or failing resources, server errors and slow or very large resources.
  4. Single-page apps: pick one pattern. Google recommends either a JavaScript redirect to a URL that returns a 404 status, or adding a robots meta noindex tag to error views with JavaScript.
  5. Empty pages: add content or keep them out. For empty categories and zero-result searches, either add useful content or keep them out of Search, for example with noindex or by not linking to them.
  6. Validate the fix. After fixing a pattern, click Validate fix on the Soft 404 issue. Google says validation typically takes up to about two weeks.

Check it with GSC Magic

gsc_inspect_urls_batch returns the coverage state and page fetch state for up to 500 URLs per call, so your assistant can separate soft 404s on important templates from leftovers on dead URLs. gsc_query_analytics shows whether those URLs used to get clicks, which tells you which ones are worth restoring. GSC Magic does not render pages itself; use Test live URL in Search Console to see what Googlebot rendered.

Prompts to copy

Inspect these URLs and list every one with coverage state Soft 404, grouped by directory, with the last crawl date for each.

For the Soft 404 URLs in this list, show their clicks and impressions over the longest period available so I can see which ones used to get traffic.

Check these product URLs and tell me which are Soft 404, which are Not found (404) and which are indexed, so I can decide what to restore, redirect or leave alone.

Guides on the blog

Frequently asked questions

Is a soft 404 worse than a real 404?

It is less clear to Google. A real 404 tells Google the page is gone and is a strong signal not to crawl it again. A soft 404 says success while looking like an error, so Google keeps crawling it and has to guess.

Should I redirect deleted pages to the homepage?

No. Google's 404 help says redirecting to another page, such as the homepage, instead of returning 404 can be problematic and is treated as a soft 404. Redirect only to a real replacement.

Why is a normal page flagged as a soft 404?

Google says it most likely did not load properly for Googlebot, was missing critical resources or showed a prominent error message during rendering. Check the screenshot and rendered HTML in the live test.

Does 410 work differently from 404?

Google's 404 help says it currently treats 410 the same as 404, and its crawling documentation handles all 4xx codes except 429 the same way.

Sources