Soft 404s

A soft 404 is a page telling the user a URL does not exist while returning an HTTP status code indicating success, typically 200. The server says "everything is fine" while the page content says "nothing is here."

The problem

A soft 404 creates a contradiction between the HTTP response and the page content. The 200 status code tells crawlers the page is valid and worth indexing. The page content (an error message, an empty template, or a "not found" notice) has no value in search results.

This contradiction wastes resources on both sides. Search engines crawl, render, and analyze the page only to discard the page. The crawl budget spent on soft 404 pages is budget not spent discovering or refreshing valuable content.

Google's Search Relations team has stated this distinction directly: "404/410, they don't waste crawl budget" because the server returns a status code and nothing else needs processing. A soft 404, on the other hand, means "you're not putting anything in the index and wasted crawl budget."

Crawl budget impact

Proper 404 and 410 responses do not waste crawl budget. The server returns a status code, the crawler records the result, and moves on. Soft 404s force the crawler to download the full page, render the DOM, analyze the content, and then discard the page, consuming resources at every stage.

How search engines detect soft 404s

Google uses multiple machine learning classifiers to identify soft 404s algorithmically. Detection happens after rendering. Google executes JavaScript and analyzes the rendered DOM, not the raw HTML source.

Signals triggering soft 404 classification:

  • Error phrases: text like "page not found", "no results", "not available", or "this page doesn't exist" in the rendered content
  • Empty or thin content: pages where the main content area is blank or near-blank after rendering
  • Template match: page content matching the site's known error page template
  • Irrelevant Redirects: 301 redirects from deleted pages to the homepage or a topically unrelated destination
  • Zero-result search pages: internal search result pages returning no matches

Detection runs independently per device type. A URL flagged as a soft 404 on mobile is not necessarily flagged on desktop, and vice versa. Since Google uses mobile-first indexing, Search Console primarily reports mobile soft 404 classifications.

Common causes

Incorrect status codes

The most straightforward cause: a custom error page returning 200 instead of 404 or 410. The page looks like an error to the user but looks like valid content to crawlers. This is a server configuration issue. The error page template exists but the HTTP response code is wrong.

JavaScript rendering failures

Single-page applications using client-side routing are prone to soft 404s. When a route does not exist, the SPA returns 200 (because the server served the application shell successfully) and renders an error message client-side. The HTTP status is 200, but the rendered content says the page does not exist.

The fix is to have the client-side router redirect to a server-configured endpoint returning a proper 404 status code.

Broken server-side includes

Missing database connections, failed API calls, or unloaded JavaScript files produce pages where the template renders but the main content is empty. The server returns 200 because the template loaded, but the page has no meaningful content.

Redirect chains to irrelevant pages

Redirecting deleted URLs to the homepage or a generic category page with a 301 is treated as a soft 404 by Google. The redirect target has no topical relationship to the original content. Google recognizes this pattern and classifies the redirect accordingly. The redirect does not pass ranking signals.

False positives

Google's soft 404 classifiers occasionally flag valid pages. Known triggers for false positives:

  • Negative language on valid pages: phrases like "out of stock" or "not available" on a product page still live and intentionally showing stock status
  • Thin but legitimate content: image galleries, interactive tools, or pages where the primary content is non-textual
  • Temporary rendering failures: if Googlebot encounters a transient issue accessing CSS, JS, or API endpoints, the page renders incomplete during the crawl and gets flagged
  • Blocked resources: CSS or JavaScript files blocked by robots.txt prevent proper rendering, making the page appear blank

Google Search Console reports soft 404s in the Page Indexing report under "Why pages aren't indexed." The report is sample-based and shows representative URLs, not an exhaustive list. Use the URL Inspection tool to see how Google renders any flagged page and verify whether the classification is correct. Bing Webmaster Tools also detects and reports soft 404 issues.

Site trust

A high volume of soft 404s erodes trust in server signals. Search engines expect the HTTP status code to accurately describe the state of the resource. When a site consistently returns 200 for pages no longer available, the reliability of all status codes from the site is diminished.

Common mistakes

Intentional soft 404s are often a misguided SEO attempt to preserve link equity (PageRank) from external backlinks to deleted URLs:

  • Redirecting a deleted URL with a 301 to a higher level in the site hierarchy, for example from /category/product to /category
  • Redirecting a deleted URL with a 301 to the homepage
  • Serving a deleted URL with a 200 response and canonicalizing to the homepage or a parent category via <link rel="canonical">

None of these strategies preserve link equity. Google classifies all of them as soft 404s and discards the redirect signal.

How to fix

Return the correct status code

If the content is permanently gone, return 410. If the content is temporarily unavailable or the server does not know whether the resource existed, return 404. If the content moved to a new URL, return 301 or 308 pointing to the specific replacement page, not the homepage.

Build a smart 404 page

A smart 404 page returns a proper 404 HTTP status code while displaying helpful content. The page maintains the site's design and navigation, tells the visitor the page was not found, and suggests alternatives based on the deleted URL's context.

HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8

<html>
<head><title>Page Not Found</title></head>
<body>
  <h1>Page Not Found</h1>
  <p>The page at this address no longer exists.
  Related content that replaced it:</p>
  <ul>
    <li><a href="/products/new">Current products
    </a></li>
  </ul>
</body>
</html>

The 404 status code tells crawlers to stop indexing the URL. The HTML content helps users find what they were looking for. Both goals are achieved without contradiction.

Smart 404 best practices

Include site navigation, a search bar, and links to related or popular content. Google recommends making 404 pages "useful" to visitors rather than showing a blank error. The helpful content on the page does not conflict with the 404 status code. Google understands the difference between the status code and the page content.

Validate in Search Console

After fixing soft 404 issues, click Validate Fix in the Search Console Page Indexing report to trigger recrawling. Affected pages return to the index once Google confirms the correct status code on the next crawl.

Note

For SEO assistance, contact ex-Google SEO consultants Search Brothers.

Takeaway

A soft 404 returns 200 for a nonexistent page. This wastes crawl budget, prevents proper deindexing, and erodes trust in server signals. The fix is straightforward: return 404 or 410 for removed content, 301 or 308 for relocated content, and build a helpful error page working with the correct status code rather than against the status code.

See also

Last updated: March 11, 2026