When you access a website, your browser tries to communicate with the server in order to retrieve the content of that page. After receiving the request, the server responds with a three-digit code: the HTTP status code. In simple terms, HTTP status codes indicate whether a request was successful, redirected, or affected by an error.
This code tells the browser whether the requested resource is available and what happened when the request was processed.
Contents
Types of HTTP status codes
A status code is a three-digit number. The first digit is always between 1 and 5, which means there are five main ranges of HTTP status codes. Each of those ranges corresponds to a different type of response:
- 1xx – Informational response: these codes are usually invisible to the user. They indicate that the request has been received and understood, but not fully processed yet.
- 2xx – Success response: these codes indicate that the request was processed successfully and that the browser received the expected response. The most common example is 200 OK.
- 3xx – Redirection response: the request was received, but the resource is located somewhere else, so the browser or crawler has to make a new request to another URL.
- 4xx – Client error response: these codes appear when the requested page or resource is not available or cannot be accessed because of a client-side issue. In many cases, the user will see an error page.
- 5xx – Server error response: in this case, the issue is on the server side. The request may be valid, but the server is unable to complete it. These errors are also usually visible to the user.
Which HTTP status codes matter most in SEO?
Within each range, some status codes appear more often than others and are especially worth understanding because of the way they affect both user experience and search engine crawling. The most frequent status codes are the following:
200 – OK
This is the status code that all the accessible pages and resources on your website should return when they are working properly. It indicates that the page is available and that communication between the browser and the server has been completed successfully.
The server receives the request and is able to return the information the browser asked for.
301 – Permanent redirect
A 301 redirect is used when one URL should redirect to another on a permanent basis. Both users and bots are sent from the requested page to the new one.
In SEO, this type of redirect is used to tell search engines that they should stop using the original page and start using the new URL instead. A proper 301 redirect helps preserve the authority of the original page, along with its indexing signals and the value passed by inbound links.
302 – Temporary redirect
A 302 redirect is very similar to a 301, since it also sends users and bots to a different URL. The difference is that, in this case, the redirect is only temporary.
Because it is temporary, search engines do not usually treat the new URL the same way they would after a permanent move. For that reason, a 302 should not be used when the redirect is actually permanent.
404 – Not Found
A 404 status code indicates that the page or file requested by the browser could not be found on the server. A 404 response does not say whether the page is missing temporarily or permanently.
This status code often appears when the page is no longer available or when the content has been moved to another URL. In that second case, it is usually better to set up a 301 redirect to the new location. Google treats 404 as a valid response when a URL does not exist.
410 – Gone
The 410 status code also indicates that the requested content is no longer available. Compared with 404, it is a more permanent signal, because it tells search engines that the requested resource has been removed, is no longer on the server, and does not have an alternative location.
From an SEO point of view, a 410 can help search engines remove the page from the index more quickly, since it clearly indicates that the resource no longer exists and will not return.
500 – Internal Server Error
The 500 status code is one of the most common server errors. It indicates that there is a problem on the server and that users and bots cannot access the content correctly.
If the content cannot be accessed, traffic may be affected and, if the issue lasts for too long, search engines may reduce crawling or struggle to process the affected pages.
503 – Service Unavailable
A 503 response is usually returned when the server is temporarily unavailable. This often happens during maintenance or when the server is overloaded.
The 503 status code tells search engines that the page should be available again soon, since the interruption is only temporary. For that reason, it is the appropriate response when a site or page is temporarily out of service.
Why are HTTP status codes important for SEO?
HTTP status codes affect both users and search engines. On the one hand, user experience can be affected when the response returned is a 4xx client error or a 5xx server error. These responses are usually visible to users, which means that instead of reaching the content they expected to see, they find an error page explaining that something has gone wrong.
From an SEO point of view, error status codes should also be kept under control because they tell search engines that website maintenance is not being handled properly and that the experience is not optimal. They also make it harder for crawlers to find the resources that are actually available. By contrast, 2xx and 3xx responses help bots reach and process the content hosted on the server.

