HTTP Status Codes Explained: What They Mean for SEO
HTTP status codes tell you exactly what happened when a browser or crawler requested a URL. Here is what each code means and how they affect your SEO.
16 May 2026 · 7 min read
An HTTP status code is a three-digit number a server returns whenever a browser or crawler requests a URL. It tells the requester what happened: did the page load successfully, has it moved, does it not exist, or did something go wrong on the server?
Every time Googlebot crawls a page, it records the status code. Every time a user clicks a link, their browser receives one. Status codes are fundamental to how the web works, and understanding them is fundamental to technical SEO.
How status codes are structured
Status codes are grouped into five classes by their first digit:
| Class | Range | Meaning |
|---|---|---|
| 1xx | 100–199 | Informational |
| 2xx | 200–299 | Success |
| 3xx | 300–399 | Redirection |
| 4xx | 400–499 | Client error |
| 5xx | 500–599 | Server error |
For SEO purposes, 2xx, 3xx, 4xx, and 5xx are the codes that matter.
2xx: Success codes
200 OK
The request succeeded. The server returned the page as expected. This is the status every indexable page on your site should return.
204 No Content
The server processed the request but returned no content. This is not appropriate for HTML pages, and any page returning 204 will not be indexed.
3xx: Redirect codes
301 Moved Permanently
The page has permanently moved to a new URL. The redirect passes link equity (PageRank) to the destination. Use 301 for all permanent redirects: domain migrations, URL restructures, HTTP to HTTPS.
302 Found (Temporary Redirect)
The page has temporarily moved. Historically, 302s did not reliably pass link equity, though Google has become better at handling them. Use 302 only when the redirect is genuinely temporary: A/B tests, maintenance pages, seasonal campaigns.
307 Temporary Redirect
Similar to 302, but preserves the HTTP method used in the original request (GET, POST, etc.). Use 307 when the redirect is temporary and method preservation matters.
308 Permanent Redirect
Similar to 301, but preserves the HTTP method. Rarely needed for standard SEO use cases.
Redirect chains
A redirect chain occurs when a URL redirects to another URL that itself redirects: A to B to C. Each hop reduces the link equity passed and slows page load. Google will follow chains but stops after a certain number of hops, and each hop dilutes the signal. See how to find and fix redirect chains.
4xx: Client error codes
400 Bad Request
The server could not understand the request. Usually caused by malformed URLs or invalid query parameters. Not common in SEO audits but worth investigating if found.
401 Unauthorised
The page requires authentication. Googlebot will see this on pages behind a login and will not index them, which is usually the intended behaviour.
403 Forbidden
The server understood the request but refused it. Often caused by IP restrictions or misconfigured server rules. If Googlebot receives a 403, it cannot crawl the page.
404 Not Found
The page does not exist. 404s on URLs that used to exist and had backlinks pointing to them are a common cause of lost link equity. The fix is a 301 redirect to the most relevant live page, or to the homepage if no equivalent exists.
404s on URLs that never existed and have no inbound links are generally not a problem and do not need to be fixed.
410 Gone
The page has been permanently removed and will not return. Google processes 410s faster than 404s, removing the URL from the index more quickly. Use 410 for pages you have deliberately deleted and do not intend to replace.
429 Too Many Requests
The server is rate-limiting the requester. If Googlebot encounters too many 429s, it will slow its crawl rate. This is usually a server configuration issue rather than an intentional SEO decision.
5xx: Server error codes
500 Internal Server Error
Something went wrong on the server. The page cannot be returned. If Googlebot consistently receives 500s, it will reduce its crawl frequency for the affected URLs. Persistent 500 errors on important pages will cause them to drop out of the index.
502 Bad Gateway
The server received an invalid response from an upstream server. Common during traffic spikes or when a reverse proxy or CDN has a problem.
503 Service Unavailable
The server is temporarily unable to handle the request, usually because of maintenance or overload. This is the correct code to return during planned downtime, and Google will not deindex pages that return 503 briefly, as it understands temporary unavailability.
504 Gateway Timeout
The server timed out waiting for a response from an upstream server. Similar to 502 in cause and effect.
Which status codes pass link equity?
| Code | Passes link equity? |
|---|---|
| 200 | Yes (to the page itself) |
| 301 | Yes (to the destination) |
| 302 | Mostly yes (Google now treats most 302s similarly to 301s) |
| 404 | No |
| 410 | No |
| 5xx | No (temporarily) |
Pages returning 4xx and 5xx do not pass link equity. If a URL with valuable backlinks returns a 404, those links are effectively wasted until the URL is reinstated or redirected.
How to check HTTP status codes in bulk
Crawly's free HTTP status checker lets you paste up to 100 URLs and check the status code of each one instantly. It shows the final status code after following any redirects, along with the redirect chain if one exists.
For a full site audit showing status codes across every URL, use Crawly's desktop app. It crawls unlimited pages, records status codes for every URL, and groups broken pages in the issues dashboard automatically.
Understanding status codes is the starting point for diagnosing most technical SEO problems. Find broken links on your site and fix them before Googlebot finds them first.