Loading...

Skip to content
MemonaIQ
ToolsLearnCompany
Sign in
ToolsLearnCompanyBrowse all tools
Knowledge Center
In this topic
HTTP & The Web
How HTTP works: the life of one requestHTTP request anatomy: request line, headers and bodyHTTP response anatomy: status line, headers and bodyHTTP status codes: what each one means and what to doWhat is a redirect? Server, meta refresh and JavaScript301 vs 302 redirects: which to use, plus 307 and 308Redirect chains and loops: how to find and fix themSoft 404 errors: what they are and how to fix them
A-Z glossary
HomeKnowledgeHTTP & The Web
HTTP & The Web•4 min read•intermediate

Soft 404 errors: what they are and how to fix them

A soft 404 is a missing page that returns 200 OK instead of 404. What causes them, how to detect them with curl and Search Console, and how to fix them.

What a soft 404 is

A soft 404 is a URL that tells visitors the page doesn't exist, or shows no real content, while the server answers 200 OK. It is the term Google uses: Search Console lists such URLs as Soft 404 in its page indexing report.

Software reads the status code first. To a cache, a crawler or a link checker, 200 means the page exists and worked, so a not-found message sent with 200 looks like a real page.

You can keep the friendly not-found page. Only the status code needs to change.

Why soft 404s cause problems

Search engines have to work out from the content that the page is an error. Google's crawl budget guidance notes that soft 404 pages continue to be crawled and waste crawl budget that could go to real pages.

Audits are misled too. A status check sees 200 and reports a working page, so links that land on a soft 404 never show up as broken.

Caches can store a failure as a success. If a database outage renders an empty template with 200, a CDN may serve that empty page to everyone until it expires.

Common causes of soft 404s

Most soft 404s come from code that renders a page for any URL without first checking that the content exists:

  • A single-page app that serves the same index.html for every path, or a /products/[id] route that renders "Product not found" without setting a status, returns 200 for anything.
  • Internal search pages with no results, and tag or category pages with no items, return 200 with nothing on them.
  • Redirecting every missing URL to the homepage sends visitors somewhere they didn't ask for. Google's site-move guidance warns that it might treat such redirects as soft 404s.
  • A custom error page set up as a normal page, or an error handler that renders a message without setting a status code, answers 200.
  • A deleted product or listing left in place as a shell that only says it is no longer available.

How to test a site for soft 404s

Request a URL that can't exist on your site and check the status code. You want 404 or 410. A 200 means a catch-all route is answering, and a 3xx usually means missing pages are being redirected.

Repeat the test for each kind of route, because product pages, search and blog posts often have their own handlers. Try a made-up product ID, a deleted item and a search with no results.

BASH Snippet
bash
# Expect 404 (or 410) for a page that doesn't exist
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/this-page-does-not-exist-7f3a9c

# If you get a 3xx, see where it sends visitors
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' https://example.com/this-page-does-not-exist-7f3a9c

Finding soft 404s across a site

The page indexing report in Search Console lists the URLs Google classified as Soft 404. In a site crawl, look for pages that return 200 but share a title such as "Page not found" or have almost no text.

Automated status checks see only part of the problem. MemonaIQ's URL Intelligence Platform flags only a 200 response with an empty body as a soft 404, so a not-found page with normal HTML looks healthy to it. The Website Launch Readiness Checker requests one random missing page to see whether your site answers 404.

How to fix a soft 404

Send the status code that matches reality, and keep the helpful page for people.

  • Return 404 for URLs that don't exist, with a custom page that offers search or links to popular sections.
  • Return 410 for content you removed on purpose and won't replace. Google's crawlers treat 404 and 410 the same way, so either works for search.
  • Redirect with a 301 only when a close replacement exists, such as a newer version of the same product.
  • In a server-rendered app, make sure the not-found branch sets the status, usually through the framework's not-found helper rather than a rendered message.
  • In an app rendered only in the browser, Google suggests a JavaScript redirect to a URL that returns a real 404, such as /not-found. Its other suggestion is a noindex robots meta tag added to error views with JavaScript.
  • Don't block missing URLs in robots.txt. Crawlers then can't fetch them and never see the 404.
  • If Google flags a real page as a soft 404, the page probably looked empty when Google rendered it. Inspect the URL in Search Console to see the rendered page, then add the missing content or fix the rendering error.
Previous guide
Redirect chains and loops: how to find and fix them
MemonaIQ tools

Try it on your own input

Check what this guide describes against your own URL, domain, code or file.

Website Launch Readiness Checker

Sign in to check whether a random missing URL on your site returns 404, alongside redirects, the certificate and robots.txt.

Open tool
URL Intelligence Platform

Check status codes for a list of URLs. Only a 200 response with an empty body is flagged as a soft 404.

Open tool

References

  • Google: How HTTP status codes affect Google's crawlers
  • Google Search Central: JavaScript SEO basics
  • Google: Crawl budget management

On this page

What a soft 404 isWhy soft 404s cause problemsCommon causes of soft 404sHow to test a site for soft 404sFinding soft 404s across a siteHow to fix a soft 404
Updated:2026-10-25
Format:Technical Guide
Related tool
Website Launch Readiness Checker

Sign in to check whether a random missing URL on your site returns 404, alongside redirects, the certificate and robots.txt.

Open tool
MemonaIQ

Focused tools for everyday digital work.

  • 18 focused tools
  • 9 run in your browser
Browse all tools Get help

Featured tools

URL Intelligence PlatformImage CompressorInvoice StudioDNS LookupAI Token Counter

Explore

All toolsKnowledge CenterGuidesResourcesCompany

Support

HelpContactSecurity

Legal

PrivacyTermsCookies

© 2026 MemonaIQ. Made in Colombo.

Back to top

MemonaIQ