Search and SEO

What is Soft 404?

A soft 404 is a page that tells the user something is missing while returning HTTP 200 to the crawler. Search engines detect the mismatch and treat the URL as not found anyway — but the confusion wastes crawl attention and hides real problems.

Also called: soft not found

How they happen

  • A "no results" page returning 200
  • Mass redirects to the home page after a migration
  • An empty category page that still renders a template
  • A single-page application routing an unknown path to a generic view without changing the status

The correct behaviour

  • Genuinely missing: return 404, with a helpful page
  • Permanently gone and not coming back: return 410
  • Moved: 301 to the specific equivalent
  • Empty but valid: return 200 with genuinely useful content, or noindex it

Why it matters more on SPAs

A client-rendered application usually returns 200 for every path because routing happens in the browser. Without server-side handling, every typo becomes an indexable soft 404, which is one reason static generation is simpler to get right.

Where this is covered in depth

A definition can only go so far. Technical SEO, in the order the problems actually block you covers this properly — 4 minutes, free, no email required.

Who wrote this

Anas Bin Masud builds e-commerce sites and does technical SEO for businesses in the UK, Canada and Pakistan. These definitions come from client work rather than from a content brief — where an entry describes a mistake, it is usually one found on a real site. More about how I work.

Related terms

All 184 terms in the glossary →

Want this handled rather than explained?

Send the brief and you get a reply within one business day — either questions, or a scoping call. If your project is not something I should take on, I will say so then.

Response
Replies within 1 business day
Hours
Mon–Fri, 09:00–18:00 PKT — overlaps 05:00–14:00 UK, 00:00–09:00 US Eastern
Booking
Booking projects from October 2026
WhatsApp — opens a chat with +92 346 5348466 in a new tab