WebCare.

WordPress problem fix

GOOGLE FLAGGED WORDPRESS PAGES AS 'SOFT 404' — HERE IS WHAT IT ACTUALLY MEANS

Soft 404 means the page returns HTTP 200 but Google decided the content looks empty, missing, or not-found. The status code is not the problem; the content signal is.

4 hour emergency response You only pay when it is fixed 150+ WordPress sites managed
Reviewed by Ali Yasin Jatoi, Founder & Lead Engineer

The short answer

A 'Soft 404' in Google Search Console means Google fetched a URL, got an HTTP 200 OK response, but decided the page content looks like a not-found, error, or thin-content page. Common WordPress triggers: (1) a theme's not-found template that returns 200 instead of 404 — usually a misconfigured custom 404.php, (2) empty taxonomy archives (a tag page with zero posts), (3) thin or templated landing pages that look like duplicates of each other, (4) search result pages indexed accidentally, (5) JavaScript-rendered content that fails to render for Googlebot, leaving an empty DOM, and (6) WooCommerce out-of-stock product pages that hide all content but stay live at 200. The fix is split into two paths. For pages that should not exist: return a real 404 or 410 so the URL leaves the index. For pages that should exist but look empty: add real content, fix the rendering, or restore the missing query. Pretending Soft 404s do not matter (or noindexing them) does not remove them from the report and tells Google your site has a quality problem at scale.

Is this your situation?

If any of these match, you are on the right page.

Search Console → Pages report shows URLs under 'Soft 404'

Visiting the URL in a browser shows a page that looks empty, broken, or like a not-found template

The URL returns HTTP 200 in curl -I instead of 404 or 410

Affected URLs are often /search/, /?s=, /tag/empty-tag/, or out-of-stock product URLs

JavaScript-heavy pages show content in the browser but appear empty when fetched with curl

What usually causes it

Why does Google flag a 200 page as Soft 404?

Because Google's HTTP status code and Google's user-perceived 'not found' decision are independent. A page that returns 200 but shows 'No products found' or 'Page does not exist' to the user is, from Google's perspective, a not-found page. Returning the wrong HTTP code is a signal-handling failure, and Google catches it.

Why are search result pages in the Soft 404 report?

WordPress's default search results URL (/?s=keyword) returns 200 even when zero results match. Google indexes the URL, sees 'Nothing found for X', and flags Soft 404. Most sites do not want search results indexed at all — block /?s= in robots.txt or noindex them via your SEO plugin.

Why do out-of-stock WooCommerce products trigger this?

If a product is sold out and the theme hides the add-to-cart, price, and description, the page looks empty even though the URL is live. Google decides it is not-found-equivalent and flags Soft 404. The fix is to keep meaningful content visible even when out of stock, or to redirect / mark the URL as 410 if the product is permanently discontinued.

How we fix it

