Google flagged your page as a soft 404 — but the page exists and loads fine. Now what?

This is one of the most misunderstood reports in Google Search Console because "soft 404" isn't a server error. It's Google's opinion that your page looks like a dead end, even though your server says otherwise. Sometimes Google is right. Sometimes it's wrong. The fix depends entirely on which scenario you're dealing with.

This guide gives you a repeatable workflow to diagnose soft 404s, decide whether they need fixing, apply the correct fix pattern, and verify the issue is resolved.

Who this guide is for

SEO practitioners and site owners who see "Submitted URL seems to be a Soft 404" or "Soft 404" exclusions in Google Search Console's Pages report — and need to decide what to do about them.

How this guide was built

Cross-referenced Google's official documentation on soft 404 detection, analyzed the top-ranking articles on this topic, and distilled the diagnosis patterns that come up repeatedly in technical SEO audits — particularly on ecommerce sites and content-heavy CMS platforms where soft 404s appear at scale.


What Is a Soft 404?

A soft 404 is a label Google applies to a page that returns an HTTP 200 (OK) status code but appears to contain no useful content — or content that signals "this page doesn't exist."

It is not a server status code. Your server never sends a "soft 404." Google assigns this classification after crawling and rendering the page.

In plain terms: your server says "everything is fine," but Google looks at the page and thinks "this is basically a 404."

Where soft 404s appear in Google Search Console

You'll find them in two places:

Location What it means
Pages > Not indexed > Soft 404 Google crawled the URL and decided not to index it
Pages > Error > Submitted URL seems to be a Soft 404 The URL is in your sitemap, but Google refuses to index it

The "Error" version is more urgent because you explicitly told Google this page matters (by including it in your sitemap), and Google disagrees.


Soft 404 vs. Hard 404 vs. 410: Quick Comparison

Signal HTTP status Who decides Effect on indexing
Hard 404 404 Not Found Your server Google drops the URL from its index
410 Gone 410 Gone Your server Google drops the URL faster (signals permanent removal)
Soft 404 200 OK Google's algorithm Google refuses to index despite the 200 status

The key distinction: hard 404s and 410s are explicit signals you control. Soft 404s are Google's judgment call — which means they can be wrong.


The First Thing to Check: Is Google Right or Wrong?

Before fixing anything, open the flagged URL and ask one question: does this page deliver value to a user who lands on it?

Decision framework

Is the page genuinely empty, broken, or useless?
├── YES → Google is right. Apply the appropriate fix (see Fix Patterns below).
└── NO → Google is wrong. The page has real content.
         ├── Is Google being blocked from rendering it? (JS, CSS, auth)
         │   ├── YES → Fix the rendering/access issue.
         │   └── NO → Is the content thin or using "404-like" language?
         │       ├── YES → Rewrite the problematic content.
         │       └── NO → Request re-indexing and monitor.

In practice: roughly 70% of soft 404 reports are legitimate — the page really is empty or broken. The other 30% are false positives caused by rendering issues, thin content, or unfortunate wording.


What Causes Soft 404s (and the Fix for Each)

Cause 1: The page IS a 404 but returns HTTP 200

Your custom 404 page displays an error message ("Page not found," "This page doesn't exist") but your server returns a 200 status code instead of 404 or 410.

Why it happens: Misconfigured CMS or server. Common in WordPress sites with poorly coded themes, or when a catch-all route serves the 404 template without setting the correct status code.

Fix: Configure your server or CMS to return the proper HTTP status code (404 or 410) for pages that don't exist. Then remove these URLs from your XML sitemap.

How to verify: Use curl -I <url> or Google Search Console's URL Inspection tool. The HTTP status should show 404 or 410, not 200.


Cause 2: Empty or near-empty pages

Pages with little to no meaningful content: empty category pages, tag pages with zero posts, search result pages with no results, product pages with no inventory.

Why it happens: CMS generates the URL automatically even when there's nothing to show. Common on ecommerce sites (empty product categories), WordPress (empty tags/archives), and faceted navigation.

Fix (choose one):

Scenario Best action
Page will never have content Return 404/410. Remove from sitemap.
Page might have content later Add noindex via meta robots or X-Robots-Tag. Remove from sitemap.
Page should have content now Add real, useful content to the page.

Cause 3: Redirects to irrelevant pages

