Technical SEO 10 min read

How to Fix Soft 404 Errors: Complete Troubleshooting Guide

Learn how to identify and fix soft 404 errors that hurt your SEO. Step-by-step guide to resolving soft 404s in Google Search Console.

By Rankture Team
How to Fix Soft 404 Errors: Complete Troubleshooting Guide

Soft 404 errors are one of the most confusing issues in SEO. Unlike regular 404s, soft 404s don’t return a 404 status code—but Google treats them as if they do.

Here’s how to identify and fix soft 404 errors on your website.

What Is a Soft 404 Error?

A soft 404 occurs when a page:

  1. Returns a 200 (OK) status code
  2. But displays content that looks like an error page

Google detects these pages and treats them as 404s, meaning they won’t be indexed.

Example scenarios:

Why Soft 404s Are Problems

1. Wasted Crawl Budget

Google crawls these pages thinking they’re valid, only to find they’re not useful. This wastes crawl budget that could be spent on real content.

2. Poor User Experience

Users clicking from search results land on empty or unhelpful pages.

Internal links pointing to soft 404 pages pass link equity to dead ends.

4. Index Bloat Prevention

Google’s soft 404 detection is designed to keep low-quality pages out of the index—but it can be overly aggressive.

Finding Soft 404 Errors

Google Search Console

  1. Go to Indexing > Pages
  2. Look for “Soft 404” in the “Not indexed” section
  3. Click to see affected URLs

Screaming Frog

  1. Crawl your site
  2. Go to Response Codes > Client Error (4xx)
  3. Filter by “Soft 404” if detected

Manual Testing

  1. View the page
  2. Check the HTTP status code (DevTools > Network)
  3. Does the content look like an error page?

Common Causes of Soft 404s

1. Out-of-Stock Product Pages

E-commerce sites often show minimal content when products are unavailable:

<!-- Triggers soft 404 detection -->
<h1>Product Name</h1>
<p>This product is currently unavailable.</p>

2. Empty Category/Tag Pages

Categories or tags with no posts:

<h1>Category: Vintage Watches</h1>
<p>No products found in this category.</p>

3. Parameter URLs with No Results

Search or filter pages returning empty results:

/search?q=asdfghjkl
/products?filter=nonexistent

4. Paginated Pages Beyond Content

Pagination pages that don’t exist:

/blog/page/999/

5. Deleted Content with Redirect Issues

Content was deleted but redirects don’t work properly, showing an error message with 200 status.

6. JavaScript Loading Failures

Pages that fail to load content via JavaScript, leaving empty containers:

<div id="content">
  <!-- JavaScript should populate this but failed -->
</div>

How to Fix Soft 404 Errors

Fix 1: Return Actual 404 Status Code

If the page truly doesn’t have content, return a real 404:

// Next.js example
export async function getServerSideProps({ params }) {
  const product = await getProduct(params.id);
  
  if (!product) {
    return { notFound: true }; // Returns 404
  }
  
  return { props: { product } };
}

Fix 2: Add Meaningful Content

If the page should exist, add substantial content:

Out-of-stock products:

<h1>Product Name</h1>
<p>Price: $99.99</p>
<p>This product is temporarily out of stock.</p>

<!-- Add value even when unavailable -->
<h2>Product Description</h2>
<p>Full product description here...</p>

<h2>Product Specifications</h2>
<ul>
  <li>Specification 1</li>
  <li>Specification 2</li>
</ul>

<h2>Similar Products</h2>
<!-- Show alternatives -->

Empty categories:

<h1>Vintage Watches</h1>
<p>Description of this category...</p>

<h2>Coming Soon</h2>
<p>We're adding products to this category.</p>

<h2>Related Categories</h2>
<!-- Show alternatives -->

Fix 3: Noindex Thin Pages

If you can’t add content but don’t want a 404, use noindex:

<meta name="robots" content="noindex, follow">

This tells Google not to index while still allowing link following.

Note: Google may still report soft 404s for noindexed pages. The key is they won’t affect your indexed pages.

Fix 4: Block with Robots.txt

For patterns of URLs you don’t want crawled:

User-agent: *
Disallow: /search/
Disallow: /*?filter=
Disallow: /*?q=

Fix 5: Redirect to Relevant Pages

If content moved or was consolidated:

# Old URL -> Relevant new URL
301 /old-product/ /replacement-product/

# Deleted category -> Parent category
301 /category/old-subcategory/ /category/

Fix 6: Fix JavaScript Rendering

If JavaScript fails to load content:

  1. Test page rendering in Search Console
  2. Fix JavaScript errors
  3. Implement server-side rendering
  4. Add fallback content for failed loads

Fix 7: Handle Empty Search Results

For search/filter pages with no results:

Option A: Return 404 for impossible searches

if (results.length === 0 && queryIsInvalid) {
  return { notFound: true };
}

Option B: Provide helpful content

<h1>Search Results for "query"</h1>
<p>No results found for your search.</p>

<h2>Suggestions</h2>
<ul>
  <li>Check your spelling</li>
  <li>Try broader terms</li>
</ul>

<h2>Popular Products</h2>
<!-- Show popular items -->

Option C: Noindex search result pages

<meta name="robots" content="noindex">

Specific Scenarios

E-Commerce: Out-of-Stock Products

Best approach:

  1. Keep the page with full product info
  2. Mark as out of stock clearly
  3. Show when it might be back
  4. Suggest similar products
  5. Offer email notification signup
<h1>Premium Widget XL</h1>

<div class="product-status">
  <p>Currently Out of Stock</p>
  <p>Expected back: February 2025</p>
  <button>Notify Me When Available</button>
</div>

<h2>About This Product</h2>
<p>Full description...</p>

<h2>Specifications</h2>
...

<h2>Similar Products</h2>
<div class="product-grid">
  <!-- Related products -->
</div>

E-Commerce: Discontinued Products

Options:

  1. 301 redirect to replacement product
  2. 301 redirect to category page
  3. 410 status (Gone) if truly gone
  4. Keep page with clear messaging and alternatives

Pagination

For pagination that goes beyond content:

// Return 404 for pages beyond content
if (page > totalPages) {
  return { notFound: true };
}

Or implement proper pagination with rel=“prev” and rel=“next”.

Soft 404 Audit Process

  1. Export soft 404 URLs from Search Console
  2. Categorize issues:
    • Out-of-stock products
    • Empty categories
    • Search results
    • Deleted content
    • JavaScript issues
  3. Prioritize by traffic potential
  4. Apply appropriate fix for each category
  5. Request re-indexing after fixing
  6. Monitor for resolution

Prevention Strategies

1. Content Validation

Before publishing, ensure pages have substantial content.

2. Automated Monitoring

Set up alerts for:

3. Product Lifecycle Management

Plan for product end-of-life:

4. Proper Error Handling

Ensure your CMS/framework returns correct status codes for missing content.

Soft 404 Fix Checklist


Related Resources:

Tags:

soft 404 404 errors technical seo search console crawling

Share this article:

Ready to improve your SEO?

Get a free SEO audit and see exactly what needs fixing on your site

Start Free Audit