An HTTP status code is the three-digit number a web server sends with every response. It tells the browser or crawler whether the request worked, whether the resource has moved, or whether something went wrong. The codes are defined in RFC 9110, the current HTTP semantics specification.
At a glance
- Type
- three-digit number in every HTTP response
- Values
- five classes, 1xx to 5xx
- Affects
- crawling and indexing
- Specification
- RFC 9110, section 15
Last checked:
The five classes
The first digit sets the class; the last two digits have no grouping role. RFC 9110 requires clients to understand the class of any code and to treat an unknown code like the x00 code of its class, so an unrecognized 471 is handled as a 400.
| Class | Meaning | Examples |
|---|---|---|
| 1xx | Informational, request received and still in progress | 100 Continue, 103 Early Hints |
| 2xx | Success | 200 OK, 204 No Content |
| 3xx | Redirection, further action needed | 301, 302, 304 Not Modified, 307, 308 |
| 4xx | Client error | 403 Forbidden, 404 Not Found, 410 Gone, 429 Too Many Requests |
| 5xx | Server error | 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable |
Why do status codes matter for SEO?
A crawler reads the status code before it looks at content. Google documents how its crawlers react:
- 2xx: The content goes on to indexing. A 200 doesn’t guarantee the page will be indexed. A 204 means Google received no content to process.
- 301 and 308: A strong signal that the redirect target should be canonical.
- 302, 303, and 307: A weak signal for the target. For permanent moves, 301 or 308 fits better.
- Redirect chains: Googlebot follows up to 10 hops (HTTP status code documentation). For site moves, Google advises redirecting straight to the final destination, or keeping chains ideally to no more than 3 hops and fewer than 5 (site move documentation).
- 304: The content hasn’t changed since the last crawl.
- 404, 410, and other 4xx except 429: Indexed URLs are removed, and Google crawls them less often over time. Google’s Search Console help states that 404s don’t harm a site’s indexing or ranking.
- 429 and 5xx: Google slows down crawling of the site. Indexed URLs are kept at first and dropped if the errors persist.
Example
A store drops a product category for good and redirects the old URL to the parent category:
GET /women/running-shoes/trail/ HTTP/1.1
Host: www.example.com
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/women/running-shoes/
If there is no suitable replacement, 404 or 410 is the honest answer. RFC 9110 defines 410 as a resource that is no longer available and likely won’t return, while 404 leaves open whether the absence is temporary. Google treats both the same way in Search.
Common mistakes
- Soft 404: A page says “not found” or is empty but returns 200. Search Console reports these URLs as soft 404s.
- Temporary redirect for a permanent move: A 302 after a relaunch sends a weaker signal for the new URL.
- Maintenance page with 200: RFC 9110 (section 15.6.4) assigns 503 to temporary overload and scheduled maintenance, optionally with a
Retry-Afterheader. For 2xx responses, Google considers the content for processing, even if it is only a maintenance page. - 401 or 403 to slow crawling: Google advises against using them to limit crawl rate; 429 or 503 are the signals it reads that way.
FAQ
What are the most common 4xx errors? 400 Bad Request (malformed request), 401 Unauthorized (authentication required), 403 Forbidden (access refused), 404 Not Found, 410 Gone, and 429 Too Many Requests (rate limit reached).
What do 201 and 204 mean? 201 Created confirms that a request created a new resource, typical for APIs. 204 No Content confirms success without returning a body. Neither plays a role for normal web pages.
How do I check the status code of a URL?
In the browser’s developer tools under the Network tab, with curl -I https://www.example.com/ on the command line, or with a crawler that lists codes for every URL.
Sources
- RFC 9110: HTTP Semantics, Section 15 Status Codes – IETFrfc-editor.org
- HTTP response status codes – MDN Web Docsdeveloper.mozilla.org
- How HTTP status codes affect Google's crawlers – Google crawling documentation (updated Feb 4, 2026)developers.google.com
- 404 errors – Search Console Helpsupport.google.com
- Site moves with URL changes – Google Search Centraldevelopers.google.com
Last updated: