Server Response Codes: Full Guide
Brief Summary
HTTP status codes are three-digit numbers that a server returns with every request. They indicate whether the request was processed successfully, whether a redirect is required, or whether an error occurred. Proper handling of these codes is critical for SEO: search engines and AI crawlers use them to assess a website’s health, page indexability, and the distribution of crawl budget.
In this article, we will break down all groups of codes (1xx–5xx), methods for checking status codes, and key trends for 2026, including new RFC standards and specifics of working with AI-powered search systems.
Who should read this article:
- SEO specialists — to understand how status codes affect rankings and indexation.
- Webmasters and developers — for diagnosing website issues and correctly setting up redirects.
- Website owners — to monitor the technical health of a site and fix errors in a timely manner.
- Marketers — to understand the reasons behind traffic drops and indexation problems.
Every time you make a request to a server, you receive an HTTP response status code. These codes are directly tied to website page functionality and signal the current state of a page. Based on the meaning of the code, the server adjusts how it processes the document after a user’s request. The most common codes are 200, which indicates that the request was successful, and 404, which indicates an error when a resource cannot be found.
Search bots, AI crawlers, and browsers all pay close attention to server response codes. In 2026, the importance of correctly handling status codes has increased: in addition to traditional search engines, websites must now work properly with AI search systems that interpret and analyze content to generate answers.
How to Check a Server Response Code: Tools and Methods for Checking HTTP Statuses
You can view a page’s response code for free in just a couple of clicks. In the browser, this information is available in the developer tools panel: in Google Chrome, open the panel using the F12 hotkey, go to the Network tab, and refresh the page.
The website down checker tool will identify HTTP status codes for a website and its domain name.
FAQ: How to Check a Server Response Code
What is the fastest way to check an HTTP status code for a page?
Open the developer tools in your browser (F12), go to the Network tab, and refresh the page. In the Status column, you will see the response code for each resource. For bulk checks, use tools like the website down checker.
Does the server response code affect SEO?
Yes, directly. Status codes 200, 301, 404, 500 affect indexing, link equity transfer, and crawl budget distribution. Search engines and AI crawlers analyze status codes to assess a website’s health.
How can I check response codes for an entire website?
Use crawlers such as Screaming Frog or Sitebulb, Google Search Console (the “Coverage” section), or monitoring tools like website analysis, which check the technical condition of a resource.
Server Response Codes: Complete Classification of HTTP Statuses
A status code consists of three digits and starts with 1–5 depending on the group it belongs to. After the numeric designation, there is an English phrase that explains its meaning.
The group a code belongs to is determined by its first digit:
1xx — informational code related to data transfer.
These codes are temporary and indicate that the request has been received and is being processed.
2xx — successful request processing code.
The service has received and successfully processed the request.
3xx — redirect code.
The server signals that additional actions are required to complete the request, for example, navigating to another address.
4xx — client error.
An error on the client side. The user may have done something incorrectly, which prevents the request from being processed successfully.
5xx — server error.
For some internal reason, the server cannot fulfill the user’s request.
Response codes that indicate errors contain information about their causes. Errors can be tracked and fixed using server log files — logs contain detailed information about issues.
FAQ: Server Response Code Meanings
Which server response codes are the most important for SEO?
The most critical codes are 200 (success), 301 (permanent redirect), 404 (not found), 410 (gone permanently), and 500 (server error). They directly affect indexing and rankings. It is also important to monitor 429 (too many requests) for APIs and 503 (service unavailable) during high load situations.
What is the difference between 4xx and 5xx codes?
4xx codes are client errors (incorrect request, invalid URL, no access). 5xx codes are server errors (configuration issues, overload, system failures). For SEO, 5xx errors are more critical, as they block indexing.
How often should server response codes be checked?
A weekly check using Google Search Console and crawlers is recommended. When changes are made to the site (redirects, page removals), check immediately. Use automated monitoring to track critical errors in real time.
Informational Codes (1xx): What They Mean and When They’re Used
Codes in this group inform that the server has accepted the request and will process it.
100 Continue
The server has accepted the request and is satisfied with the initial information. The processing will continue.
101 Switching Protocols
The server has approved the protocol switch requested by the client. This code is used when the server suggests switching to a new HTTP version. The Upgrade header will list the available protocols, and the client can choose one of them.
102 Processing
The server signals that it has accepted the request, but more time is required to process it. The client should not close the connection; instead, it should reset its timer and wait for the next response.
103 Early Hints
This code allows the server to send preliminary headers before the final response, speeding up page loading. The browser can start loading resources (CSS, JS) even before receiving the full response, improving site performance.
104 Upload Resumption Supported
A new provisional code registered in November 2024. The server signals that it supports upload resumption. This is useful for large files: if an upload is interrupted, the client can continue from where it stopped instead of starting over. The code is valid until November 2026.
FAQ: HTTP Informational Codes
Do 1xx informational codes need to be handled for SEO?
Usually no — these codes are intermediate and do not directly affect indexing. However, 103 Early Hints can improve loading speed, which impacts Core Web Vitals and rankings. Code 104 is useful for sites that handle large file uploads.
What is the difference between codes 100 and 102?
Code 100 means the server is ready to continue processing the request. Code 102 indicates that the request has been accepted, but processing will take longer — the client should wait for the final response.
Are informational codes used in real projects?
Yes, especially 103 Early Hints for performance optimization. Code 104 is still rare, as it is new (2024) and requires support on both the server and client sides.
Successful request processing status codes (2xx): from 200 OK to 226 IM Used
The codes in this group indicate that the request was accepted and successfully processed.
200 OK
This is one of the most popular responses. It means that the request was accepted and successfully processed, the page is opened and available for viewing. All pages that are intended to be indexed should return the 200 OK status code.
201 Created
This response means that the server accepted the request, processed it, and created a new resource. You can see this code, for example, when a user creates a new page. If it is impossible to create a new resource, or if it will stop existing by the time the client receives the message, the server returns the 202 Accepted code.
202 Accepted
The server has accepted the request but has not completed its processing yet. The request may be rejected later, since its execution may require too much time.
203 Non-Authoritative Information
The 203 response code means that the operation was successful, but unlike 200, it indicates a different source of information. The data was obtained not from the original source, but from another server or a backup copy. The information may be outdated, which is exactly what this status code warns about.
204 No Content
The request was successfully processed, but the server has nothing to send in response. The response contains no message body, only headers. Usually, this code is used in the first empty line of code to allow scripts to run without changing the content or refreshing the page.
205 Reset Content
The server signals that the request was successfully processed and that the client should reset the entered data. Updating the document is not required, and the server does not transmit a message body.
206 Partial Reset
This code is usually used by caching tools. In the response, the server returns only the part of the page content that the user requested.
207 Multi-Status
This code indicates a multi-status response: the server processed several operations that are independent of each other. The results are displayed in the message body as an XML document with a multistatus object.
226 IM Used
The server has successfully completed the operation: it accepted the A-IM header and returned content taking into account the specified parameters.
FAQ: Successful request processing codes
Does the 200 OK code always mean that a page will be indexed?
The 200 code is a necessary, but not sufficient condition. The page must be accessible to robots (not blocked in robots.txt), contain unique content, and have correct meta tags. Page loading speed and the absence of technical errors are also important.
What is the difference between codes 200, 201, and 202?
200 — the request was successfully processed, and the resource was returned. 201 — the resource was created (for example, after a POST request). 202 — the request was accepted, but processing has not yet been completed (asynchronous operations).
Can the 204 No Content code be used for SEO pages?
No, the 204 code means there is no content. Search engines will not be able to index such a page. Use 204 only for API endpoints or AJAX requests where content is not required.
Redirect Codes (3xx): 301, 302, 307, 308 and Their Impact on SEO
This class of status codes shows that, to successfully complete a request, the client needs to make a transition — in other words, a redirect.
300 Multiple Choices
A crawler cannot index the page because it cannot match the resource with a specific URL. A common reason is that the resource has been moved to another address. The server offers the client a choice of alternative destinations. For successful indexing, you need either to correctly specify the resource or fix the headers.
301 Moved Permanently
If the URL of an already indexed page changes, a 301 redirect is set up from the old URL to the new one. This response code indicates that the requested document has been permanently moved to another URL, to which the user is redirected. Search engines will index the target page and “merge” the old URL with the new one, transferring link equity.
302 Found
This code means that the page has been moved temporarily, not permanently, so it should not be removed from the index. The response specifies the new temporary location of the data. The page remains in the index, and link equity continues to be passed.
303 See Other
The server signals that the resource specified in the request is located at a different address. It is most commonly used to redirect users to a selected resource by displaying the output of a POST-activated script. The server response contains the address where the result that satisfies the request can be found.
304 Not Modified
This code is recommended when the page has not changed since the crawler’s last visit. The server informs the bot of this, and the bot receives only the HTTP headers without reloading the page. As a result, indexing happens faster and server load is reduced.
305 Use Proxy
This response code is related to data security. The server returns a 305 status if access to the requested resource is only possible through a proxy. The proxy address is specified directly in the server response.
307 Temporary Redirect
The 307 code is similar to 302, but provides a more precise response. It indicates that the resource requested by the client has been temporarily moved to another address, and the new URL must be specified in the Location header. Unlike 302, 307 guarantees that the request method is preserved (GET stays GET, POST stays POST).
308 Permanent Redirect
The 308 code is a permanent redirect, similar to 301, but with one important difference: the request method is preserved. If a POST request is sent to the old URL, a POST request will also be sent to the new URL. This is critical for APIs and forms. For regular pages, 301 is usually used; for APIs and POST requests, 308 is the better choice.
FAQ: Redirect Codes and SEO
Which redirect is better for SEO: 301 or 302?
For a permanent page move, use 301 — it transfers link equity and signals a permanent change to search engines. 302 should only be used for temporary redirects (for example, promotions or technical maintenance). Search engines may not pass link equity when a 302 is used.
What is the difference between 301 and 308 redirects?
Both are permanent redirects, but 301 may change the request method (POST can become GET), while 308 preserves the method. Use 301 for regular pages, and 308 for APIs, forms, and POST requests.
How long does it take for link equity to transfer through a 301 redirect?
Typically 2–4 weeks, but it can take up to 3 months. The speed depends on crawl frequency, the number of external links, and the domain’s authority. You can speed up the process using Google Search Console by requesting reindexing.
Client Error Codes (4xx): from 400 Bad Request to 451 Unavailable
Response codes in this group indicate errors caused by the client, or situations where it’s impossible to return a result because there is no data on the page.
400 Bad Request
The request is incorrect — there’s a syntax error somewhere, so the server can’t return a result. To successfully complete the request, the syntax needs to be fixed. Usually, clearing cookies or page cache helps, or correcting the request on the user side.
401 Unauthorized
The information is available only to registered users or is password-protected. If the user is not authenticated, access to the page is not possible.
403 Forbidden
The request was successfully received and correctly formed, but the server does not have permission to access the requested page. Access may be intentionally restricted for certain IP addresses using the .htaccess file.
If the www-data user (under which the server is running) does not have permission to read the file, the following command may help: sudo chmod o=r /usr/share/nginx/html/index.html
Another possible reason is that the user is trying to access a closed directory that does not contain an index file. Permission to view directories is enabled in the server configuration.
404 Not Found
The server could not find the resource requested by the user — the document does not exist at this address.
This is a very common error. It may be caused by an incorrect URL, lack of read or execute permissions, the file being moved or deleted, an incorrect root directory, or the server not being configured to work with symbolic (“soft”) links used for processing.
Links to removed sections of a website will return a 404 code. Such documents should not consume crawl budget, so access to and indexing of these pages is usually disallowed for bots in the robots.txt file.
405 Method Not Allowed
The method used for the request is not allowed. The server returns this code for specific individual objects on the page. For example, the query string that triggers a script may differ from the request made by the user.
406 Not Acceptable
This response code means that the requested file exists and the request is correctly formed, but the document’s encoding is not acceptable or cannot be decoded by the crawler.
407 Proxy Authentication Required
This code is similar to 401 and 407. It is used when the request is valid, but the client can access the document only through proxy authentication. The client is authenticated if the proxy returns a header with the Proxy-Authenticate field.
408 Request Timeout
The server returns this response code if the client does not make any requests within the specified timeout period. Code 408 is not returned if the user cancels the request themselves or if the connection is interrupted and the response cannot be sent.
409 Conflict
This code means there is a conflict in the system. For example, a user uploads a file to the server when a newer version of the same file already exists.
410 Gone
This response code is similar to 404, but it means that the requested document is no longer available. If the server returns 404, a crawler may return later to check the page again. If it returns 410, the crawler understands that the page has been permanently removed.
411 Length Required
The server cannot accept or process the request if the Content-Length header does not specify the length of the content.
413 Request Entity Too Large
If the request body contains too much data and the server cannot process such a large request, it returns error code 413. If the issue is temporary, the server may include a Retry-After header indicating how long to wait.
414 Request-URL Too Long
Similar to code 413, but code 414 is returned when the request contains an excessively long URL.
422 Unprocessable Entity
The server returns this code if it has accepted and understood the request, but there is a logical error in the request body that prevents it from being executed.
424 Failed Dependency
If the execution of this operation depends on the outcome of other related operations, the server will return this code.
429 Too Many Requests
Code 429 means that the user is sending too many requests within a short period of time, and the server cannot handle such a volume.
431 Request Header Fields Too Large
If the request contains excessively large header fields, the server cannot process it and will return error code 431.
451 Unavailable For Legal Reasons
This code conveys a similar meaning to 403, but with clarification. It is used when access to the server is blocked by a court decision, usually due to copyright infringement, or when access is restricted at the government level.
418 I’m a teapot
This is a humorous error code that returns the message “I’m a teapot.” It is associated with the Hyper Text Coffee Pot Control Protocol. The error means that the request is invalid — you can’t make coffee using a teapot. This protocol and error code were created as a joke in 1998 for April Fools’ Day.
FAQ: Client Error Codes
Which is worse for SEO: 404 or 410?
410 is worse — it signals that the page has been permanently removed. The crawler will stop checking this URL. 404 means “not found right now” — the crawler may return later. For removed pages, use 410 to avoid wasting crawl budget on nonexistent URLs.
How should you handle the 429 Too Many Requests code for SEO?
Code 429 means the request limit has been exceeded. For SEO, this is critical: if a crawler receives 429, it may reduce crawl frequency. Configure the Retry-After header to specify the waiting time. Also, review your rate-limiting settings and increase limits for well-known search engine bots.
What is the difference between 403 and 404 for indexing?
403 means access is forbidden (the page exists but is closed). 404 means the page was not found. A crawler may try to revisit a 403 page later, while a 404 is usually checked less frequently. Use 403 for restricted sections and 404 or 410 for removed content.
Server Error Codes (5xx): Diagnostics and Impact on SEO
Codes in this group indicate errors on the server side.
500 Internal Server Error
This code means the server cannot process the request due to internal errors. Usually, the problem lies in server configuration, a reference to an incorrect .htaccess file, or a PHP package that is not installed.
501 Not Implemented
The server returns this code when it cannot process the request because it does not support the required functionality or cannot recognize the method. For example, this error may appear if common protocols like HEAD, POST, GET, and others are not supported by the server for some reason.
502 Bad Gateway
Backend servers handle the request and pass data to a proxy server or gateway. If a request is sent to such a gateway and it does not receive a response from the backend, the server returns a 502 code. To fix this, you need to check the proxy server configuration.
503 Service Unavailable
This code indicates that the server is overloaded and the request cannot be processed at the moment. Another possible reason is server maintenance: it lacks enough memory or resources to handle the request. This response can also be returned if the number of users on the server is limited.
504 Gateway Timeout
This code is similar to 502, but a 504 error means that the waiting time for a server response has expired. The required amount of time passed, but no response was received from the backend server. The reason may be a network connection issue, lack of resources, the HTTP protocol version, or server configuration if the timeout value is set too low.
506 Variant Also Negotiates
A 506 response code means the server is misconfigured: an error in the configuration causes a loop, and the server ends up pointing to itself.
507 Insufficient Storage
If the server is so heavily loaded that it does not have enough memory to process the request, it will return a 507 error. This happens when there is not enough space on the server for the data contained in the incoming request.
510 Not Extended
A 510 code is returned when the server does not support an extension specified in the request. In the same response, the server may indicate which extensions are available.
511 Network Authentication Required
This error is returned to the client if the user has not been authenticated on the network. For example, if they did not agree to the terms of internet use when connecting to Wi‑Fi or did not enter a password.
FAQ: Server Error Codes
How does a 500 error affect SEO and what should you do?
A 500 error is critical for SEO: the crawler cannot index the page and may reduce crawl frequency. Check server logs, .htaccess settings, PHP versions, and database availability. As a temporary solution, you can return a 503 with a Retry-After header so the crawler comes back later.
What is the difference between 502 and 504 errors?
502 Bad Gateway means the proxy or gateway did not receive a response from the backend server. 504 Gateway Timeout means the time limit for waiting for a backend response has expired. Both errors block indexing. Check proxy settings, timeout values, and backend server availability.
How often can you return 503 Service Unavailable without harming SEO?
Short-term 503 responses (during maintenance) are acceptable if the Retry-After header is specified. Long-term 503 errors (more than 24 hours) can lead to reduced crawl frequency and temporary removal from the index. Set up monitoring and automatic alerts for 5xx errors.
Typical Mistakes When Working with Server Response Codes and How to Fix Them
Webmasters often make mistakes when configuring and handling HTTP status codes. Let’s look at the most common issues and effective ways to solve them.
Mistake 1: Redirect Chains
Problem: Page A redirects to B, B redirects to C, and C to D. Search engine bots may not follow the entire chain, and link equity can be lost.
Solution: Set up a direct redirect from A to D. The maximum recommended chain length is 3 redirects. Check redirect chains using tools like website down checker.
Mistake 2: Mixed Response Codes
Problem: The same page returns different status codes: 200 for users and 404 for bots, or vice versa. This confuses search engines.
Solution: Make sure the page always returns a single, consistent status code. Check server settings and .htaccess, and avoid blocking bots with separate rules. Use the same response code for all users and bots.
Mistake 3: Incorrect Handling of 429 Status Code for Search Bots
Problem: Rate limiting is applied equally to all requests, including search engine bots. The bot receives a 429 response and reduces the crawl rate of the site.
Solution: Set up a whitelist for well-known search bots (Googlebot, Yandex, Bingbot) and AI crawlers. Add their User-Agents to rate-limiting exceptions. Review server logs to identify bot requests.
Mistake 4: Redirect Loops
Problem: Page A redirects to B, and B redirects back to A. The bot gets stuck in an infinite loop and cannot index either page.
Solution: Check all redirects for loops. Use crawlers like Screaming Frog or Sitebulb, which clearly show cyclic redirects. Fix the redirect logic.
Mistake 5: Using 302 Instead of 301 for Permanent Moves
Problem: A page has moved permanently, but a temporary 302 redirect is set. Search engines may not pass link equity to the new page.
Solution: Always use 301 (or 308 for APIs) for permanent moves. Review all redirects and replace 302 with 301 where appropriate.
Mistake 6: Ignoring the 410 Status Code for Deleted Pages
Problem: Deleted pages return 404. The bot continues to check them, wasting crawl budget.
Solution: For pages that are permanently removed, use the 410 status code. This signals to the bot that the page is gone for good, and it will stop checking it. Configure 410 for all permanently deleted sections of the site.
Server Response Codes Check-List
Use this checklist for regular checks of your website’s technical health:
- All indexable pages return 200 OK
- Proper 301/308 redirects are set up for moved pages
- No redirect chains longer than 3 hops
- Deleted pages return 410 Gone
- All 4xx errors are fixed (except 404 for non-existent pages)
- All 5xx server errors are resolved
- A whitelist for search engine bots is configured in rate limiting
- No redirect loops
- Response code monitoring is set up (Google Search Console, automated checks)
- Response codes for the mobile version of the site are checked
- Correct Retry-After headers are configured for 429 and 503 status codes
- Response codes are checked for all important pages (homepage, categories, product pages)
Recommended check frequency: weekly via Google Search Console, and a full crawler-based audit monthly. If there are site changes (redirects, page removals), check immediately.
Search engines and AI crawlers pay close attention to server response codes. Using these signals, they understand how to interact with a page — whether to index it, skip it, or come back later.
It’s important for webmasters to recognize error signals in order to guide search bots correctly and fix issues that affect ranking and indexing.
To monitor response codes, use the website analysis tool. It checks the technical health of a site, including HTTP statuses, and helps identify problems before they impact SEO.
🍪 By using this website, you agree to the processing of cookies and collection of technical data to improve website performance in accordance with our privacy policy.