You're redirecting a deleted URL to the homepage or a broadly irrelevant page. Google treats this as a soft 404 because the redirect destination doesn't satisfy the original query intent.

Why it happens: Mass redirects during site migrations, or ecommerce sites redirecting discontinued products to the category page or homepage.

Fix: Redirect to the most relevant alternative page. If no relevant alternative exists, return a 404 or 410 instead — it's better than a misleading redirect.

The rule: A redirect should only go to a page that satisfies the same user intent as the original URL. Homepage redirects almost always trigger soft 404s.


Cause 4: Content uses "404-like" language

The page has real content, but it contains phrases that trigger Google's soft 404 classifier:

  • "not found"
  • "no longer available"
  • "item not available"
  • "does not exist"
  • "out of stock" (in some contexts)
  • "no results found"
  • "this page has been removed"

Why it happens: Product pages showing "out of stock" messages, search pages with zero results, pages with user-facing error messages that aren't actually 404s.

Fix: Rewrite the language. Instead of "This product is no longer available," try "This product is currently unavailable — here are similar options:" followed by actual alternatives. Give the page enough unique, useful content that Google sees value beyond the error-like phrase.


Cause 5: Google can't render the page

Google is blocked from accessing CSS, JavaScript, or other resources needed to render your page content. The raw HTML (before JS execution) looks empty, so Google classifies it as a soft 404.

Why it happens:

  • robots.txt blocks CSS/JS files
  • JavaScript framework renders content client-side but Google's renderer fails
  • Authentication walls or geo-restrictions block Googlebot
  • CDN or firewall blocks Googlebot's IP range

Fix:

  1. Use URL Inspection > "Test Live URL" > view the rendered screenshot
  2. Check if content appears in the rendered HTML
  3. If it doesn't: unblock the resources in robots.txt, or implement server-side rendering for critical content

Step-by-Step Diagnosis Workflow

Use this workflow when you have soft 404s to triage:

Step 1: Export the list

In Google Search Console, go to Pages > filter by "Soft 404" or "Submitted URL seems to be a Soft 404." Export the full list.

Step 2: Categorize by URL pattern

Group URLs by pattern. This tells you whether you have a systemic issue or isolated pages:

URL pattern Likely cause
/tag/* or /category/* with no posts Empty taxonomy pages
/product/* for discontinued items Redirect or content issue
/search?q=* Empty search results pages
/page/2/, /page/3/ (pagination) Paginated pages with no content
Random assortment Likely individual page issues

Step 3: Spot-check with URL Inspection

Pick 3-5 representative URLs from each pattern group. For each:

  1. Open the URL in your browser — does it have content?
  2. Run URL Inspection in GSC — check the rendered screenshot and HTTP response code
  3. Compare what you see vs. what Google sees

Step 4: Apply the fix pattern

Match each group to the appropriate cause above and apply the fix.

Step 5: Validate and request re-indexing

After fixing, use URL Inspection > "Request Indexing" for a sample of URLs. Monitor the Pages report over the following 2-4 weeks.


Bulk Triage: When You Have Hundreds of Soft 404s

Large sites (especially ecommerce) often surface hundreds or thousands of soft 404s. Prioritize:

  1. Fix sitemap URLs first — "Submitted URL seems to be a Soft 404" errors mean your sitemap is promising pages Google won't index. Clean your sitemap.
  2. Fix by pattern, not by page — if 500 URLs follow the same pattern (e.g., empty /tag/* pages), fix the template or rule once.
  3. Ignore excluded URLs that should be excluded — if Google correctly identifies pages as useless and excludes them, and you don't want those pages indexed anyway, this isn't a problem to solve.

Priority matrix

Condition Priority Action
In sitemap + has traffic/ranking potential High Fix immediately
In sitemap + genuinely useless Medium Remove from sitemap
Not in sitemap + excluded Low No action needed
False positive (real content, rendering issue) High Fix rendering/access

Verification Checklist

After applying fixes, confirm resolution:

  • URL returns correct HTTP status code (check with curl -I)
  • If 404/410: URL is removed from XML sitemap
  • If content fix: page has substantial, unique content visible to Googlebot
  • If redirect fix: destination is topically relevant to the original URL
  • If rendering fix: URL Inspection shows content in rendered HTML
  • URL Inspection shows "URL is on Google" or "Crawled - currently not indexed" (no longer "Soft 404")
  • Issue count in GSC Pages report decreases over 2-4 weeks

Do Soft 404s Hurt SEO?

Soft 404s don't directly cause a ranking penalty. But they create real problems at scale:

Crawl budget waste. Every soft 404 Google crawls is a crawl slot not spent on a page that could rank. On sites with thousands of pages, this matters.

Sitemap trust erosion. If your sitemap contains many URLs that Google classifies as soft 404s, Google may reduce trust in your sitemap overall — crawling submitted URLs less frequently.

Lost ranking opportunity. If Google incorrectly flags a valid page as a soft 404, that page won't appear in search results until you resolve the issue.

User experience. If soft 404 pages do appear in search results (before Google catches them), users land on dead-end pages.

For most sites under 10,000 pages, a handful of soft 404s won't cause measurable harm. At scale (50,000+ pages), systematic soft 404 issues can significantly impact crawl efficiency and indexation rates.


Dev Ticket Template

When you need to hand off soft 404 fixes to a developer:

Title: Fix soft 404 errors — [pattern description]

Context:
Google Search Console reports [X] URLs as soft 404.
These URLs match the pattern: [URL pattern]
Root cause: [cause from diagnosis]

Requirements:
- [ ] [Specific technical fix needed]
- [ ] Affected URLs removed from XML sitemap (if returning 404/410)
- [ ] Changes deployed to staging for verification before production

Verification:
- curl -I [sample URL] returns expected status code
- URL Inspection in GSC shows correct rendering
- Monitor GSC Pages report for 2-4 weeks post-deploy

Priority: [High/Medium/Low based on priority matrix]
Affected URLs: [count] — see attached export

Audit Notes Template

Use this format when documenting soft 404 findings in a site audit:

## Soft 404 Findings — [Site Name] — [Date]

### Summary
- Total soft 404s reported: [X]
- In sitemap (error status): [X]
- Excluded (not in sitemap): [X]

### Pattern Analysis
| Pattern | Count | Root cause | Recommended fix | Priority |
|---------|-------|-----------|-----------------|----------|
| [URL pattern] | [X] | [cause] | [fix] | [H/M/L] |

### False Positives Identified
- [URL]: [reason Google is wrong + evidence]

### Recommended Actions (ordered by priority)
1. [Action + expected outcome]
2. [Action + expected outcome]

### Expected Timeline
- Fixes deployed: [target date]
- Validation period: 2-4 weeks post-deploy
- Next check: [date]

FAQ

Does a soft 404 mean my page is penalized?

No. A soft 404 means Google has chosen not to index the page — it's an indexing decision, not a penalty. Your other pages are unaffected. However, if the pattern is widespread, it can waste crawl budget.

Should I fix soft 404s that appear as "Excluded" rather than "Error"?

Only if the excluded pages are ones you actually want indexed. If Google correctly excluded pages you don't care about (empty tags, outdated search result pages), you can safely ignore them. Focus on the "Error" status — those are pages in your sitemap that Google won't index.

How long does it take for soft 404 fixes to be reflected in GSC?

Typically 2-4 weeks after Google re-crawls the URL. You can speed this up by requesting indexing via URL Inspection, but Google still processes changes on its own timeline.

Can I just noindex soft 404 pages instead of fixing them?

Yes, if you don't want those pages indexed. Adding a noindex directive tells Google explicitly not to index the page. However, the "Soft 404" label may persist in GSC even with noindex — it'll just move to a different exclusion reason. The better long-term fix is to either serve proper 404 status codes or add real content.

Why does Google flag my page as a soft 404 when it has content?

Common causes: Google can't render the JavaScript that loads the content, the page uses language that triggers Google's soft 404 classifier ("not found," "no longer available"), or the content is thin enough that Google considers it functionally empty. Check the rendered screenshot in URL Inspection to see what Google sees.

My ecommerce site has thousands of soft 404s from discontinued products. What's the best approach?

Don't redirect them all to the homepage — Google will flag those redirects as soft 404s too. Instead: redirect to the most relevant alternative product or category page. If no relevant alternative exists, return a 410 (Gone) status code. Remove all affected URLs from your sitemap. Implement this as a rule in your CMS rather than fixing URLs one by one.


If you're triaging soft 404s across a large site, SEO Heatmap helps you visualize which sections of your site are affected and where to focus your crawl budget. Give it a try — it's free.