New ChatGPT vs Google Search Volume: What OpenAI’s 20% Claim Really Means

Technical SEO

Soft 404 Errors: What They Are and How to Fix Them

Search Console says some pages are soft 404s. Here is what Google means, why it happens, and how to decide between a 404, a redirect or better content.

Soft 404 Errors: What They Are and How to Fix Them

Quick Answer

A soft 404 is a URL that returns a 200 (success) status code but shows a "not found" message, an empty page or almost no main content. Google keeps these pages out of search. Fix them by returning a real 404 or 410 for removed pages, a 301 redirect to a relevant replacement for moved pages, or real, properly rendered content for pages that should stay.

Key Takeaways

  • A soft 404 is a page that sends a 200 status code but looks like an error or empty page to Google.
  • Common causes are empty category and search pages, bare out-of-stock pages, thin pages, home page redirects and JavaScript rendering failures.
  • Find them in Search Console under Indexing > Pages > Why pages aren't indexed > Soft 404.
  • Use URL Inspection's live test and screenshot to see whether Google rendered your content.
  • Return 404 or 410 for removed pages, 301 to a relevant match for moved pages, and add real content for pages you want indexed.
  • Soft 404s on junk URLs are low priority; soft 404s on pages you want to rank are urgent.
In this article
  1. What Is a Soft 404 Error?
  2. Why Soft 404 Errors Matter
  3. Common Causes of Soft 404 Errors
  4. How to Find Soft 404 Pages in Search Console
  5. How to Fix Soft 404 Errors
  6. When a Soft 404 Is Fine to Leave Alone
  7. Mistakes I See When People Fix Soft 404s
  8. Conclusion
  9. Frequently asked questions

If Search Console lists some of your pages as “Soft 404”, Google has decided those pages look like error pages even though your server says they are fine. A soft 404 is a URL that returns a 200 OK status code (the “success” signal) but shows a “not found” message, an empty page or almost no main content. Google keeps these pages out of its search results.

The fix is usually simple once you know which kind of soft 404 you have. Below I cover the causes, how to find them, how to fix each type, and when to leave them alone.

What Is a Soft 404 Error?

Every time a browser or Googlebot asks for a page, your server answers with a status code. A 200 means “here is the page”. A 404 means “this page does not exist”. A 410 means “this page is gone for good”.

A soft 404 happens when those two signals disagree. The server sends 200, but the page itself says something like “Sorry, we couldn’t find that” or shows nothing useful at all. Google notices the mismatch and labels the URL as a soft 404 instead of trusting the status code.

Here is a simple example. Someone types example.com/shoes/red-runner-42, but that product was deleted. Instead of a real 404, your shop shows a friendly “Product not found” message with a 200 status. For a person, that looks like an error page. For Google, it is a page that claims to work but doesn’t. That is a soft 404.

Google’s definition also covers pages with no main content, so a page can be flagged even if it never says “not found”.

Soft 404 vs Real 404 vs 410

Here is how they compare.

Response Status code sent What the visitor sees What Google does
Real 404 404 A “page not found” message Drops the URL from the index and crawls it less over time
410 410 A “page gone” message Treats it much like a 404 and removes the URL
Soft 404 200 An error message, empty page or very thin page Flags it as a soft 404, keeps it out of results, but may keep crawling it

A real 404 is not a problem in itself. It is the honest answer for a page that no longer exists. If you want a refresher on what each code tells Google, I covered them in my guide to HTTP status codes and SEO.

Why Soft 404 Errors Matter

The first problem is user experience. Google points out that returning a success code and then showing an error is confusing. The visitor thinks they reached a working page, and then they hit a dead end.

The second problem is crawling. In its guide on crawl budget for large sites, Google says soft 404 pages will continue to be crawled and waste your crawl budget (the number of URLs Googlebot is willing and able to crawl on your site). A real 404, on the other hand, is a strong signal not to crawl that URL again.

The third problem hurts most. Sometimes Google flags a page you actually want in search, and it quietly drops out of the index. In my experience, this is the case worth chasing first.

