Index My Site

Soft 404: make the page real or let it return a 404

The page loads with a success code, but Google thinks it looks like an error or an empty page. Here is what the status means, what usually causes it, and how to decide between a 404, a redirect, and more content.

What the status means

In the Page indexing report, "Soft 404" means the URL returned a 200 status code, but the page Google rendered looked like a "not found" page, an error, or an empty page. Google leaves it out of the index.

The server said success

The URL returned a 200 status code, not a 404 or 410.

The page looked like an error

Google read the rendered page and saw a "not found" message, an error, or little or no main content.

Google left it out

The page is not indexed. It is fixed when the status code and the page agree.

Definition from Google's Page indexing report help page.

Why Google sees the page as a soft 404

Google decides based on the content it renders. These are the usual reasons a 200 page looks like an error to it.

  • A "not found" page that returns 200

    The page tells visitors it does not exist, but the server sends a 200 status code. Custom error pages and catch-all routes often do this by default.

  • Empty search, category, or tag pages

    An internal search with no results, or a category or tag page with no items, has nothing on it except the template.

  • Out of stock or expired with nothing else

    A product, listing, or job page that only says it is unavailable, with no details, alternatives, or other useful content.

  • Thin placeholder pages

    Pages published before they have content, such as "coming soon" pages, empty profiles, or templates with no fields filled in.

  • A JavaScript app renders an error or nothing

    Client-side routing serves 200 for every URL, then shows a "not found" view or a blank screen. Scripts or API calls that fail for Googlebot have the same effect.

  • Error text in a working response

    A broken database connection, a missing include file, or a missing JavaScript file leaves an error message or an empty page behind a 200 status code.

  • Redirects to an unrelated page

    Sending many old URLs to the home page, or another page that does not replace them, can be treated as a soft 404.

Check the page for empty or thin content

Paste the URL from Search Console. The free checker shows whether Google can reach the page, whether it redirects, and reviews the content for thin or empty writing that could look like an error page.

This check helps you assess how likely your page is to be indexed. Use it as a guide, not proof that Google will index your page or has already done so.

Progress

Access and indexing settings

Content review

Already in Google?

Not checked

This check cannot confirm whether your page is already in Google, and it does not predict the outcome. It shows what could stand in the way.

· this address redirects to , which was not checked. Run a separate check on it.

Only part of this long page was reviewed.

Good to know

Completed before the check stopped

Fix it in this order

First find out what Google saw. Then pick one fix per URL: a 404 for pages that are gone, a redirect for pages that moved, or real content for pages that should be indexed.

  1. 1

    Look at what Google rendered

    Run a live test in URL Inspection and click View tested page. Check the HTTP response code and the screenshot. A blank page, a near blank page, or an error message explains the status.

  2. 2

    If the page is gone, return a 404 or 410

    For pages you removed with no replacement, send a real 404 or 410 status code. You can keep a friendly error page with links to your site. Only the status code needs to change.

  3. 3

    If it moved, redirect to the equivalent page

    Use a 301 redirect when there is a page that genuinely replaces this one. Do not send unrelated URLs to the home page.

  4. 4

    If the page should exist, give it real content

    Fill in placeholder pages, add details and alternatives to out of stock pages, and stop publishing empty search, category, or tag pages. Pages you cannot fill yet can be left out with a noindex tag or a 404.

  5. 5

    Fix rendering for JavaScript pages

    Make sure scripts, API calls, and other resources load for Googlebot and are not blocked by robots.txt. In a single-page app, redirect missing routes to a URL that returns 404, or add a noindex tag to the error view.

  6. 6

    Then resubmit pages that should be indexed

    Once the page returns 200 with real content, run the live test again, then request indexing in URL Inspection or submit the URL with Index My Site.

When resubmitting helps, and when it will not

Submitting asks Google to crawl the page again. It only helps if the page Google finds next time returns 200 and has real content.

It helps when

  • You added real content to a page that should be indexed
  • You fixed scripts or resources so the main content now renders for Googlebot
  • You removed error text from a page that works
  • A live test in URL Inspection now shows the full page

It will not help when

  • The page has not changed since Google flagged it
  • The page is gone and should return a 404 or 410 instead
  • It is an empty search, category, or tag page
  • The URL now redirects: submit the destination page instead

