HTTP status codes are three-digit numbers that are sent by a server in response to a client’s request to indicate the outcome of the request. Understanding and appropriately handling HTTP status codes is crucial for SEO, as they impact website indexing, user experience, and search engine rankings. Here’s an overview of some commonly encountered HTTP status codes and how to handle them for SEO purposes:
1. 200 OK: This is the most common HTTP status code, indicating a successful request. It signifies that the server has successfully processed the request and is returning the expected content. A 200 OK status is ideal for SEO because it indicates that the webpage is accessible and functioning correctly.
2. 301 Moved Permanently: When content has permanently moved to a new URL, a 301 redirect should be used to inform search engines and users that the requested resource has been permanently relocated. Implementing 301 redirects correctly ensures that link juice and SEO value from the old URL are transferred to the new URL, preserving search engine rankings and preventing duplicate content issues.
3. 302 Found/Temporarily Moved: A 302 redirect indicates that the requested resource has temporarily moved to a different URL. However, from an SEO perspective, it’s generally recommended to use a 301 redirect instead of a 302 redirect, especially when it comes to redirecting URLs that have significant search engine rankings or backlinks. A 301 redirect passes SEO value to the new URL, while a 302 redirect may not.
4. 404 Not Found: The 404 status code is displayed when the server cannot find the requested resource or webpage. It indicates that the URL is invalid or the content has been removed. For SEO, it’s essential to handle 404 errors properly by providing a user-friendly and helpful error page that guides users to relevant content, offers navigation options, or suggests similar pages. Customized 404 pages can help retain users and prevent negative impacts on SEO.
5. 410 Gone: Similar to the 404 status, a 410 status code indicates that the requested resource is permanently gone and will not return. It’s useful when you want to communicate to search engines that the content has been intentionally removed and will not be coming back. Implementing a 410 status instead of a 404 status can help search engines remove the URL from their index faster, preventing it from appearing in search results.
6. 503 Service Unavailable: This status code is used when the server is temporarily unavailable to handle requests, typically due to maintenance or overload. When serving a 503 status code, it’s recommended to provide a meaningful and custom error page that informs users about the temporary unavailability and offers alternative actions or content. This helps maintain a positive user experience and prevents search engines from interpreting frequent 503 errors as website instability.
Handling HTTP status codes correctly is crucial for SEO. It ensures that search engines can crawl and index your website effectively, helps preserve SEO value during URL migrations or content changes, improves user experience by providing appropriate error pages, and prevents negative impacts on search engine rankings. Regularly monitor your website’s status codes, fix any issues promptly, and provide meaningful responses to both users and search engines.
What is HTTP Status Code?
To be able to understand what an HTTP status code is , you need to first understand how a browser can display web pages .
When you want to open a web page through a browser , the browser that you are using will send a request to access the related web page data to the server where the website is hosted .
The server will then respond to the browser in the form of a 3-digit code that will notify the status of the request, whether the request was successfully fulfilled or not. This code is known as the HTTP status code .
The HTTP status code provided by this server contains information about the availability and state of the web page being accessed by users and search engines .
Therefore, understanding the meaning of each status code can help you identify problems that can prevent users or search engine bots from accessing your website pages.
Kategori HTTP Status Code
HTTP status codes in the form of 3 digit numbers can be categorized into five groups. The first digit in the status code indicates the type of response given by the server to the client ( web browser ).
1xx | Informational | A status code that informs the client that the request is being processed. |
2xx | Success | Status code indicating that the client request has been received and successfully processed by the server . |
3xx | Redirection | The status code informs that the content or data of the web page requested by the client has been moved to another URL address. |
4xx | Client Error | The status code indicates that there is an error or error in the client’s request ( the server cannot find the web page requested by the client ). |
5xx | Server Error | Status code indicating that the client request is valid but failed to be fulfilled by the server . |
Important Status Code for SEO
Referring to the RFC 9110 document, there are at least 40 more standard status codes that are widely used. However, it is likely that friends will only find a few code statuses in the SEO audit or optimization process.
Here are some of the most common and important HTTP status codes for friends to pay attention to when running SEO.
HTTP Status Code 200 – OK
This is an ideal status code indicating that the content on your web page can be accessed by both search engine bots and web visitors . If you find a web page with this status code, then you don’t need to make any corrections.
HTTP Status Code 301 – Moved Permanently
The 301 status code indicates that the web page requested by the client has been moved to another URL. The browser will go to the new URL without first asking for approval from the user.
The 301 status code is commonly used in a number of situations, for example when switching a website from HTTP to HTTPS protocol, when configuring a trailing slash URL, and also when moving part or all of a web page to a new domain.
When dealing with 301 redirects , it’s important that you don’t redirect the old URL to the home page because a redirect like this will be considered a soft 404 by Google, where all ranking signals from the old URL are not redirected to the new URL.
Use a 301 redirect to redirect web visitors to a page with the same or similar content as the old URL.
HTTP Status Code 302 – Found
The 302 status code is almost identical to the 301 status code. However, this status code is more reserved for situations where a web page is only being redirected temporarily, not permanently.
Generally, 302 redirection is used when a website or web page is undergoing temporary repairs or maintenance and the website owner plans to redirect web visitors back to the old URL after the maintenance process is complete.
302 redirection is also common in URL shorteners like bit.ly. When a bit.ly link is accessed, a 302 redirection occurs to the original (longer) URL.
Pages with a 302 redirection will not get page authority or link juice from the old URL because search engines read that this URL redirect is only temporary and the old URL will be reused.
However, if you leave a 302 redirect for a long time, Google will consider the 302 redirect as a permanent redirect like a 301 redirect .
HTTP Status Code 403 – Forbidden
The 403 status code will be received by the client when the server blocks access to the web page and does not allow users to access the page.
This status code can appear for a variety of reasons, for example when the user does not have permission to access the requested page, or for other security reasons that are deemed potentially harmful to the website or harmful to the user.
HTTP Status Code 404 – Not Found
404 Not Found is probably the most common error code that friends find in managing websites . This status code indicates that the server cannot find the page with the URL requested by the client .
Usually, this error code appears when users type the wrong URL in their browser , or access a broken link on a web page that links to a URL that contains a typo .
Pages with a status code of 404 will disrupt the user experience of website visitors which of course will also have a negative impact on your SEO efforts.
When you find that there is a web page with the status code 404 on your website , you need to make sure to remove all links that point to the URL with the error code so that web visitors and search engine bots cannot access it.
HTTP Status Code 500 – Internal Server Error
A 500 status code will be received by the browser when there is an internal server error that causes the web page to be inaccessible. However, this status code does not provide more detail about what is the exact cause of the error.
As an initial investigative step, friends can try to refresh the web page , make sure the URL entered is correct, check the internet connection, or make a clean .htaccess file to avoid certain errors or security issues.
The 503 status code indicates that the website server is currently unavailable and therefore unable to process requests from clients .
Generally, this status code is received by the client when the server is overloaded where the number of users currently accessing the server exceeds the limit. In addition, the 503 status code can also appear when the website is undergoing maintenance .
How to Know the HTTP Status Code on the Website
To find out the status code of a web page, there are several easy ways you can do it.
The first method that friends can use is through the Page Indexing report which friends can find on the Google Search Console account.

