Soft 404 Errors and How to Fix Them
A soft 404 is a page that tells visitors it does not exist while telling search engines the opposite. The page shows a “not found” message, an empty template or almost no content, yet the server returns a 200 status code that says the request succeeded. Google notices the mismatch, reports the URL as a soft 404 in Search Console and keeps it out of the index. Finding and fixing these pages is a routine part of technical SEO for ecommerce and B2B websites, because a few template problems tend to produce them in large numbers.
The fix is rarely difficult once the cause is clear. What a page says to people and what the server says to crawlers should agree. The sections below cover how the mismatch happens, how to find affected URLs in Search Console, which fix suits each case and how to stop the problem coming back.
What Is a Soft 404 Error
A soft 404 error is Google’s label for a URL that returns a success status code while its content looks like an error message, an empty page or a page with nothing useful on it. Google’s documentation on HTTP status codes explains that when a 2xx response contains content suggesting an error, Search Console shows a soft 404 error for that URL.
Every request to a web server returns a status code alongside the page content. A 200 means the page was found and served, a 301 means it has moved permanently and a 404 means nothing exists at that address. Crawlers trust the status code first, so a page that displays “not found” while sending a 200 gives two different answers to the same question.
How a Soft 404 Differs From a Hard 404
A hard 404 tells crawlers plainly that a page has gone, while a soft 404 leaves Google to work that out from the content. The same Google documentation explains that URLs returning a 4xx code are removed from the index if they were indexed before and are crawled less often over time.
A hard 404 is the correct response for a page that no longer exists and does no harm in itself. A soft 404 sends no such clear signal, so the URL can stay in the crawl queue long after its content has disappeared and Google has to keep checking whether anything has changed.
Google handles a 404 (not found) and a 410 (gone) in the same way, since its documentation groups all 4xx errors apart from 429 together. A 410 is still a tidy way to record that a removal was deliberate, but there is no search reason to prefer it over a 404.
What Causes Soft 404 Errors
Most soft 404 errors come from templates and platform settings rather than from individual pages. A single setting can produce thousands of them, which is why the cause matters more than the list of URLs.
The common causes are listed below. Many websites with a soft 404 problem have more than one of them at the same time.
- Custom error pages that show a “page not found” message but return a 200 status code
- Plugins or server rules that redirect every missing URL to the homepage
- Internal search results and filtered category pages that return no results
- Empty category, tag or archive pages left behind after content was removed
- Product pages that say little beyond “out of stock” or “no longer available”
- Thin pages, such as placeholders or pages with a heading and no body copy
- Pages built with JavaScript where the content fails to load when Google renders them
JavaScript deserves a specific mention because the server can return a 200 status for a page that only fills in its content after scripts run in the browser. If a data request fails or a product no longer exists, the visitor sees an error message while the status code still reports success. Google’s JavaScript SEO basics recommend either redirecting to a URL that returns a real 404 or adding a noindex robots meta tag to error pages in these cases.
Thin pages are the hardest case, because the URL may belong to a page that should rank. Google judges a page on what it can see, so a service page with a heading, a stock image and two lines of text can be classed as a soft 404 even though nobody meant it to look missing. Rendering problems more generally are covered in JavaScript SEO best practices, which is worth reading alongside any soft 404 report for a website built on a JavaScript framework.
Do Soft 404 Errors Hurt SEO
Soft 404 errors hurt SEO mainly by wasting crawling and by keeping pages that should rank out of the index. Google’s guidance on managing crawl budget lists eliminating soft 404 errors as one of the ways to improve crawl efficiency, because soft 404 pages continue to be crawled and waste budget that could go to new and updated pages.
Google analyst Gary Illyes raised the same point in comments reported by Search Engine Journal, warning that crawlers can keep returning to soft error pages and that those pages are filtered out during indexing. The harm is small when the flagged URLs are pages that should not exist. It is far larger when a real page is wrongly classed as a soft 404, since that page drops out of search and loses whatever traffic it used to earn.
Visitors pay a cost as well. A URL that stays in search results after its content has gone sends people to an empty template, which reflects badly on the brand and wastes the click.
How to Find Soft 404 Errors in Search Console
Soft 404 errors are listed in the Page indexing report in Google Search Console, among the reasons pages are not indexed. Google’s help page for the Page indexing report describes a soft 404 as a page that shows visitors a “not found” message without returning a 404 response code.
Work through the list in a set order so that each URL gets the right fix rather than the same fix applied everywhere. The steps below run from finding the affected URLs to confirming that Google has accepted the fix.
-
1
Open the Report
Open Page indexing and select Soft 404 from the reasons pages are not indexed. Export the list so the URLs can be sorted by folder and template.
-
2
Group the URLs
Sort the URLs into groups such as product pages, search results and archives. Each group usually shares a single cause.
-
3
Inspect Examples
Run a live test on a few URLs from each group in the URL Inspection tool. The screenshot shows what Google sees when it loads the page.
-
4
Apply the Fix
Choose a 404, a redirect, noindex or more content for each group. Change the template or setting rather than each URL by hand.
-
5
Validate the Fix
Click Validate fix in the report once the change is live. Search Console sends an email when Google has confirmed the fix or found remaining cases.
The URL Inspection tool is the quickest way to check a single page, since its live test shows a screenshot of the rendered page and whether Google could fetch it. A page that looks complete in a browser but empty in that screenshot points to a rendering problem rather than a content problem.
Validation is not instant, because Google has to recrawl each affected URL before the count in the report changes. Pages that Googlebot visits often clear first, while rarely crawled URLs can stay in the report for some time after they have been fixed.
How to Fix Soft 404 Errors
The right fix for a soft 404 is decided by what the URL used to be and whether anything should replace it. There are five sensible responses and each one suits a different situation.
| Situation | Response | Why it works |
|---|---|---|
| Content removed for good with no replacement | Return a 404 or 410 status code | Tells Google the URL has gone so it can drop from the index |
| A close replacement exists, such as a newer product | Permanent redirect to that page | Sends visitors and search signals to the nearest equivalent |
| The page should exist but has little content | Add content that answers the search | Gives Google a reason to index the page |
| The page helps visitors but not searchers, such as empty search results | Add a noindex tag | Keeps the page working while keeping it out of the index |
| Content loads with JavaScript and fails for Google | Fix the rendering or serve a real 404 for missing items | Makes the status code match what visitors see |
Redirects only work when the destination is a close match. Google’s guidance on moving a website with URL changes warns that redirecting many old URLs to one irrelevant destination, such as the home page, can confuse users and might be treated as a soft 404 error. A plugin that sends every missing URL to the homepage swaps one soft 404 for many. Redirected URLs that are working correctly appear in Search Console under the page with redirect status instead, which needs no action.
Noindex suits pages that visitors need but searchers do not, such as internal search results with no matches. Google’s documentation on blocking indexing with noindex notes that the page must not be blocked in robots.txt, because Google has to crawl the page to see the rule.
Type an address that cannot exist on your own domain and check the status code it returns in your browser’s developer tools. If that address comes back with a 200, every missing page on the website is a soft 404 waiting to be reported.
A missing page with a real 404 status can still help visitors. A good error page explains that the page has gone, offers a search box and links to the main sections, so people can carry on without the status code telling Google anything misleading.
Fixing Soft 404s on WordPress and WooCommerce
WordPress uses the theme’s 404 template when a requested address does not exist, so most soft 404s on WordPress come from plugins, theme code or content choices rather than the core software. The WordPress theme handbook on 404 pages covers how that template is built. A custom error page belongs in that template rather than in an ordinary page that missing URLs are redirected to.
The usual WordPress causes are redirect plugins set to send all 404s to the homepage, category and tag archives with no posts left in them and internal search pages that are open to indexing. Each is fixed at the setting or template level, which clears every affected URL at once. Thin archive pages that repeat content found elsewhere can also surface as duplicate pages without a user-selected canonical rather than as soft 404s.
WooCommerce stores add product pages to the picture. The WooCommerce product settings include an option to hide out of stock items from the catalogue, but that removes them from shop listings rather than deciding what the product URL itself should return.
A product that will come back should stay live with its full description, a clear stock message and links to similar items, so it does not look empty to Google. A discontinued product should redirect to its closest replacement or return a 404 if there is none. Stores with large catalogues usually handle this in the product template through WooCommerce development work rather than product by product.
Stopping Soft 404s From Coming Back
Soft 404s come back whenever products, templates or plugins change, so checking for them belongs on a regular schedule rather than in a single project. A monthly look at the Page indexing report catches new cases while they are still few. A sudden rise after a redesign or a bulk product change usually points straight to the cause.
Migrations deserve particular care because they change large numbers of URLs at once. Redirect mapping belongs in any SEO migration checklist for website redesigns, with every old URL pointing to its closest new equivalent rather than the homepage.
Server logs give the fullest view on larger websites, because they show which URLs Googlebot keeps requesting and the status code each one returned. Regular log file analysis for SEO confirms whether crawling has moved back to the pages that matter once the fixes are live.
Priority Pixels audits indexation status as part of its technical SEO work, with server log analysis and Search Console data used to show crawling patterns and indexation issues. Whoever does the work, the aim is the same, with every URL either returning content worth indexing or a status code that says plainly the page has gone.
FAQs
What is the difference between a 404 and a soft 404?
A 404 is a status code the server sends to say a page does not exist, which is the correct response for content that has been removed. A soft 404 is Google’s label for a page that looks missing or empty to visitors while the server returns a 200 success code.
Do soft 404 errors hurt SEO?
A handful of soft 404s on pages that should not exist do little harm, but large numbers waste crawling and keep empty URLs circulating. The bigger risk is a real page being wrongly flagged, because Google leaves it out of the index and it stops earning traffic from search.
Can a real page be wrongly flagged as a soft 404?
Google can flag a genuine page when it has very little content or when its content fails to load as Google renders it. Add useful content or fix the rendering, then run a live test in the URL Inspection tool and request indexing.
Should a deleted page return a 404 or a 410?
Google treats both status codes the same way, so either is fine for a page that has gone for good. A 410 records that the removal was deliberate, which some teams find useful when they review server logs later.
Is an out of stock product page a soft 404?
An out of stock page is not a soft 404 in itself, provided it still shows the product details and a clear stock message. It becomes a risk when the template strips the page back to a short notice, which can make it look empty to Google.