When you submit a URL, we check it first and skip redirects, noindex pages, robots.txt blocks, error pages, and pages that point to another page as the original, without charging. Then we help Googlebot discover and crawl it and search Google for the exact URL after 24 hours, again around days 3 and 7 if it is not found yet, with a full report around day 5and final checks around day 14. A URL confirmed as not indexed gets its standard credit back. Google still decides what it indexes. See Submitting URLs for the details.

Soft 404 vs Not found (404)

Both mean the page is not indexed. A 404 is the server saying the page does not exist. A soft 404 is Google deciding the page looks missing even though the server said it was fine.

Soft 404 compared with Not found (404)
QuestionSoft 404Not found (404)
What the server sentA 200 success status codeA 404 status code
What Google sawA page that looks like an error, a "not found" message, or an empty pageA page that says it does not exist, which is what the status code says too
Is it a problem?Usually. The server and the page disagree, so either the code or the page is wrongNot if the page was removed on purpose. Google says 404s are fine for pages with no replacement
What to doReturn a 404 or 410 if the page is gone, redirect if it moved, or add real content if it should existNothing if the page is gone. Redirect it if it moved, or restore it if it was removed by mistake
Does submitting help?Only after the page returns 200 with real contentNo. Submit the page that replaced it, if there is one
What the server sent
Soft 404A 200 success status code
Not found (404)A 404 status code
What Google saw
Soft 404A page that looks like an error, a "not found" message, or an empty page
Not found (404)A page that says it does not exist, which is what the status code says too
Is it a problem?
Soft 404Usually. The server and the page disagree, so either the code or the page is wrong
Not found (404)Not if the page was removed on purpose. Google says 404s are fine for pages with no replacement
What to do
Soft 404Return a 404 or 410 if the page is gone, redirect if it moved, or add real content if it should exist
Not found (404)Nothing if the page is gone. Redirect it if it moved, or restore it if it was removed by mistake
Does submitting help?
Soft 404Only after the page returns 200 with real content
Not found (404)No. Submit the page that replaced it, if there is one

Other Page indexing statuses

Each reason in the report needs a different fix. Find the one Search Console shows you.

Tools for getting pages indexed

Frequently asked questions

It is a URL that returns a 200 (success) status code but shows a page that looks like an error to Google: a "not found" message, an error message, or a page with no main content. Google excludes these pages from Search. Google recommends returning a 404 for pages that really do not exist, and adding more content to pages that do.

Source: Google Search Console Help: Page indexing report

Google judges the page it rendered, not the one you see in your browser. If scripts, images, or API calls failed to load, were blocked by robots.txt, or were too slow, Googlebot may have seen a blank or near blank page. Run a live test in URL Inspection and look at the screenshot and response code.

Source: Google Search Central: Troubleshoot Google Search crawling errors

It depends on what happened to the page. If it was removed with no replacement, return a 404 or 410. If it moved or has a clear replacement, use a 301 redirect to that page. Do not redirect many old URLs to the home page: Google says that can be treated as a soft 404 too.

Source: Google Search Central: Site moves and migrations

With client-side routing the server often returns 200 for every URL. Google suggests two options for routes that do not exist: redirect with JavaScript to a URL where the server returns a 404, such as example.com/not-found, or add a robots noindex meta tag to the error view.

Source: Google Search Central: Understand the JavaScript SEO basics

The flagged URLs are left out of Search. Google does not say they count against your other pages. They do waste crawls on pages that will not be indexed, and a soft 404 on a page that should rank is a lost page. Fix those first.

We check the page for redirects, noindex tags, robots.txt blocks, and error pages, then help Googlebot discover and crawl it. We check every URL once after 24 hours. Your full report follows around day 5, with final checks around day 14. If Google has not indexed the URL at the final check, the standard credit comes back. Submitting does not change how Google judges the page, so fix the content or the status code first.

Each sent URL costs 1 credit, which is $0.20, or $0.10 on purchases of $1,000 or more. URLs skipped before sending are not charged.

Fixed the page? Ask Google to crawl it again

Resubmit fixed pages from the web app, the API, the CLI, or your AI agent. Credits start at $25.