The real method, in the order it works.

  1. 1

    Open the URL in DevTools. Look at the rendered HTML and the network status. Confirm the actual HTTP code (curl -I https://example.com/url). Determine: is the page meant to exist or not?

  2. 2

    If the URL should not exist (deleted product, empty tag, old campaign page): return 410 Gone. WordPress: add a redirect rule via Redirection plugin or .htaccess sending the URL to 410. Update sitemap to remove the URL. Submit to Search Console Removals tool to speed deindex.

  3. 3

    If the URL is a search result or empty taxonomy: noindex via your SEO plugin AND block /?s= and /tag/empty-tag-pattern/ in robots.txt. Both signals together; noindex alone leaves the URL in 'Discovered' purgatory.

  4. 4

    If the URL should exist but looks empty (out-of-stock product, broken JS render, missing query): fix the content. Add description, related products, restock dates, FAQ — anything that distinguishes the page from a not-found template.

  5. 5

    If the page is JavaScript-rendered and curl shows an empty DOM: fix server-side rendering or pre-rendering. Googlebot sometimes runs JS, but content that depends on async fetches after onload often does not render in the indexer's second pass. Either SSR the content or move the critical text into the initial HTML.

  6. 6

    If a custom 404.php in the theme is returning 200: fix the theme. The first line should send the 404 header: <?php status_header(404); ?> Most premium themes ship this correctly; custom-built themes often miss it.

  7. 7

    Re-request indexing on the fixed URLs in Search Console. For URLs you 410'd: submit to the Removals tool for fast deindex.

Real fix, from our work

How this one actually went down

A directory site had 1,800 URLs flagged as Soft 404. The previous developer had been adding noindex meta tags individually for months with no improvement. We split the report by URL pattern: 1,400 were /search/?q= search result URLs (should never have been indexed), 230 were /listing/expired-* (real expired listings still returning 200), 140 were /tag/ archives with zero posts, and 30 were genuine 'this content disappeared' bugs. Fix: blocked /search/?q= in robots.txt + noindex, set Redirection to 410 every /listing/expired-*, programmatically noindexed every taxonomy with under 3 entries, fixed the 30 content bugs. Soft 404 count dropped from 1,800 to 41 within 5 weeks. The 41 remaining were genuinely indexable thin pages that needed content work, which we then did. Soft 404 is rarely a status-code bug; it is usually a content-strategy bug pretending to be a status-code bug.

AJ

Written by Ali Yasin Jatoi

Founder of WebCare Studios. Ali has worked with WordPress for more than 10 years, including managing a fleet of 150+ sites with WP-CLI automation for updates, security cleanup, and malware removal. He has hands on experience across major hosts including Cloudways, A2 Hosting, Hostinger, and Bluehost.

Why owners pick WebCare

4 hour emergency response

Site down, hacked, or broken checkout gets a senior engineer within 4 hours. No ticket queues, no bots.

You only pay when it is fixed

Flat quote up front. If we cannot get you back online, you do not pay. Risk sits with us, not you.

Data safe approach

We work on a snapshot first and never touch your live database until the fix is verified safe.

150+ sites managed

We run a fleet of WordPress sites every day. The errors you are seeing are ones we have closed hundreds of times.

Common questions

Will noindex fix Soft 404?+

Sometimes, but not as fast as a proper 410 or 404. Noindex still requires Google to recrawl and reprocess the page. A 410 deindexes faster and tells Google the URL is gone forever. Use noindex for URLs you want to keep available to users but not in search; use 410 for URLs that should not exist at all.

Does Soft 404 hurt my rankings?+

Directly, no — a Soft 404 page does not pull down the rest of the site's rankings. At scale, yes — a site with thousands of Soft 404s is signaling quality problems to Google and may see crawl budget cut.

Why does my 404 page show in the Soft 404 report?+

Because it is returning 200 instead of 404. Run curl -I against your /404-page-that-doesnt-exist URL. If you see HTTP/1.1 200 OK, your theme's 404 template is misconfigured — see fix step 6.

Can I just delete the URLs to fix this?+

Deleting the page (so it returns 404) is fine. Even better: redirect via 410 Gone, which tells Google to deindex permanently rather than 'maybe come back later'. See our WordPress 302 redirect hack page for the 410 mechanics.

Why are some legitimate pages flagged?+

Either the page is too thin, the content is JS-rendered and Googlebot did not catch the render, or the template hides content under specific conditions (out-of-stock, login-required). Look at the rendered HTML Google sees (URL Inspection → View Crawled Page) and you will usually see the missing content immediately.

Send my site for triage in 15 minutes

Two fields. Email and your URL. A senior WordPress engineer reads it within minutes and replies on email and WhatsApp with what is wrong and what we will do next.

Two fields. Senior engineer replies within 15 minutes during business hours.

WhatsApp Get my site fixed

Proof and field guides

Real proof and field guides tied to "GSC: Soft 404 errors on WordPress".