HTTP status codes reference
3xx codes (redirection)
List of the HTTP status codes used for the query redirection (3xx codes).
Code |
Error |
How to fix |
300 |
Multiple choices |
The requested URL corresponds to more than one resource, and the indexing bot couldn't determine which page the URL is associated with (code Fix the headers and specify the resource correctly, the robot then will be able to index the page. |
301 |
The resource moved permanently |
The document is no longer used by the server, and the link redirects to another page (code As the users won't see such documents, it doesn't make sense to show them in the search, so the robot doesn't index them. However, the robot will index the redirect target page, if it's available. Use this code when you permanently move a page to a new URL. Keep the redirect active for at least 6 months to ensure correct processing by search engines. |
302 |
Resource moved temporarily |
The requested resource is temporarily located at a different address (code As the users won't see such documents, it doesn't make sense to show them in the search, so the robot doesn't index them. However, the robot will index the redirect target page, if it's available. Use this code only for temporary redirects:
If you're going to make the redirect permanent, use the |
303 |
See another resource. |
The requested resource is located at a different address and should be requested using the Use this code to redirect the user after form submission. |
304 |
Resource not modified |
Code Use this code for static resources that are:
This will speed up indexing and reduce the traffic. |
305 |
Use proxy |
The requested resource can be accessed only through the proxy server specified in the This code is deprecated and shouldn't be used due to security concerns. Instead:
|
307 |
Temporary redirection |
The requested resource has been temporarily moved to a different address. Specify this address in Use this code for temporary redirects where you need to preserve:
|
308 |
The resource moved permanently |
The document is no longer used by the server, and the link redirects to another page (code As the users won't see such documents, it doesn't make sense to show them in the search, so the robot doesn't index them. However, the robot will index the redirect target page, if it's available. Use this code for permanent redirects where you need to preserve:
|
The 4xx codes (client error)
List of the HTTP status codes used for possible errors in the client's request (4xx codes).
Code |
Error |
How to fix |
400 |
Invalid request/Bad Request |
The server can't understand the request due to incorrect syntax. Make sure that the request and its parameters are valid. All request headers and parameters should comply with the HTTP specification. |
401 |
Unauthorized request |
A password is required to access the document or the user must be registered. Check your server authentication settings. Make sure that authorization works as expected and that access scopes are correctly set up. |
402 |
Payment for the request is required |
Internal error or a configuration error on the server. Set up correct payment processing on the server. Make sure that the payment system is working and properly integrated with your site. |
403 |
The access to the resource is forbidden |
The access to the document is forbidden. To have the page indexed, allow access to it. |
404 |
Resource not found |
The document doesn't exist. If you deleted a section of the site, you can use robots.txt to prevent the robot from accessing it. If such a page on the site never existed, ignore this error, perhaps someone put an incorrect link to your site. |
405 |
Invalid method |
The method defined in the request (Request-Line) can't be applied for the specified resource, so the robot couldn't index it. Set up your server to support the appropriate HTTP methods. Check your CORS settings if necessary. |
406 |
Unacceptable request |
The required document exists, but the format is incorrect (the language or encoding is not supported by the robot). Configure your server to deliver content in various formats. Make sure all required content types are supported. |
407 |
Proxy or firewall identification is required |
Registration on the proxy server is required. Ensure the proxy server works as intended or disable it if you don't need it. |
408 |
Request timed out |
The site failed to complete the request within the specified time and the robot disconnected. Optimize request processing times on the server. Set appropriate timeouts in your server configuration. |
409 |
Conflict |
The request conflicts with another request or with the server configuration. Fix how your server processes concurrent requests. Implement conflict resolution mechanisms for parallel operations. |
410 |
Resource unavailable/Gone |
The requested resource was permanently deleted from the site. For resources that are permanently deleted, make sure to return a |
411 |
Length Required |
The server refuses to accept the request without a certain Content-Length header. Correct the headers on your server so the indexing bot can crawl the page next time. |
412 |
Precondition Failed |
The server found a mismatch in one or more request header fields (a failure or an error in the precondition processing). Check how your server handles conditional requests. Make sure that caching works as expected. |
413 |
Request Entity Too Large |
The server refuses to process the request because it is larger than the server can handle. Set appropriate request size limits in your server configuration. Implement a mechanism for uploading large files in parts. |
414 |
Request-URI Too Long |
The server refuses to process the request, because the URI (Request-URI) requested by the robot is longer than the server can render. Increase the URI length limit on the server or optimize the URL structure. |
415 |
Unsupported MIME Type |
The server refuses to process the request, because the request body has an unsupported format. Make sure that your server supports all required data formats and that all content handlers are set up correctly. |
416 |
The range can't be processed |
The server refuses to process the request because the Configure your server to correctly handle requests with the |
417 |
Failed while waiting |
The server refuses to process the request because the value of the Check how your server handles the |
422 |
Unprocessable Entity |
The server can't process one (or more) request element. Improve validation for incoming data on the server. Make sure clients receive clear messages explaining why their requests were denied. |
423 |
Locked |
The server refuses to process the request, because one of the required resources is blocked. Review how your server handles resource locking. Make sure locks are properly released after operations are completed. |
424 |
Incorrect dependency |
The server refuses to process the request, because one of the dependent resources is blocked. Check the availability and operability of all dependent services. Set up proper error handling for when dependent components are unavailable. |
426 |
Upgrade required |
The server requested connection upgrade to SSL, but the client doesn't support SSL. Configure your server to correctly determine when protocol updates are needed. Ensure proper SSL or TLS configuration. |
429 |
Too many requests sent |
Too many requests sent in a short time. This may indicate, for example, a DDoS attackDDoS attack attempt. The response can be accompanied by a Retry-After header that indicates after what time the request can be repeated. Yandex doesn't take this header into account. Configure rate limits on the server. Implement a system of quotas for different types of users. Optimize your infrastructure for handling a large number of requests. |
5xx codes (server error)
List of the HTTP status codes used for possible server errors (5xx codes).
Code |
Error |
How to fix |
500 |
Internal server error |
The server encountered an unexpected condition that doesn't allow it to complete the request. Check the server logs to find out why this error occurs. Fix any errors in your server-side code. Configure proper exception handling and ensure informative error logging. |
501 |
Method not supported |
The server doesn't support the functionality required to execute the request. This response means the server doesn't recognize the request method and can't provide it for any resource. Ensure your server supports all required HTTP methods or adjust its configuration to handle requests correctly. |
502 |
Gateway error |
The server acting as a gateway or proxy server received an invalid response from an inbound server it accessed while attempting to fulfill the request. Check the state and settings of all servers in the request processing chain. Make sure your proxy server or load balancer settings are correct. |
503 |
Service unavailable |
An error occurred due to temporary overload or disconnection for server maintenance. Increase your server's capacity or optimize its settings to handle the current load. Make sure that you quickly bring your server back online after scheduled maintenance. |
504 |
Gateway timeout |
The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request. Increase timeout values in your proxy server or gateway settings. Check the performance of the upstream servers and optimize it. |
505 |
HTTP version isn't supported |
The server doesn't support or refuses to support the version of the HTTP protocol used in the robot request message. Update your server software to support the required HTTP version or configure your server to use the supported version of the protocol. |
507 |
Insufficient space |
The server can't process the request due to a lack of disk space. Free up space on the server's disk. Configure free space monitoring with automated alerts when critical thresholds are reached. |
510 |
Not extended |
The server can't process the request because the requested extension is not supported. Install and configure the appropriate extensions on the server or change the application's logic to use the available extensions. |