HTTP status codes are the server’s responses to client (browser) requests. A page displaying no error has a status code of 200. In an ideal world, all pages should have a 200 code.
In this guide, we will look at the applications of each HTTP code in relation to SEO.
There are five categories of codes:
- 1xx – Informational
- 2xx – Successful request
- 3xx – Redirections
- 4xx – Client errors
- 5xx – Server errors
1xx – Informational
1xx status codes indicate that the server has received the request and that processing will continue.
| Code | Message | Meaning |
|---|---|---|
| 100 | Continue | All good, waiting for the rest. |
| 101 | Switching Protocols | Acceptance of protocol change. |
| 102 | Processing | Things are happening but are not yet finished. |
| 103 | Early Hints | Can allow resources to be preloaded, which can help improve LCP for Largest Contentful Paint (Core Web Vitals). |
2xx – Success
2xx status codes mean that a request has been received, understood and accepted.
| Code | Message | Meaning |
|---|---|---|
| 200 | OK | All good. |
| 201 | Created | All good, but required a newly created resource. |
| 202 | Accepted | Request processed, but not finished. |
| 203 | Non-Authoritative Information | Information returned, but generated by a non-certified source. |
| 204 | No Content | Request processed successfully but there is no content in the body. |
| 205 | Reset Content | Resets the document to its original state, for example by clearing a form. |
| 206 | Partial Content | Only part of the content was sent. |
| 207 | Multi-Status | There are other response codes that could be 2xx, 3xx, 4xx or 5xx. |
| 208 | Already Reported | The client indicates to the server that the same resource was mentioned previously. |
| 210 | Content Different | Unofficial use by Apache. |
| 226 | Im Used | Allows the server to send resource changes to clients. |
200 Codes for Google (Watch out for 204s)
If a 200 code is returned, Google can index pages. On the other hand, the 204 code, also called a soft 404, will not be indexed. Why soft 404? Well, simply because a 404 is a URL that was not found, while a 204 is a page found but with no content — hence the term soft 404.
Either the URL genuinely has no content, or the content is too thin. Make sure you do not have URLs with a 204 status code.
3xx – Redirect
The URL is redirected to another URL. With a few exceptions.
| Code | Message | Meaning |
|---|---|---|
| 300 | Multiple Choices | There is more than one possible response, and you may need to choose one. |
| 301 | Moved Permanently | The old resource is now redirected to the new resource. Allows PageRank to be transferred from one page to another when you need to change your URLs. |
| 302 | Found | Redirected as temporarily moved. When faced with a 302, search engines keep the old URL indexed even if it is redirected. Avoid. |
| 303 | See Other | A 303 redirect redirects the user to a resource similar to the one requested — it is a temporary redirect. You will generally not use 303 redirects for SEO purposes as they can be interpreted by search engines as 302 or 301. |
| 304 | Not Modified | Indicates that the page has not been modified. Generally used for caching. |
| 307 | Temporary Redirect | The web page is temporarily unavailable for reasons that were not anticipated. In this way, search engines do not update their links. Better than 302 when “non-GET” links/operations are available on the site. |
| 308 | Permanent Redirect | A 308 redirect is identical to a 301 redirect, except that it preserves the HTTP method of the original request during the redirect. Google says it treats 308 redirects the same way as 301 redirects, but most SEOs observe better PR distribution with 301 redirects. |
3xx Redirects for Google
301 and 302 signals are canonicalisaton signals. That is, the engine understands that it is the same content but has been moved to a different path. They then pass PageRank.
A 301 consolidates forward to the new URL, and a 302 consolidates backward to the old URL.
The others are either of little importance to specify or too simple to understand — like the 310 which is an SEO danger.
4xx – HTTP Client Error
4xx status codes mean there is an error. The error is generally explained in the response.
| Code | Message | Meaning |
|---|---|---|
| 400 | Bad Request | The client’s request is wrong. It may be malformed, invalid or too large. |
| 401 | Unauthorized | Authentication is required to access the resource. |
| 402 | Payment Required | Payment required to access the resource. |
| 403 | Forbidden | The server understood the request, but refuses to execute it. Unlike the 401 error, authenticating will make no difference. On servers where authentication is required, this generally means authentication was accepted but access rights do not allow the client to access the resource. |
| 404 | Not Found | Resource not found. |
| 405 | Method Not Allowed | Request method not allowed. |
| 406 | Not Acceptable | The requested resource is not available in a format that respects the “Accept” headers of the request. |
| 407 | Proxy Authentication Required | Access to the resource authorised by proxy identification. |
| 408 | Request Time-out | The client request wait time has expired on the server side. The server timed out or decided to close the connection. |
| 409 | Conflict | The request cannot be processed in its current state. |
| 410 | Gone | The resource is no longer available and no redirect address is known. Similar to a 404 but speeds up Google’s processing to deindex the page. |
| 429 | Too Many Requests | The client has sent too many requests within a given time period. |
How Google Handles 4xx Codes
4xxs will result in pages being removed from the index.
If you have 404s with backlinks, implement 301 redirects to the correct resources relative to the link sending to a 404. Say a blogger got the URL wrong — you can do this. Or contact the blog in question.
404s and 410s have similar treatment. Both remove pages from the index, but 410s are slightly faster.
421s are used by Google to disable exploration with HTTP/2.
429s are treated as server errors and will cause a slowdown in Google’s crawling. Eventually, Google will also remove these pages from the index.
5xx – Server-Side Error
| Code | Message | Meaning |
|---|---|---|
| 500 | Internal Server Error | The server encounters some kind of problem and has no better or more specific error code. |
| 501 | Not Implemented | Requested functionality not supported by the server. |
| 502 | Bad Gateway or Proxy Error | Acting as a proxy or gateway server, the server received an invalid response from the remote server. |
| 503 | Service Unavailable | Service temporarily unavailable or under maintenance. |
| 504 | Gateway Time-out | Wait time for a response from a server to an intermediate server has expired. |
| 505 | HTTP Version Not Supported | Says it all. |
| 506 | Variant Also Negotiates | Negotiation error. |
| 507 | Insufficient Storage | Insufficient space to modify properties to complete the request. |
| 508 | Loop Detected | The server detected an infinite loop. |
| 509 | Bandwidth Limit Exceeded | Used by many servers to indicate a quota exceeded. |
| 510 | Not Extended | The request does not comply with the policy for accessing extended HTTP resources. |
| 511 | Network Authentication Required | The client must authenticate to access the network. Used by captive portals to redirect clients to the authentication page. |
How Google Handles 5xx Errors
5xx errors will slow down crawling and can therefore impact the crawl budget since this depends on speed. Eventually, pages will be removed from Google’s index.
Since they are server errors, they may not always be present.