HTTP Status Codes
When a request is made to a server for a page on your site, your server returns an HTTP status code in response to the request. This status code provides information about the state of the request. It also gives search engine bots information about your site and the specific requested page. Their are several status codes, a complete list can be found on the W3C website. However, only a few, listed below, have a real impact on search engines.
There are several status codes that can render, each signaling unique information about the page to search engines. Web pages can be broken down into two groups based on their status code: those that are eligible to appear in the Search Engine Results Pages (SERPs) and those that are not eligible to render in the SERPs.
Eligible for Search Results
The server has properly processed the request. This means that the server was able to return the requested page.
302 Found (Temporary Redirect)
The requested URL is temporarily moved to a new location. When a server returns this response, the user is automatically forwarded to the new URL location. Note that the original page stays indexed, and the signal does not pass any earned equity that the original page may have garnered to the end-state URL.
Not Eligible for Search Results
301 Moved Permanently
The requested URL is permanently moved to a new location. When a server returns this response, the user is automatically forwarded to the new URL location. This code should be used to let search engines know that a page has been permanently moved to a new location. In addition, this status codes transfers equity from the old URL to the new URL. This also tells search engines to remove the URL from the index.
307 Temporary Redirect
307 appears to be the correct HTTP/1.1 status code to send when the URL is temporarily moved (versus 302). However, after testing, it seems that Google interprets the 307 status code the same way than a 301, at least in terms of indexation: the old URL drops from the index while the new URL appears in the SERPs.
404 Not Found
The requested URL cannot be found. This status code should be returned when the page is no longer active and there is not an alternate page to redirect to. Over time this signal can cause search engines to remove the URL from their index.
404 pages should be custom with prompts to help users continue interaction with the site.
400 Bad Request
The server did not understand the request.
The server requires some form of authorization or authentication in order to render the page.
The server returns this response when the requested URL has been permanently removed. This signal also tells search engines to remove the URL from the index. While a 404 will also tell search engines to remove the URL from their index, a 410 is a stronger signal and indexes might be updated faster.
500 Internal Server Error
This status code means that the server has encountered an error and cannot fulfill the request. This indicates that there is an error with the server itself, not the request.
503 Service Unavailable
A 503 status code means that the server is currently unable to handle the request. In this case the server is most likely overloaded or under maintenance.If known, the length of the delay can be indicated in a Retry-After header.