Common Causes of Soft 404 Errors

When I audit a site, the soft 404 list almost always falls into a handful of patterns. Knowing the pattern tells you the fix.

Empty Category and Internal Search Pages

A category page with zero products looks empty to Google. The same goes for filtered pages like “red shoes in size 14” that return no results, and for internal search pages that say “0 results found”.

The template loads fine, so the server sends 200, but the main area is blank or says “no results”. I usually see this on ecommerce sites after a seasonal range is removed and the category pages are left behind.

Out-Of-Stock and Discontinued Products

Google’s John Mueller has said that when a product page clearly shows the item is unavailable, Google may treat it more like a soft 404 and drop it from results. This is not automatic. A page that still has useful information, such as specs, reviews or details about when the product returns, can stay indexed.

So a page that shows only “Out of stock” next to an empty product box is at risk. A full product page with a clear stock notice is usually fine.

Thin or Nearly Empty Pages

Pages with almost no main content can also be flagged. Common examples:

  • Tag pages with a single short post excerpt.
  • Auto-generated location pages with just a heading and a contact form.
  • Author or profile pages with a name and nothing else.

If a page has a header, footer and sidebar but nothing meaningful in the middle, Google may decide it isn’t a real page.

Redirecting Old URLs to the Home Page

This is the cause I see most often after a site redesign. Someone deletes hundreds of old pages and sets up a rule that sends every missing URL to the home page with a 301 redirect.

It feels tidy, but Google has said for years that redirecting a removed page to an unrelated page, like the home page, can be treated as a soft 404. The visitor wanted a specific thing and got a generic page instead.

JavaScript Errors and Failed Rendering

Google renders pages (runs the JavaScript to build the final page) before it decides what the page contains. If that rendering fails, Google may see an empty shell or an error message instead of your content.

Google’s docs list the usual reasons a good page gets flagged this way:

  • The page did not load properly for Googlebot.
  • Critical resources, like JavaScript or CSS files, were missing or blocked by robots.txt.
  • The page showed a prominent error message during rendering, for example a failed API call that printed “Something went wrong”.
  • Resources were too slow or too large to load.

Single-page apps (sites where JavaScript handles all the page changes) are especially prone to this. The server often returns 200 for every URL, even ones the app then shows as “not found”.

Custom Error Pages That Return 200

A custom 404 page helps lost visitors, but the server must still send a 404 status code with it.

Some content management systems and hosting setups send 200 with the error page by mistake, which turns every broken link into a soft 404. This is one of the first things I check on a new site.

How to Find Soft 404 Pages in Search Console

Only Search Console shows which URLs Google itself has labelled as soft 404s. Crawling tools can guess, but they can’t see Google’s decision.

Use the Page Indexing Report

  1. Open Search Console and choose your property.
  2. Go to Indexing, then Pages.
  3. Scroll to the table called Why pages aren’t indexed.
  4. Click the row named Soft 404. If it isn’t there, Google hasn’t flagged any soft 404s right now.
  5. Look at the chart for sudden jumps, then review the example URLs below it. Google shows up to 1,000 examples.
  6. Export the list so you can sort the URLs into groups.

Google describes this row in its Page indexing report help page: the page returns a user-friendly “not found” message but not a 404 response code. Note that the Source column for soft 404s says “Website”, which means the fix is in your hands.

My habit is to sort the export by URL folder first. Usually one or two folders, like /category/ or /search/, explain most of the list. Then I can fix a template once instead of chasing single URLs.

Check Single URLs With URL Inspection

For any URL you think should be indexed, the URL Inspection tool shows you what Google saw.

  1. Paste the URL into the search bar at the top of Search Console.
  2. Click Test live URL to fetch the current version.
  3. Click View tested page.
  4. Open the Screenshot tab to see how Google rendered the page.
  5. Check the HTML tab to see whether your main content is in the rendered code.
  6. Open More info to look for page resources that couldn’t be loaded and JavaScript console errors.

A blank screenshot, a spinner or an error message means a rendering problem. If the screenshot looks fine, the page is probably too thin or reads too much like an error page.