There, friends can find various crawling and indexing issues related to the complete HTTP status code along with a collection of problematic URLs found by Google bots .
Apart from that, friends can also use website crawler tools like ScreamingFrog. To find out the status code of a web page using ScreamingFrog, you only need to run the crawl to completion, then check the ‘ status code ‘ column to see the status code of your web page.

You can also find a summary of the number of URLs per status code in the ‘ Overview ‘ section as below.

Complete List of HTTP Status Codes
For friends who also want to understand HTTP status codes apart from what we have mentioned before, here we summarize an explanation of each HTTP status code, referring to the RFC 9110 document.
Status Code | No | Description |
100 | Continue | The server has received a “ header ” request, and the client can now send a “ body ” request. |
101 | Switching Protocols | The server will switch to another protocol to fulfill the client’s request . |
200 | OK | The client request was successfully processed, and the response containing the requested information was successfully provided by the server . |
201 | Created | The client request was successfully processed, and the server has created a new resource which will be sent back in the body of the response. |
202 | Accepted | The client request has been received for processing, but has not been completed. |
203 | Non-Authoritative Information | The response is generated by a source that is not the original server . Usually appears when the use of a proxy is detected . |
204 | No Content | The response was processed successfully, but there is no content to send back to the client . |
205 | Reset Content | The response was successfully processed, but the client must reset the display. |
206 | Partial Content | The server successfully processes the client’s request containing the ” Range ” header and sends only part of the content requested by the client . |
300 | Multiple Choices | The response from the server displays several resources , and the client must choose one. |
301 | Moved Permanently | The resource ( web page data ) requested by the client has been moved to a new URL permanently. |
302 | Found | The resource ( web page data ) requested by the client has been temporarily moved to a new URL. |
303 | See Other | The requested resource has been moved to a different location. The server then responds with a ” Location ” header containing the new URL that the client must access. |
304 | Not Modified | Since the last time it was accessed, the requested resource has not changed. |
307 | Temporary Redirect | The requested resource has been temporarily moved to a new URL. |
308 | Redirect continues | The requested resource has been moved to a new URL permanently. |
400 | Bad Request | The request could not be processed because of a syntax error or invalid parameter. |
401 | Unauthorized | The client must provide credentials to access the requested resource . |
403 | Phobid | The client does not have permission to access the requested resource . |
404 | Not Found | The resource requested by the client is not available on the server . |
405 | Method Not Allowed | The HTTP method used by the client is rejected by the server so that the client’s request cannot be fulfilled. |
406 | Not Acceptable | The server cannot fulfill the client ‘s “ accept header ” request . |
407 | Proxy Authentification Required | The client must provide credentials to access the given proxy . |
408 | Request Timeout | The server ends the connection because the client did not send a request within a certain time. |
409 | Conflict | There is a conflict between the requested data and the data available on the server . |
410 | Gone | The requested resource is no longer available on the server . |
411 | Length Required | The client must include the Content – Length header in its request. |
412 | Precondition Failed | The preconditions (special conditions) provided in the request are not fulfilled. |
413 | Content Too Large | The client request is too large for the server to process . |
414 | URI Too Long | The requested URI is too long for the server to process . |
415 | Unsupported Media Type | The client request has a media type that is not supported by the requested server or resource . |
416 | Range Not Satisfiable | The range in the client request header cannot be fulfilled by the server . |
417 | Expectation Failed | The server cannot satisfy the preconditions specified in the client request’s Expect header . |
421 | Misdirect Request | The request is sent to a server that cannot process it. |
422 | Unprocessable Content | The server has processed the request sent by the client , but the server cannot understand or process the data sent by the client . |
426 | Upgrade Required | The server will process the client request after the client upgrades the protocol used in the request. |
500 | Internal Server Error | The server cannot process the client request due to an internal error. |
501 | Not Implemented | The server does not support the function requested by the client . |
502 | Bad Gateway | The server , while acting as a gateway or proxy , received an invalid response from the server it accessed while trying to fulfill the request. |
503 | Service Unavailable | The server is unavailable so it cannot process requests from clients . |
504 | Gateway Timeout | The server , while acting as a gateway or proxy , does not receive timely responses from upstream servers that it must access to complete client requests . |
505 | HTTP Version Not Supported | The server doesn’t support the major version of HTTP used in client requests . |
Closing
This is a discussion about understanding the HTTP status code and how to find it and tips on optimizing it. To ensure that search engine bots and users can access your website properly, do a website status code audit regularly.
You can adjust the HTTP status code audit frequency according to how often you add content or update your website . The more often you update your website , the more frequent HTTP status code audits are needed.