“Soft 404” in Google Search Console
What the status means, whether it's a problem, and how to fix it, step by step.
Not indexed · Checked against Google's documentation on 2026-10-19
Short answerFix it
The server returns 200, but Google sees an error or empty page, so it won't index it. Return a real 404 or 410 for pages that are gone, redirect to a close replacement if one exists, add content to thin pages you keep, and fix rendering if Google sees an empty page.
Google: “The page request returns what we think is a soft 404 response.” Page indexing report help
What the status means
The server says the page is fine (status 200), but Google looks at the content and concludes it is really an error or empty page. Search Console then reports a soft 404 and keeps the URL out of the index. Google's help recommends returning a 404 response code for pages that truly don't exist.
“Soft” means the error is in the content, not in the status code. The fix is to make the two agree.
Is it a problem?
| What the URL is | Verdict |
|---|---|
| A deleted product or page that shows “not found” with status 200 | Fix the status code: return 404 or 410 |
| An out-of-stock product with an empty page | Fix it: keep useful content, or redirect to a close alternative |
| An empty category, search results with no results, a tag with one post | Fix it, or keep such pages out of search |
| A real page with content that Google misreads as empty | Fix it: usually a rendering problem |
| An old URL redirected to the home page | Can end up as a soft 404: the home page isn't what the URL promised. Redirect to a relevant page or return 404 |
Why it happens
- “Not found” pages that return 200. A custom error template or a single-page app that shows “page not found” without setting the status code. Common on JavaScript frameworks and some site builders.
- Thin or empty pages: categories with no products, empty search results, placeholder pages, profiles with no content.
- Redirects to irrelevant pages, especially many old URLs redirected to the home page.
- Content Google can't render. The page is full in the browser but the HTML Google renders is almost empty because a script failed or content loads after an interaction.
- Error messages in the content: “This product is no longer available” as the main text.
How to find the cause
- Open Indexing → Pages → Soft 404 and export the examples. Group them: deleted items, empty categories, redirects, real pages.
- Check the status code and the HTML with the checker below. It flags pages that return 200 but have a “not found” title or heading, or very little text in the HTML.
- For pages that look fine in the browser, use URL Inspection → Test live URL → View tested page. If the screenshot or HTML is empty, rendering is the problem.
How to fix it
Pages that don't exist anymore
- Return 404 (not found) or 410 (gone). Google drops 4xx URLs from the index.
- If a close replacement exists, such as a newer model of the same product, 301-redirect to it instead.
Single-page apps and headless sites
- Make sure the server sends the real status code for missing pages. In the Next.js App Router, call
notFound()while the page loads its data, before any content streams, so the response carries a 404; a client-side “not found” component alone returns 200. Check the result with the checker below. - For client-side routing, Google's JavaScript SEO guide gives two options: a JavaScript redirect to a URL that returns a real 404 (such as
/not-found), or anoindexrobots meta tag added to the error view.
Empty or thin pages you want to keep
- Add real content: for an out-of-stock product, keep the description, show alternatives and the expected restock date.
- For empty categories and search results, noindex them or don't link to them until they have content.
Redirects to the home page
- Point each old URL to the most relevant current page. If there is none, a 404 is the honest answer.
Rendering problems
- Fix the script that fails, or render the main content on the server so it is in the HTML from the start.
After fixing, use Validate fix for the issue in Search Console. Google says validation typically takes up to about two weeks.
What not to do
- Don't redirect every missing page to the home page. It hides the error from visitors, and the home page doesn't answer what the old URL promised.
- Don't stuff empty pages with filler text to avoid the status. Thin filler doesn't make a page worth indexing.
- Don't return 200 for “not found” just to keep the URL “alive”. A proper 404 doesn't hurt the rest of the site.
Check a URL
Paste one of the URLs from the report. The checker follows redirects and tests the status code, robots.txt, noindex and canonical.
Related statuses
- DependsNot found (404)The page returned 404, usually because it was removed.
- DependsCrawled - currently not indexedGoogle fetched the page but hasn't added it to the index.
- Usually finePage with redirectThe URL redirects elsewhere, so the target is indexed instead.
FAQ
It's more confusing. A real 404 tells Google and visitors clearly that the page is gone. A soft 404 says “OK” while showing an error, so Google has to guess. Google drops 4xx URLs from the index, which is what you want for removed pages.
Not on their own. Removed pages should return 404 or 410. They're a problem only when the URLs are still linked from your site or listed in your sitemap.
Usually because Google renders it as empty: content that loads only with JavaScript failed, or the main text is behind a click. Check the rendered page in URL Inspection.
Want us to look at your Search Console?
We go through the Pages report, crawl the site and tell you which statuses cost you traffic and which are harmless, with the fixes in priority order.