Confirm the Status Code Yourself

Check what your server really sends, either in your browser’s developer tools (Network tab) or with a quick command-line request:

curl -I https://www.example.com/old-product
HTTP/2 200
content-type: text/html; charset=UTF-8

If a page you deleted answers HTTP/2 200, your server is creating soft 404s. Test a made-up URL like /this-page-does-not-exist-123 too. It should answer 404.

How to Fix Soft 404 Errors

Before fixing anything, ask one question for each group of URLs: should this page exist? Your answer decides the fix.

The Page Is Gone: Return a Real 404 or 410

If you removed the page and there is no replacement with similar content, Google recommends returning a 404 or 410. Keep your helpful custom error page, but make sure the server sends the right code with it.

A good custom 404 page says clearly that the page wasn’t found, keeps your normal design and menu, and links to popular sections or a search box.

Google treats 404 and 410 almost the same way. I use 410 when I know a whole section is gone for good, and 404 for everything else. In my experience, choosing between them makes very little difference. If a removed page needs to disappear from results quickly, I explain when that makes sense in my guide to the Search Console Removals tool.

The Page Moved: Redirect to the Closest Match

If the content moved or there is a clear replacement, use a 301 (permanent) redirect to that specific page. A discontinued product can go to its newer model. An old blog post can go to an updated version on the same topic.

The key word is “relevant”. Don’t send everything to the home page or to a top-level category just because it’s easy. If there is no close match, a 404 is the more honest and more useful answer. After setting redirects, check a few with URL Inspection to confirm they return the right code.

The Page Should Exist: Add Content or Fix Rendering

If Google flagged a page you want indexed, find out why it looks empty or broken.

  • Thin page: add real, useful content to the main area. For a service page, that could mean pricing details, process steps and common questions. For a tag page with one post, I’d usually merge it or noindex it rather than pad it.
  • Empty category: if products are coming back, add a short category description, related categories and a note about restocking. If the category is gone, return a 404 or redirect to the closest parent category. My guide to ecommerce category page SEO covers how to make these pages worth indexing.
  • Out-of-stock product: keep the full description, specs and reviews visible. Show the stock status clearly, and link to similar products. If the product is never coming back, redirect to a close alternative or return a 404.
  • Internal search results: I add a noindex robots meta tag to internal search pages. They rarely deserve a place in Google, and empty ones cause soft 404s.
  • Rendering problem: unblock any CSS or JavaScript files in robots.txt, fix failing API calls, and make sure errors in one script don’t stop the main content from loading.

Single-Page Apps: Two Options From Google

In a JavaScript app, the server often can’t return a real 404 for a missing item because the app decides what to show after loading. Google’s JavaScript SEO basics guide suggests two ways around this.

The first is to send the visitor with JavaScript to a URL where the server does return a 404:

fetch(`/api/products/${productId}`)
  .then(response => response.json())
  .then(product => {
    if (product.exists) {
      showProductDetails(product);
    } else {
      // the server returns a 404 status for this URL
      window.location.href = '/not-found';
    }
  });

The second is to use JavaScript to add a noindex robots meta tag to the error view, so Google knows not to index it. This only works if the page doesn’t already have another robots meta tag. If your framework supports server-side rendering, returning the right status code from the server is the cleaner fix, and that is what I’d recommend where possible.

Validate the Fix in Search Console

Once you’ve fixed every URL in the group, go back to the Soft 404 row in the Page indexing report and click Validate fix. Google will recrawl the affected URLs. It says validation usually takes up to about two weeks.

Validation stops if Google finds even one URL that still has the problem, so I check a good sample myself before clicking. If it fails, find the URL that caused it, fix it and start again.

URLs you fixed with a 404 will move to the “Not found (404)” row. That is expected.

When a Soft 404 Is Fine to Leave Alone

Not every soft 404 needs work. Search Console reports what Google saw, not what you must fix.

A soft 404 is usually fine when:

  • The URL really should not be in Google, such as an old search results page, an expired filter URL, or a broken link someone else made to your site.
  • The page is gone and nothing links to it from your own site.
  • The number is small and stable compared with your total page count.

