What Is HTTP Status Codes? SEO Glossary
Learn what HTTP status codes mean in SEO, why they matter, and how to handle them for better search rankings.
HTTP status codes are three-digit numbers that a web server returns in response to every request from a browser or search engine crawler. They communicate whether a request was successful, redirected, encountered an error, or failed for a specific reason. The codes and their meanings are defined by RFC 9110, the IETF specification that establishes HTTP semantics across HTTP/1.1, HTTP/2, and HTTP/3. Every time Googlebot visits one of your pages, the HTTP status code it receives determines how Google handles that URL in its index.
These codes are the language of communication between servers and clients. Understanding them is essential for SEO because the wrong status code can cause pages to be deindexed, link equity to be lost, or crawl budget to be wasted.
Why HTTP Status Codes Matter for SEO
Search engines rely on HTTP status codes to understand the state of your website. According to Google Search Central, a 200 response means Google passes the content to the next processing step and the indexing systems may index it. Google treats a 301 as a strong signal that the redirect target should be processed, while a 302 is only a weak signal. Google documents that URLs returning a 4xx status code are not indexed, and any already-indexed URL that starts returning a 4xx is removed from the index. For 5xx responses, already-indexed URLs are preserved at first but eventually dropped, and Google decreases its crawl rate proportionally to how often the errors occur.
Serving the wrong status code has real consequences. If a working page accidentally returns a 404, Google removes it from the index. If a permanently moved page returns a 302 instead of a 301, Google reads it as a weaker signal and may not consolidate the move the way you intend. If your server intermittently returns 503 errors, Google reduces its crawl rate, slowing down how quickly your new content gets discovered.
On large sites, status code issues multiply fast. A misconfigured server rule can send wrong status codes to thousands of URLs simultaneously. Monitoring and correctly implementing status codes is one of the foundations of technical SEO.
How HTTP Status Codes Work
Status codes are grouped into five classes based on the first digit:
1xx (Informational): The request has been received and processing continues. These are rarely relevant to SEO. The most notable is 103 Early Hints, which can preload resources before the full response, improving page speed.
2xx (Success): The request was successful. The most important is 200 OK, meaning the page exists and content was delivered successfully. This is what you want Google to receive for every page you want indexed.
3xx (Redirection): Further action is needed to complete the request, usually because the URL has moved. The SEO-critical codes here are:
- 301 Moved Permanently: The target resource has been assigned a new permanent URI given in the
Locationheader. Google treats this as a strong signal that the redirect target should be processed. Use for permanent URL changes. - 302 Found: Temporary redirect. Google follows it but treats it as only a weak signal toward the target, so the original URL tends to stay in the index. Use when the move is genuinely temporary.
- 307 Temporary Redirect: Has the same semantics as 302, with the difference that the request method must not be changed (a POST stays a POST). Google treats it as equivalent to 302.
- 308 Permanent Redirect: Has the same semantics as 301, with the difference that the request method must not be changed. Google treats it as equivalent to 301.
4xx (Client Error): The request was invalid or the resource cannot be found. Google does not index any URL returning a 4xx, and removes already-indexed URLs that start returning one.
- 404 Not Found: The server cannot find the requested resource. Google removes it from the index.
- 410 Gone: The content has been permanently deleted with no forwarding address, and clients are expected to remove their links to it. Google treats this similarly to 404 for indexing purposes.
- 403 Forbidden: The client's identity is known to the server but it is refusing access. Google will not index the page.
- 429 Too Many Requests: The client has sent too many requests in a given amount of time (rate limiting). Google treats it as a signal that the server is overloaded and slows its crawl rate.
5xx (Server Error): The server failed to fulfill an otherwise valid request. Already-indexed URLs are preserved at first but eventually dropped, and Google decreases its crawl rate proportionally to the error frequency.
- 500 Internal Server Error: A generic server failure used when no more specific 5xx code applies. Repeated 500s cause Google to crawl less and can eventually lead to URLs being dropped.
- 502 Bad Gateway: A server acting as a gateway received an invalid response from the upstream server.
- 503 Service Unavailable: The server is temporarily unable to handle the request, commonly during maintenance or overload, and should send a
Retry-Afterheader with the estimated recovery time. Google will retry later without penalizing rankings if it resolves quickly.
Best Practices for HTTP Status Codes
Ensure all live pages return 200. This sounds obvious, but misconfigurations, broken deployments, and edge cases can cause working pages to return wrong status codes. Regularly crawl your site to verify.
Use 301 for all permanent URL changes. Whenever you change a URL structure, migrate domains, or consolidate pages, 301 redirects preserve your SEO investment. Never use 302 for permanent moves.
Return 404 or 410 for genuinely removed content. Do not soft-404 pages by returning a 200 status code with "page not found" content. Google penalizes soft 404s because they waste crawl budget and confuse the index.
Handle 503 correctly during maintenance. When your site is temporarily down for maintenance, return 503 with a Retry-After header. This tells Google the downtime is temporary and to come back later. Never return 200 with a maintenance page, as Google may index that page as your actual content.
Monitor 5xx errors aggressively. Server errors are the most damaging status codes for SEO because they indicate your site is unreliable. Set up real-time alerting for spikes in 500-level errors.
Implement proper redirect chains. Avoid chains where URL A redirects to B, which redirects to C. Each hop loses a small amount of link equity and slows down both users and crawlers. Redirect directly from A to C.
Common Mistakes
Returning 200 for error pages is the most widespread mistake. Your custom 404 page should actually return a 404 HTTP status code, not a 200. Many CMS platforms and web frameworks serve a pretty "not found" page but with a 200 status, which Google calls a "soft 404." This is a significant crawl waste issue on large sites.
Using 302 redirects for permanent moves happens constantly because many developers and CMS tools default to 302. Google has gotten better at interpreting intent, but explicitly using 301 removes ambiguity.
Not handling server errors during deployments causes temporary ranking drops. If your deployment process has a window where the site returns 500 errors, Google may crawl during that window and record errors for your key pages.
Creating redirect loops where page A redirects to B and B redirects back to A makes both pages uncrawlable. Test your redirects after implementation to catch circular references.
Ignoring status codes in JavaScript-rendered sites is another gap. If your initial server response returns 200 but the client-side JavaScript renders a "not found" experience, Google may still index the empty shell page.
In Practice
Suppose you are retiring an old article at /blog/old-ranking-guide and have replaced it with /blog/ranking-guide-2026. The correct move is a single permanent redirect that sends both users and crawlers straight to the new URL. On an Nginx server the rule looks like this:
location = /blog/old-ranking-guide {
return 301 /blog/ranking-guide-2026;
}
You can confirm the server is sending the right code with a single header request:
$ curl -sI https://example.com/blog/old-ranking-guide
HTTP/2 301
location: https://example.com/blog/ranking-guide-2026
The key detail is the 301 on the status line and a single location hop. A common mistake here is returning 302 by default, which Google reads as only a weak signal toward the new URL, or chaining the redirect through an intermediate path so the response shows 301 to /temp and then another 301 to the final URL. Collapse every chain down to one hop so crawlers and users reach the destination in a single step. For a maintenance window, the equivalent correct response is 503 with a Retry-After: 3600 header rather than a 200 page that says "we will be back soon."
Related Terms
- What Is a 301 Redirect? covers the permanent redirect in depth, including when it consolidates ranking signals.
- What Is a 302 Redirect? explains the temporary redirect and why it behaves differently in search.
- What Is a 404 Error? details how missing-page responses affect indexing and how to handle them.
- What Is Crawl Budget? shows how repeated error responses waste the resources Google allocates to your site.
- What Is Indexing? explains the index stage that every status code ultimately influences.
Sources
- HTTP response status codes (MDN Web Docs), checked on 2026-05-30.
- How HTTP status codes, network and DNS errors affect Google Search (Google Search Central), checked on 2026-05-30.
- RFC 9110: HTTP Semantics (IETF), checked on 2026-05-30.
Conclusion
HTTP status codes are the foundation of how search engines understand your website's structure, health, and intent. Every page must return the correct status code, whether that is 200 for live content, 301 for permanently moved URLs, 404 for missing pages, or 503 for temporary downtime. Incorrect status codes waste crawl budget, lose link equity, confuse indexing, and ultimately cost you rankings. Audit your status codes regularly, monitor server errors in real time, and treat proper status code implementation as a non-negotiable part of your technical SEO foundation.
Related Articles
What are Backlinks? SEO Guide for Beginners
Learn what backlinks mean in SEO, why they matter, and how to use them to improve your search rankings.
What are Canonical Tags? SEO Guide for Beginners
Learn what canonical tags mean in SEO, why they matter, and how to use them to improve your search rankings.
What are Core Web Vitals? SEO Guide for Beginners
Learn what Core Web Vitals mean in SEO, why they matter, and how to use them to improve your search rankings.