Skip to content
HTTP status codes for SEO: 404 vs 410, soft 404s, 5xx, and 429 — illustrated banner

HTTP status codes for SEO: 404 vs 410, soft 404s, 5xx, and 429

Google treats every 4xx except 429 the same way: the content does not exist, so 404 and 410 both remove a URL. A 200 page that says “not found” is a soft 404 and is excluded too. 5xx and 429 make Googlebot slow down, and URLs that keep returning server errors are eventually dropped from the index.

Share article:

Key takeaways

  • A 2xx does not guarantee indexing; a 4xx (except 429) means “does not exist”.
  • 404 and 410 are handled the same by Google; 410 is the more precise answer for deliberate removals.
  • Soft 404s are 200 responses that look like errors. Fix the status, not the copy.
  • 5xx and 429 slow crawling; use them for hours or a day or two, not longer.

The status code is the first thing a crawler reads and the last thing most people check. A page can look perfect in a browser and still answer 404, 503 or 200-with-an-error, and each of those means something specific to Google.

How does Google treat each class of status code?

StatusWhat Google does (per its documentation)
2xxPasses the content to indexing — but “a 2xx (success) status code doesn't guarantee indexing.”
301, 308Follows; a strong signal the target should be processed.
302, 307Follows; a weak signal the target should be processed.
4xx except 429“Treated the same”: the content doesn’t exist. Previously indexed URLs are removed; “newly encountered 404 pages aren't processed.” No effect on crawl rate.
429“A signal that the server is overloaded”; treated as a server error.
5xxCrawling slows down temporarily; URLs that “persistently return a server error” are removed from the index.

Is 410 better than 404?

For Google, they are equivalent: “All 4xx errors, except 429, are treated the same”. The difference is in the HTTP specification. RFC 9110 says a 410 means the resource is no longer available “and that this condition is likely to be permanent”, and that a server which does not know whether the condition is permanent ought to send 404. So: 410 for a product you deliberately discontinued, 404 for everything else. Either works for removal; neither needs a redirect unless there is a genuine replacement.

What is a soft 404?

Google defines it as “a URL that returns a page telling the user that the page does not exist and also a 200 (success) status code.” Common causes are a CMS that renders “no results” templates with 200, empty category pages, and blanket redirects of dead URLs to the homepage. Google also says an otherwise good page can be flagged when it “didn't load properly for Googlebot” or was missing critical resources.

# A soft 404: looks like an error, says 200
HTTP/2 200
content-type: text/html
<h1>Sorry, this product is no longer available</h1>

# The fix: the status agrees with the page
HTTP/2 410
content-type: text/html
<h1>Sorry, this product is no longer available</h1>

You can keep a helpful page body; only the status needs to change. If the content moved, a 301 to the new URL is the right answer instead.

The status code is the page’s first sentence to a crawler. If it says 200 and the page says “not found”, the crawler believes neither.

Adnan Arodiya, Crawlwise

How do 5xx and 429 affect crawling?

Google: “5xx and 429 server errors prompt Google's crawlers to temporarily slow down with crawling”, and once the server returns 2xx again, Google gradually increases the crawl rate. That makes 503 (or 429, defined in RFC 6585) the right answer for planned maintenance or an overloaded origin — for a short time. Google’s crawl-rate guide says to use 500, 503 or 429 for “a couple of hours, or 1-2 days” at most; “if Googlebot observes these status codes on the same URL for multiple days, the URL may be dropped from Google's index.”

Two traps. A 403 is not a slow-down signal: it is a 4xx, so Google reads it as “does not exist”. And a 5xx on /robots.txt is worse than one on a page: Google stops crawling the whole site for 12 hours. Our robots.txt data from 10,000 domains shows how often that file is unreadable in practice.

What should you check after a release?

  1. Your top landing pages return 200 directly, without redirects.
  2. Removed pages return 404 or 410, not 200 and not a redirect to the homepage.
  3. Moved pages return a single 301 or 308 to the final URL (see redirect chains and loops).
  4. No page you want indexed carries an X-Robots-Tag: noindex header (see noindex vs robots.txt disallow).
  5. robots.txt answers 200 or 404 — never 5xx.

How Crawlwise checks this

The free HTTP status code checker takes up to 10 URLs and, for each, requests it with redirects handled manually so it can record every hop: status code, Location header and time to response headers. For the final response it shows Content-Type, X-Robots-Tag and Cache-Control, and adds plain notes when a hop is a temporary 302 or 307, when a header says noindex, when the chain passes six hops, and when a 403 or 429 is probably a bot rule rather than a missing page. It sends one automated request from one location, so a site that answers bots differently can show a browser something else. It reads status codes, not page content, so it does not detect soft 404s; Search Console’s Page Indexing report does. For a single URL’s chain in detail, use the redirect chain checker.

What each check reads, what counts as a failure, and what the checks cannot see are written up on the methodology page.

What a plan actually costs

The free tools stay free. You can open them, run them, and leave without an account. A plan is for the moment you want the report saved, a few sites watched, or the same checks from the API. The price on this table is the price at checkout. A yearly plan is ten months of the monthly price, so two months are on us.

PlanMonthlyCreditsA good fit when
Starter$4.9910You look after one site and check it now and then
Pro$14.9940A few sites, plus the API and a handful of watched URLs
Studio$49.99150Client work that would burn through Pro mid-month
Agency$99.99400Many locations, reported under your own name

A single-page audit is about 1.25 credits, and that includes the live probe of answer-engine crawlers. You see the estimate before anything runs. If a hold is not used, it comes back to your balance. Extra credits, when you already subscribe, are $9.99 for 20.

Frequently asked questions

Is 410 removed faster than 404?

Google documents no difference: all 4xx errors except 429 are treated the same. RFC 9110 defines 410 as “likely to be permanent”, so it is the more precise answer when you know a page is gone for good.

Should a 404 page redirect to the homepage?

No. A redirect to an unrelated page is likely to be treated as a soft 404. Return 404 or 410 for content that is gone, and 301 only to a genuine replacement.

Does a 503 during maintenance hurt rankings?

Briefly, no — Google slows crawling and comes back. Google advises against doing it for longer than 1–2 days; if it sees these codes on a URL for multiple days, the URL may be dropped from the index.

Sources

Documentation was read on 2026-10-05. Search engines change these pages without notice, so check the original before you act on a detail.

Crawlwise status checker vs checking by hand

  • Final status for up to 10 URLs at once

    Crawlwise
    Yes
    By hand
    A curl loop
  • Every redirect hop with its Location header

    Crawlwise
    Yes, up to six hops
    By hand
    curl -IL
  • Shows X-Robots-Tag, Content-Type and Cache-Control

    Crawlwise
    Yes, on the final response
    By hand
    curl -I
  • Detects soft 404s from page content

    Crawlwise
    No — it reads the status code
    By hand
    Search Console Page Indexing report

Meet the author

Photo of Adnan Arodiya

Related articles