What Are HTTP Status Codes?
HTTP status codes are three-digit numbers servers generate in response to a client (e.g., a browser) request. They indicate whether the request was completed successfully.
For example, a 404 error is a common HTTP status code you might have seen.

If youâre a website owner, HTTP status codes give you important information for improving your websiteâs functionality and user experience. And they can impact your SEO.
Categories of HTTP Status Codes
There are five categories of HTTP status codes:
- 1XX (informational codes): The server received the request and is processing it
- 2XX (success codes): The server successfully received and processed the request
- 3XX (redirection codes):The server received the request, but thereâs a redirect to another destination (301 or 302 are common)
- 4XX (client error codes):The requested resource couldnât be found or reached due to a client error
- 5XX (server error codes): The server ran into an error when processing the request
A Complete List of HTTP Status Codes
| Code | Meaning |
| 1XX: Informational Responses | |
| 100: Continue | The server has received the initial request and is ready for the client to send the rest if it hasnât already |
| 101: Switching protocols | The server agrees to accept the clientâs request to change to a different protocol |
| 102: Processing | The server has received the request but hasnât completed it. This code has been deprecated. |
| 103: Early hints | The server sends hints about the expected final response while the response is still being processed |
| 2XX: Success Codes | |
| 200: OK | The request was successful. The specific response depends on the request method (GET, PUT, etc.). |
| 201: Created | The request worked, so a new resource was created |
| 202: Accepted | The request was accepted but hasnât been processed |
| 203: Non-authoritative information | The data returned is from a third party rather than from the original server |
| 204: No content | The request was successful, but there's no content |
| 205: Reset content | The request was successful, and the user agent (e.g., browser) should reset the document |
| 206: Partial content | The server is only sending part of the requested resource |
| 207: Multi status | Provides the statuses of multiple operations within a single response |
| 208: Already reported | Tells the client that a resourceâs information has already been included earlier in the response and wonât be repeated |
| 226: IM used (HTTP delta encoding) | The server successfully handled the request and returned a version of the resource that includes only the changesânot the full resource |
| 3XX: Redirection Codes | |
| 300: Multiple choices | Indicates there are multiple possible responses, and the user or client needs to choose one |
| 301: Moved permanently | The resource has permanently moved to a new web address. The server provides the new URL. |
| 302: Found | The resource has temporarily moved to a different web address. But it might move again. |
| 303: See other | The server is telling the client to get the resource from another location using a standard GET request |
| 304: Not modified | The response hasnât changed, so the client can keep using the cached version |
| 305: Use proxy | Indicates the client should use a proxy to access the resource. This code has been deprecated. |
| 307: Temporary redirect | The resource has temporarily moved, and the client should use the same HTTP method (e.g., POST) as in the previous request |
| 308: Permanent redirect | The resource has permanently moved, and the client must use the same HTTP method as in the previous request |
| 4XX: Client Error Codes | |
| 400: Bad request | The server canât process the request because of a client error |
| 401: Unauthorized | The client doesnât have the proper credentials to access the resource |
| 402: Payment required | Originally meant to indicate the requested resource requires payment, but itâs rarely used and doesnât have a standard purpose |
| 403: Forbidden | The client isnât authorized to access the resource, even though the server knows the clientâs identity |
| 404: Not found | The server canât find the resource. Often because a browser is requesting an incorrect URL or the content no longer exists. |
| 405: Method not allowed | The request method (e.g., GET) isnât allowed for the specified resource |
| 406: Not acceptable | The server canât provide a response in any format the client specified |
| 407: Proxy authentication required | A proxy server needs to authenticate the client before the request can be processed |
| 408: Request timeout | The server gave up waiting because the client didnât complete the request fast enough |
| 409: Conflict | The request conflicts with whatâs already on the server (e.g., two people editing the same content at the same time) |
| 410: Gone | The requested resource has been permanently deleted. And thereâs no forwarding address. |
| 411: Length required | The server didnât accept the request because it didnât specify how much data is being sent |
| 412: Precondition failed | A condition set in the request wasnât met, so the server didnât process it |
| 413: Content too large | The amount of data the client is sending is too big for the server to handle |
| 414: URI too long | The requested web address is too long for the server to manage |
| 415: Unsupported media type | The server doesnât support the format the request is using |
| 416: Range not satisfiable | The requested part of a resource isnât within the serverâs available range |
| 417: Expectation failed | The server couldnât meet a requirement specified in the request |
| 421: Misdirected request | The request went to the wrong serverâone that isnât set up to handle it |
| 422: Unprocessable content | The server understands the request format but is unable to process it because of issues with the actual data (e.g., wrong values) |
| 423: Locked | The requested resource is locked and inaccessible |
| 424: Failed dependency | The request failed because a related request also failed |
| 425: Too early | The server didnât process the request because it was too early and might be replayed |
| 426: Upgrade required | The server wonât process the request unless the client switches to a newer or different protocol (like HTTPS) |
| 428: Precondition required | The server requires the request to include certain conditions to ensure safe updates |
| 429: Too many requests | The user sent too many requests too quickly |
| 431: Request header fields too large | The request headers contain too much information for the server to process |
| 451: Unavailable for legal reasons | The requested resource is blocked due to legal reasons |
| 5XX: Server Error Codes | |
| 500: Internal server error | The server encountered an error and couldnât complete the request |
| 501: Not implemented | The server doesnât support the request method |
| 502: Bad gateway | The gateway server received an invalid or no response from another server |
| 503: Service unavailable | The server is temporarily unavailableâusually because itâs down for maintenance or overloaded |
| 504: Gateway timeout | The gateway server didnât get a response from another server in time |
| 505: HTTP version not supported | The server doesnât support the HTTP version used in the request |
| 506: Variant also negotiates | A misconfiguration caused the server to get stuck in a loop when trying to choose between different versions of the resource |
| 507: Insufficient storage | The server doesnât have enough space to save or process the request |
| 508: Loop detected | The server detects an endless loop while trying to process the request |
| 510: Not extended | The request is missing extensions the server requires for processing |
| 511: Network authentication required | The client needs to authenticate to gain network access |
How to Check a Webpageâs HTTP Status Codes
You can easily check a pageâs HTTP status codes using Google Chrome.
Go to the webpage you want to check.
Right-click anywhere on the page and select "Inspectâ to open the Developer Tools. Or press âCtrl + Shift + Iâ (Windows/Linux) or âCmd + Option + Iâ (Mac).

