Resources/Glossary/
HTTP Status Codes
Technical
Also called:
HTTP response codes, server response codes

HTTP Status Codes

THE SHORT ANSWER

HTTP status codes are three-digit numbers a server returns for every URL request, showing whether it succeeded (2xx), redirected (3xx), or failed because of the request (4xx) or the server (5xx).

HTTP status codes are three-digit numbers a web server sends back every time a browser or crawler requests a URL. They say whether the request worked, moved, failed because of the request, or failed because of the server. For SEO, they're the first thing a crawler reads, and they shape what gets indexed.

You rarely see them as a visitor, apart from the occasional "404 Not Found." But Googlebot and AI crawlers read them on every single request, and they act on what they find.

What are HTTP status codes?

An HTTP status code is part of the server's response header. It's defined in the HTTP specification (RFC 9110), and MDN's status code reference groups codes into five classes by their first digit:

  • 1xx Informational: interim responses while a request continues. Rarely relevant to SEO.
  • 2xx Success: the request worked. 200 OK is the normal answer for a live page.
  • 3xx Redirection: the content is somewhere else. 301 and 308 are permanent, 302 and 307 temporary, and 304 Not Modified tells a client its cached copy is still good.
  • 4xx Client error: the request can't be fulfilled, such as 404 Not Found, 410 Gone, 403 Forbidden or 429 Too Many Requests.
  • 5xx Server error: the server failed, such as 500 Internal Server Error or 503 Service Unavailable.

Why HTTP status codes matter for SEO

Status codes tell search engines what to do with a URL before they look at a single word of content. A page that returns the wrong code can be dropped from the index, kept when it should be gone, or crawled less often. According to Google's documentation on HTTP status codes, a 2xx response passes content on to indexing, though Google notes that a success code doesn't guarantee a page will be indexed.

The same logic applies beyond Google. AI crawlers that gather content for AI answers also request URLs over HTTP, so a site that serves errors or broken redirects gives every system less to work with.

How Google handles each status code class

Google's documentation describes how its crawlers react to each group. Here are the points that matter most.

2xx success

Google processes the content. If a 200 page shows an error message or is effectively empty, Search Console may flag it as a soft 404, meaning the page says "not found" while the server says "success."

3xx redirects

Google's crawlers follow up to 10 redirect hops by default. Google treats 301 and 308 as strong signals that the redirect target should be processed, and 302 and 307 as weak signals. See redirects for when to use each.

4xx client errors

Google ignores content on 4xx URLs, and indexed URLs that return them are gradually removed. Google treats 404, 410 and most other 4xx codes the same way: the content doesn't exist. These codes don't slow down crawling of the rest of your site. The exception is 429, which Google treats as a sign of an overloaded server.

5xx server errors

5xx and 429 responses cause Google to temporarily slow its crawl rate. Already indexed URLs are kept at first, but URLs that keep returning server errors are eventually dropped. Once the server returns 2xx again, crawling gradually speeds back up. This makes server reliability part of your crawl budget.

HTTP status codes in practice

Take a hypothetical online retailer that discontinues a product line. The team has three choices for each old product URL. If there's a close replacement, a 301 redirect sends shoppers and signals there. If the product is gone with no equivalent, a 404 or 410 lets Google remove the page cleanly. What the team should avoid is leaving the old page live with a "no longer available" message and a 200 status, which creates a soft 404.

During a planned outage for a platform upgrade, the same retailer can return 503 Service Unavailable, ideally with a Retry-After header, so crawlers know the downtime is temporary rather than permanent.

Best practices for HTTP status codes

  1. Return 200 only for real, working pages. Error pages and empty search results should not return success.
  2. Use 404 or 410 for removed content. Google treats them similarly, so pick either. Don't redirect everything to the homepage.
  3. Use 301 for permanent moves and keep redirect chains short.
  4. Use 503 for planned maintenance, not 404 or a 200 page that says "back soon."
  5. Don't use 401 or 403 to throttle Googlebot. Google advises against this and points to its crawl rate guidance instead.
  6. Check single-page apps. Client-side routing often returns 200 for everything. Google suggests redirecting to a URL that returns a real 404 or adding a noindex tag to error views (see JavaScript SEO).
  7. Monitor regularly. Use the page indexing and crawl stats reports in Google Search Console, plus a site crawler, to catch spikes in 4xx or 5xx errors.

Common misconceptions

  • "404s hurt my rankings." Not for the rest of your site. 404s are a normal part of the web. They only matter when the page should exist, or when important links point to it.
  • "410 removes pages much faster than 404." Google's documentation says all 4xx codes except 429 are treated the same way, including 404 and 410.
  • "A 200 means the page is fine." A 200 with thin or error content can still be treated as a soft 404.

How Butter approaches HTTP status codes

At Butter, status codes are one of the first things we check in a technical review, because they tell us what crawlers actually experience. On our GEO+SEO plan, technical fixes like broken links and crawl issues are part of the monthly work, which often means finding 404s with valuable backlinks, soft 404s and redirect chains, then fixing or flagging them. We look at status codes through a GEO lens too: if a page doesn't return a clean 200, neither search engines nor AI crawlers can use it.

Frequently asked questions

What is the difference between a 404 and a 410?

A 404 means the server can't find the page, while a 410 says the page was deliberately and permanently removed. Google treats both as signals that the content doesn't exist and gradually removes those URLs from its index.

What is a soft 404?

A soft 404 is a page that tells visitors it doesn't exist, or is nearly empty, while the server returns a 200 success code. Google may flag it in Search Console and exclude it from the index. Fix it by returning a real 404 or 410, or by redirecting to a relevant replacement.

Do 5xx errors hurt SEO?

Short outages usually don't cause lasting harm, but Google slows crawling when it sees 5xx errors. If URLs keep returning server errors, Google may eventually drop them from the index.

Sources and further reading

KEEP LEARNING

100 SEO and GEO terms explained in plain English.

Browse the full glossary →

Know the terms. Now get cited.

Request a free AI visibility audit and see where your brand shows up in ChatGPT, Perplexity, and Google. Starting at $399/month. Cancel anytime.

SCHEDULE A CALL