Here Google has already reached the right result: the URL is out of the index. A proper 404 is still tidier, especially on large sites, but I wouldn’t put it above pages you want to rank.

A soft 404 is a real problem when:

  • Important pages you want indexed appear in the list.
  • The count jumps suddenly, which often points to a template change, a broken deploy or a migration.
  • Your custom 404 page returns 200, so every broken URL is affected.
  • Large numbers of old URLs redirect to the home page.

My rule of thumb: check the soft 404 row monthly, and always after a redesign, platform change or big product clear-out.

Mistakes I See When People Fix Soft 404s

A few fixes make things worse rather than better:

  • Adding filler text. Generic paragraphs don’t make an empty page useful. If the page has no real purpose, remove it properly.
  • Blocking soft 404 URLs in robots.txt. This stops Google from crawling them, so it never sees your 404 or noindex. Blocked URLs can also stay in the crawl queue longer.
  • Forgetting internal links. After removing pages, update menus, sitemaps and in-content links so you aren’t sending people and Googlebot to dead URLs. Your XML sitemap should list only pages that return 200 and that you want indexed.

Conclusion

A soft 404 is Google’s way of saying “your server says this page works, but it looks broken or empty to me”. Sort the flagged URLs into groups, decide whether each page should exist, and then return a real 404 or 410, set up a relevant 301, or give the page real content that renders properly.

Start with the Soft 404 row in your Page indexing report today and look for pages you actually want in search. If you find whole sections of empty or orphaned pages, it’s often a sign of a deeper structure problem, and my guide to site architecture for SEO is a good next step.

Frequently Asked Questions

What is the difference between a 404 and a soft 404?

A 404 is a status code your server sends to say a page doesn't exist. A soft 404 is a label Google applies when your server sends 200 (success) but the page looks like an error or is empty. The first is an honest answer; the second is a mismatch you should fix.

Do soft 404 errors hurt my SEO?

The flagged URLs are kept out of Google's results, so if they are pages you want to rank, you lose that traffic. Google also says soft 404 pages keep getting crawled, which wastes crawl budget on large sites. Soft 404s on junk URLs that shouldn't be indexed cause little harm.

Why is Google marking my good page as a soft 404?

Usually Googlebot couldn't render the page properly, important CSS or JavaScript was blocked, or an error message appeared while the page loaded. Very thin pages can also be flagged. Run a live test in URL Inspection and check the screenshot to see what Google saw.

Should I redirect deleted pages to my home page?

No. Google may treat redirects from removed pages to an unrelated page, like the home page, as soft 404s. Redirect only to a page that closely matches the old one, and return a 404 or 410 when there is no good match.

Is an out-of-stock product page a soft 404?

It can be. Google has said a page that clearly shows a product is unavailable may be treated like a soft 404. Keeping the full description, specs, reviews and links to similar products makes it more likely the page stays indexed.

How long does it take for Google to clear soft 404 errors?

After you fix the pages and click Validate fix in the Page indexing report, Google recrawls the affected URLs. Google says validation usually takes up to about two weeks, though large sites can take longer.

Should I use a 404 or a 410 for removed pages?

Both work. Google handles them almost the same way and drops the URL from its index. A 410 says the page is gone on purpose, so some people use it for content they know won't return.

Get the Next Guide in Your Inbox

Google updates, AI search changes and practical SEO guides. We email you when a new article is published, nothing else.

One email when we publish something new. No spam, unsubscribe in one click. Privacy

Written by Lovepreet Singh Digital Marketing Manager @ Softtrix
  • 12+ years in SEO
  • 331 articles
  • Punjab, India

Lovepreet Singh has been working in SEO for the last 12 years. He started as an SEO analyst, checking rankings and fixing on-page issues, and today he is Digital Marketing Manager at Softtrix Tech Solutions, looking after search and growth for client websites, from online stores to local service businesses.

  • AI Search & AEO
  • Technical SEO
  • Local SEO
  • Google Business Profile

Keep Reading