Click on the "Network" tab in the Developer Tools panel.
Refresh the page (select âF5â or âCtrl + Râ).
Look at the list of network requests.Â
The âStatusâ column shows you a list of HTTP status codes for the page. The first one in the list is the pageâs HTML document.Â

Itâs also a good idea to audit your site for HTTP status code errors. You can do this easily in Semrushâs Site Audit tool.
Simply run a crawl and click on âCrawled Pages.âÂ
The âStatusâ column will show you the status code of each page so you can see if there are any errors that need fixing.

The Implications of Common HTTP Status Codes for SEO
Hereâs what some of the most common status codes mean for your SEO:
200 (OK)
A 200 response code is what youâll want most of your webpages to return.Â
It indicates that a webpage works and is accessible to both people and search engines.
301 (Moved Permanently)
A 301 code means youâve permanently moved a page to a new URL. And signals to Google that the old URL in its index should be replaced with the new one.Â
Importantly, a 301 redirect also transfers link equity from the old page to the new one. Which preserves your visibility.

302 (Found/Temporary Redirect)
A 302 redirect is a temporary redirect. It can preserve links and rankings while a webpage is temporarily unavailable.
For example, if youâre doing website maintenance and want to send users to a temporary holding page. Or youâre carrying out A/B testing.
If a 302 redirect is in place for a long time, Google may start treating it as a 301 redirect. Meaning the old URL will be replaced by the new one in Googleâs index.
404 (Not Found) and 410 (Gone)
Both 404 and 410 status codes tell search engines that a page no longer exists, which typically leads to it being removed from the index.Â
While both ultimately lead to deindexing, a 410 more clearly communicates that the page is gone for good. This can speed up its removalfrom search engine indexes.Â
5XX (Server Errors)
Search engines have trouble accessing pages with 5XX errors, which can lead to problems with crawling, indexing, and the user experience.
Over time, this can negatively impact visibility in search results. So itâs important to monitor and resolve 5XX errors promptly.
The Impact of HTTP Status Codes on LLMs
Itâs important to make sure your contentâs accessible to tools built on large language models (LLMs), like Googleâs AI Overviews, ChatGPT, Perplexity, and Claude. Because itâll help you gain more visibility in those AI responses.Â
Status codes that signal errorsâlike 404s and 500sâcan block LLMs from seeing your content. Because LLMs find and understand website content similar to traditional search engines.Â
Web developer and AI engineer Vincent Schmalbach notes:Â
âSites with frequent HTTP status code errors may find their content underrepresented in both search results and AI-generated responses, since both systems require reliable access to index and utilize content effectively.â
Vincent adds the following when talking specifically about 4XX and 5XX status codes:
âBoth 404 and 410 responses mean no content is available, so those pages don't contribute to training data. Server errors like 500s cause crawlers to retry later, but persistent errors result in content being skipped entirely.â
Toby Basalla, Founder and Principal Data Consultant at data analytics consultancy Synthelize, warns that a website with unintentional redirect status codes can skew data used to train the actual models if it's scraped all at once. Because those mistakes are difficult to spot among so much data.
He reflects on a notable experience running a custom-trained LLM that relied on a scraped dataset:Â
âIn one case, a client had 180 landing pages misflagged as temporary redirects, and none of it made it into our scraped dataset. Which means, in effect, those pages did not exist to the model.â
Check Your Website for HTTP Status Code Errors
You should check your websiteâs HTTP status codes regularly to stay on top of any errors.Â
Semrushâs Site Audit tool makes it easy to identify any of these problems. So you can swiftly address issues and boost your SEO performance.
