What is an HTTP status code?
HTTP status codes are three-digit responses from the server to the browser-side request. Everyone has probably gotten the classic 404 page-not-found error. That is an HTTP client error status code and there are a lot more of them.
These status codes (also called response status codes) serve as a means of communication between the server and the internet browser and there are multiple code classes based on the type of information they are communicating. The differences in classes are indicated through the first digit of the error code, for example: just like a 404, any other 4xx will mean that in some way the page or website could not be reached, while a 2xx means that your request was successfully completed.
So if you ever thought:
- What are HTTP status codes?
- What does this HTTP status code mean?
- How can I use HTTP status codes for SEO purposes
We have made this helpful guide to help you out.
If you want to jump straight to finding and fixing errors, jump right to it:
How to check the HTTP status code of a page
Finding the server response code for a page can be done manually in your browser or by using various tools and website crawlers.
Depending on the browser you're using it is slightly different. Below is how to do it in Chrome (most steps will be similar in other browsers).
Checking HTTP status code in Chrome
- Open the URL your want to check with your browser
- Open the Developer tab (F12) and go to the "Network" tab
- Refresh the page
- Scroll to the top of the list of requests and find the first of type "document"
- In "Status" you can now find the HTTP response code
How do we categorize HTTP status codes?
- 1xx - Informational: The server has received the request and is continuing the process
- 2xx - Successful: The request was successful and the browser has received the expected information
- 3xx (Redirection): You have been redirected and the completion of the request requires further action
- 4xx (Client Error): The website or the page could not be reached, either the page is unavailable or the request contains bad syntax
- 5xx (Server Error): While the request appears to be valid, the server could not complete the request
What does a 1xx Informational status code mean?
A 1xx Informational status code means that the server has received the request and is continuing the process.
What does 100 Continue mean?
The 100 Continue status code means that the initial part of the request has been received by the server and that the client should proceed with the request or ignore the response if the request has already finished.
What does 101 Switching protocols mean?
The 101 Switching protocols status code means that the server understands the Upgrade header field request and indicates which protocol it is switching to.
What does 102 Processing mean?
The 102 Processing status code means that the server has accepted the full request but has not yet completed it and no response is available as of yet.
What does 103 Early Hints mean?
The 103 Early hints status code is intended to be used to allow the user agent to preload resources, while the server prepares a response. It is intended to be primarily used with the Link Header.
What does a 2xx Succesful status code mean?
A 2xx Succesful status code means that the request was successful and the browser has received the expected information.
- 200 OK
- 201 Created
- 202 Accepted
- 203 Non-Authoritative Information
- 204 No Content
- 205 Reset Content
- 206 Partial Content
- 207 Multi-Status
- 208 Already Reported
- 226 IM Used
What does 200 OK mean?
The 200 OK status code means that the request was successful, but the meaning of success depends on the request method used:
- GET: The requested resource has been fetched and transmitted to the message body.
- HEAD: The header fields from the requested resource are sent in without the message body.
- POST or PUT: A description of the result of the action is transmitted to the message body.
- TRACE: The request messages, as received by the server, will be included in the message body
When looking at things SEO-wise the 200 OK response code is the perfect status code for a functioning page, all the linked pages are working as they should. A 200 will mean that search engine crawlers can successfully crawl the page and it will be put into their search index.
What does 201 Created mean?
The 201 Created status code means that the request was successfully fulfilled and resulted in one or possibly multiple new resources being created.
What does 202 Accepted mean?
The 202 Accepted status code means that the request has been accepted for processing, but the processing has not been finished yet. The request may or may not be completed when the processing eventually takes place.
What does 203 Non-Authoritative Information mean?
The 203 Non-Authoritative Information status code means that the request was successful. However, the meta-information that has been received is different from the one on the origin server and has instead been collected from a 3rd party or local copy. When not used for backups or mirrors of another resource a 200 OK response is preferable.
What does 204 No Content mean?
The 204 No Content status code means that while the server has successfully fulfilled the request, there is no available content for this request. But the user agent might want to update its currently cached headers for this resource, for the new one.
What does 205 Reset Content mean?
The 205 Reset Content status code means that the user should reset the document that sent this request.
What does 206 Partial Content mean?
The 206 Partial Content response code is a response to a Range header sent from the client when requesting only a part of the resource.
What does 207 Multi-Status mean?
The 207 Multi-Status status code conveys information about multiple resources, in situation when multiple status codes are appropriate.
What does 208 Already Reported mean?
The 208 Already Reported status code is used inside the response element DAV: propstat, in order to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
What does 226 IM Used mean?
The 226 IM response code means that the server has successfully fulfilled a GET request for the resource, and the response is a representation of the result of one or multiple instance-manipulations applied to the current instance.
What does a 3xx Redirection code mean?
A 3xx Redirection status code means that you have been redirected and the completion of the request requires further action.
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found (Previously "Moved temporarily")
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
- 306 Switch Proxy
- 307 Temporary Redirect
- 308 Permanent Redirect
What does 300 Multiple Choices mean?
The 300 Multiple Choices status code means that the request has multiple possible responses and the user/user agent should choose one.
What does 301 Moved Permanently mean?
The 301 Moved Permanently response code means that the target resource has been assigned a new permanent URL and any references to this resources in the future should use one of the URLs included in the response.
When looking at things SEO-wise the 301 Permanent Redirect should be used every time a URL is moved permanently. This redirect passes your current link equity from your content to the new URL. Links that result in a status code 301 does give slightly less link equity than 200. So if you have a lot of links going through a 301 Permanent Redirect it is advised to fix these, if possible.
What does 302 Found (Previously “Moved temporarily”) mean?
The 302 Found status code, previously known as “Moved temporarily”, means that the URI of the request has been changed temporarily, and since changes can be made to the URI in the future, the effective request URI should be used for future requests.
When looking at things SEO-wise the 302 Found should only be used when making temporary changes as it does not pass the link equity the same way as a 301. If the page is not going to come back you should always use 301.
What does 303 See Other mean?
The 303 See Other response code is sent by the server in order to direct the client to get the requested resource at another URI with a GET request.
What does 304 Not Modified mean?
The 304 Not Modified response code informs the client that the response has not been modified. This means that the client can continue to use the already present, cached version of the response.
What does 305 Use Proxy mean?
The 305 Use Proxy status code instructs a client that it should connect to a proxy and then repeat the same request there. This response code is deprecated due to security concerns.
What does 306 Switch Proxy mean?
The 306 Switch proxy status code is no longer in use. It was used to inform the client that the subsequent requests should use the specified proxy.
What does 307 Temporary Redirect mean?
The 307 Temporary Redirect status code gets sent by the server in order to direct the client to the requested resource at another URI. The request method, however, must not be changed.
What does 308 Permanent Redirect mean?
The 308 Permanent Redirect status code means that the requested resource has been permanently assigned a new URI and future references to the resource should be made by using one of the enclosed URIs.
What does a 4xx Client Error mean?
A 4xx Client Error status code means that the website or the page could not be reached and either the page is unavailable or the request contains bad syntax.
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Payload Too Large
- 414 URI Too Long
- 415 Unsupported Media Type
- 416 Range Not Satisfiable
- 417 Expectation Failed
- 418 I'm a Teapot
- 421 Misdirected Request
- 422 Unprocessable Entity
- 423 Locked
- 424 Failed Dependency
- 425 Too Early
- 426 Upgrade Required
- 428 Precondition Required
- 429 Too Many Requests
- 431 Request Header Fields Too Large
- 451 Unavailable For Legal Reasons
What does 400 Bad Request mean?
The 400 Bad Request status code means that the server could not understand the request because of invalid syntax.
What does 401 Unauthorized mean?
The 401 Unauthorized status code means that the request has not been applied because the server requires user authentication.
What does 402 Payment Required mean?
The 402 Payment Required status code is a response reserved for future use. It was originally created to be implemented in digital payment systems, however, it is rarely used and a standard convention of using it does not exist.
What does 403 Forbidden mean?
The 403 Forbidden status code means that the client request has been rejected because the client does not have rights to access the content. Unlike a 401 error, the client's identity is known to the server, but since they are not authorized to view the content, giving the proper response is rejected by the server.
What does 404 Not Found mean?
The 404 Not Found status code means that the server either did not find a current representation for the requested resource or is trying to hide its existence from an unauthorized client.
When looking at things SEO-wise the 404 Not Found status code pages with a high volume of traffic should be redirected using a 301 to the most relevant page possible. For some pages, however, a 404 might be necessary, for example, if the product is out of stock for an extended period of time. If you have external links pointing to a page that returns 404, you will lose the link equity those links would otherwise give.
What does 405 Method Not Allowed mean?
The 405 Method Not Allowed status code means that while the server knows the request method, the method has been disabled and can not be used.
What does 406 Not Acceptable mean?
The 406 Not Acceptable status code is sent by the server when it does not find any content following the criteria given by the user agent.
What does 407 Proxy Authentication Required mean?
The 407 Proxy Authentication Required status code means that the client must first be authenticated by a proxy (similar to a 401).
What does 408 Request Timeout mean?
The 408 Request Timeout status code means that the server did not receive a complete request in the time that it prepared to wait.
What does 409 Conflict mean?
The 409 Conflict status code means that the request could not be fulfilled due to a conflict with the current state of the target resource and is used in situations where the user might be able to resubmit the request after resolving the conflict.
What does 410 Gone mean?
The 410 Gone status code means that the target resource has been deleted and the condition seems to be permanent.
When looking at things SEO-wise the 410 Gone status code is a more permanent version a 404. The page will no longer be available from the server and has no forwarding address available. If you want to completely remove a page from Googles search index, then using 410 on a page is the proper way of doing it (instead of simply 404).
What does 411 Length Required mean?
The 411 Length Required status code means that the server has rejected the request because it requires the Content-Length header field to be defined.
What does 412 Precondition Failed mean?
The 412 Precondition Failed status code means the server does not meet one or multiple preconditions that were indicated in the request header fields.
What does 413 Payload Too Large mean?
The 413 Payload Too Large status code means the server refuses to process the request because the request payload is larger than the server is able or willing to process. While the server may close the connection to prevent the client from continuing the request, it should generate a Retry-After header field and after how long can the client retry.
What does 414 URI Too Long mean?
The 414 URI Too Long status code means that the server is refusing to service the request because the request-target was longer than the server was willing to interpret.
What does 415 Unsupported Media Type mean?
The 415 Unsupported Media Type status code means that the server is rejecting the request because it does not support the media format of the requested data.
What does 416 Range Not Satisfiable mean?
The 416 Range Not Satisfiable status code means that the range specified in the Range header field of the request can't be fulfilled. The reason might be that the given range is outside the size of the target URI's data.
What does 417 Expectation Failed mean?
The 417 Expectation Failed status code means that the Expectation indicated by the Expect request-header field could not be met by the server.
What does 418 I’m a Teapot mean?
The 418 I'm a Teapot status code means that the server refuses to brew coffee because it is, in fact, a teapot. (It is a reference to a 1998 April Fools' joke called ''Hyper Text Coffee Pot Control Protocol'').
What does 421 Misdirected Request mean?
The 421 Misdirected Request status code means that the client request was directed at a server that is not configured to produce a response.
What does 422 Unprocessable Entity mean?
The 422 Unprocessable Entity status code means that while the request was well-formed, the server was unable to follow it, due to semantic errors.
What does 423 Locked mean?
The 423 Locked status code means that the resource that is being accessed is locked.
What does 424 Failed Dependency mean?
The 424 Failed Dependency status code means that the request failed due to the failure of a previous request.
What does 425 Too Early mean?
The 425 Too Early status code means that the server is not willing to risk processing a request that might be replayed.
What does 426 Upgrade Required mean?
The 426 Upgrade Required status code means that while the server refuses to perform the given request using the current protocol, it might be willing to do so after the client has been upgraded to a different protocol.
What does 428 Precondition Required mean?
The 428 Precondition Required status code means that the origin server requires the request to be conditional.
What does 429 Too Many Requests mean?
The 429 Too Many Requests response code means that in the given time, the user has sent too many requests.
What does 431 Request Header Fields Too Large mean?
The 431 Request Header Fields Too Large means that the server is not willing to process the request because its header fields are indeed too large, however, the request may be submitted again once the size of the request header fields is reduced.
What does 451 Unavailable For Legal Reasons mean?
The 451 Unavailable For Legal Reasons response code means that the user has requested an illegal resource (such as pages and sites blocked by the government).
What does a 5xx Server error mean?
A 5xx Server error status code means that while the request appears to be valid, the server could not complete the request.
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates
- 507 Insufficient Storage
- 508 Loop Detected
- 510 Not Extended
- 511 Network Authentication Required
What does 500 Internal Server Error mean?
The 500 Internal Server Error status code means that the server has encountered a situation that it does not know how to handle.
When looking at things SEO-wise the 500 Internal Server Error indicates a problem with the server, not the actual availability of the content. Since bots and users will both be lost, the link equity will go down fast.
What does 501 Not Implemented mean?
The 501 Not Implemented response code means that the request can not be handled because it is not supported by the server.
What does 502 Bad Gateway mean?
The 502 Bad Gateway response code means that the server received an invalid response while working as a gateway to handle the response.
What does 503 Service Unavailable mean?
The 503 Service Unavailable response code means that the server is currently not ready to handle the request. This is a common occurrence when the server is down for maintenance or is overloaded.
When looking at things SEO-wise the 503 Service Unavailable status code means that the server is unavailable and the visitor, bot or human, is asked to return again at a later time. This could be because of either server maintenance or server overload and search engines know to come back and check the availability later.
What does 504 Gateway Timeout mean?
The 504 Gateway Timeout response code means that the server acting as a gateway could not get a response time.
What does 505 HTTP Version Not Supported mean?
The 505 HTTP Version Not Supported response code means that the version of HTTP used in the request is not supported by the server.
What does 506 Variant Also Negotiates mean?
The 506 Variant Also Negotiates response code means that the server has the following internal configuration error: The chosen variant resource is configured to engage in transparent negotiation itself, therefore it cannot be a proper endpoint in the negotiation process.
What does 507 Insufficient Storage mean?
The 507 Insufficient Storage status code means that the method could not be performed on the resource because the server is not able to store the representation that would be needed to complete the request successfully.
What does 508 Loop Detected mean?
The 508 Loop Detected response code means that the server has detected an infinite loop while processing the request.
What does 510 Not Extended mean?
The 510 Not Extended response code means that further extensions are required for the server to be able to fulfil the request.
What does 511 Network Authentication Required mean?
The 511 Network Authentication Required response code indicates that the client needs to authenticate to gain network access.
How to fix 404 errors
HTTP status code 404 means "Page Not Found". This means that the request you sent was received by the server, but it could not find the page you were looking for.
So to fix the 404 error you first need to find the cause for it, which can be due to many things. But since you know that the server is reachable (otherwise it would have returned a 5xx error), you know that the error is client-side. Basically that means it's your fault (not as harsh as it sounds).
Luckily it means that you can also fix the error on your end without having to do anything with your server.
Run through this checklist to fix the 404 error:
- Refresh the page. It might seem simple, but a 404 error could have just been a temporary issue that is fixed simply by trying again.
- Check the URL you typed in. Did you make a mistake somewhere? If it's not exactly right a 404 is to be expected (unless a 3xx redirect is set up)
- If no mistake was made, try again from a different device like your mobile phone or tablet. If it works from a different device it's most likely due to browser cache and cookies. Clear the browser cache and delete cookies, then try to access the page again.
If none of the above tricks worked, it's likely that the piece of content was deleted or some other way moved.
If the content was moved, which caused it to change URL, then you should make sure to set up a redirect that points from the old URL to the new one. That way you're sure that anyone looking for the page can still find it.
If it was deleted, then a 404 error is the right response as the page truly was not found on your website and everything is working as it should. If you see a lot of your visitors ending up on this page, then it's most likely due to one of 2 things:
- You have an internal link on your website pointing to the page. If that's the case, you should remove (or change) this link so it no longer points to a page that is not found.
- External websites link to the page. This is trickier as you can't simply change it (although you can reach out the sites and ask them to change it). A more simple thing for you to do would be to add a 301 redirect and point from the page to a different page on your website. That way you lead people to a page that is working, while also being a SEO-friendly option.
How to fix 503 errors
The 503 response code means "Service Unavailable" and happens when a server is currently not ready to handle the request. This can be either due to the server being down for maintenance or if it is overloaded.
If this error occurs on your own website, you need to have a look at your server, as something is making it unable to process the requests made.
Unfortunately it's not always easy and simple to fix. A 503 response code can be due to many things, but at least you know it's server-related and not client-side like with a 404 error.
Here's a list of steps you can go through to identify and fix a 503 error:
- Is your website still running and receiving traffic? Check your Analytics tools or server logs to see if other visitors are getting through to your website.
- If it's no longer receiving traffic your server might be under maintenance or have crashed. If it's under maintenance then a 503 is to be expected and everything will work fine once it's done. If it crashed you should try restarting it.
- If you're receiving huge amounts of website traffic, the server is most likely overloaded and returning 503 errors because it doesn't have the resources to keep up. Before fixing such an issue you need to identify it the traffic is from real visitors or if you're the victim of a DoS or DDoS attack.
- Identifying a DoS or DDoS attack can be hard, but the most effective ways are:
- Checking if one or more IP addresses make a lot of requests
- The TTL (time to live) on a ping request times out
- Analyzing the server logs and seeing huge spikes in traffic
- If it looks to be a DoS or DDoS attack, you'll need to apply one or more defense techniques to stop the attack.
- If it is not a DoS or DDoS attack, then your website has most likely become more popular than your server can handle. The best way to fix such an issue is to look at connection limits, bandwidth throttling, system resources, fail-safes that might have triggered or anything that might be limiting server performance. Essentially you'll need to upgrade your server so it has the proper resources to handle the traffic.
The above list is great for troubleshooting one-off 503 errors. But if it happens on a regular basis, then it might be a more permanent problem with your server that you should dive deeper into fixing. This can be inefficient processes using up all of your resources or your server simply not having enough allocated resources to handle the traffic your website is receiving.