{"id":2079,"date":"2019-12-12T17:39:25","date_gmt":"2019-12-12T17:39:25","guid":{"rendered":"https:\/\/www.seotesteronline.com\/?p=2079"},"modified":"2021-05-19T13:31:58","modified_gmt":"2021-05-19T13:31:58","slug":"http-status-codes","status":"publish","type":"post","link":"https:\/\/www.seotesteronline.com\/blog\/technical-seo\/http-status-codes\/","title":{"rendered":"Guide to HTTP Status Codes"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">HTTP status codes are <\/span><b>standard messages that occur between the client and the server<\/b><span style=\"font-weight: 400;\"> when they communicate through the HTTP (that stands for <\/span><i><span style=\"font-weight: 400;\">hypertext transfer protocol<\/span><\/i><span style=\"font-weight: 400;\">).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example, when you (the client) click on a link or type a URL on the address bar, you are sending a request to the server. You&#8217;re asking it to let you view a webpage. T<\/span><b>he &#8220;language&#8221; of this request is the HTTP. <\/b><span style=\"font-weight: 400;\">The response you get from the server is a three-figures code.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this article, we\u2019ll sort the most common HTTP status codes.<\/span><\/p>\n<p><b>The codes consist of five classes:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">informational responses;\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">successful responses;<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">redirect information;<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">client error responses;\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">server error responses.<\/span><\/li>\n<\/ul>\n<h2>100 HTTP status codes (informational responses)<\/h2>\n<p><span style=\"font-weight: 400;\">These codes tell us that the server received the request, and it is processing it. The answer can be:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>100 (continue):<\/b><span style=\"font-weight: 400;\"> the server received the request header (the information about the request). The client can go on sending the request body (the actual data payload);<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>101 (switching protocols): <\/b><span style=\"font-weight: 400;\">the server received the client&#8217;s request to switch protocol.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>102 (processing): <\/b><span style=\"font-weight: 400;\">the server got the request, but it cannot respond yet. It&#8217;s a response given to keep the connection from going timeout.<\/span><\/li>\n<\/ul>\n<h2>200 HTTP status codes (successful responses)<\/h2>\n<p><span style=\"font-weight: 400;\">Successful responses begin with number two. They mean that the server received the request and has accepted it:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>200 (OK):<\/b><span style=\"font-weight: 400;\"> it is the generic success response;<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>201 (Created): <\/b><span style=\"font-weight: 400;\">The server created the requested resource ;<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>202 (Accepted): <\/b><span style=\"font-weight: 400;\">The server accepted the request, but it is still working to return the response.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>203 (Non-Authoritative Information)<\/b><span style=\"font-weight: 400;\">: same as 200. A transforming proxy has received the request. On its turn, it returns a modified response.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>204 (No Content): <\/b><span style=\"font-weight: 400;\">The server has successfully processed the request and returned no content.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>205 (Reset Content): <\/b><span style=\"font-weight: 400;\">Same as 204. Also, the response requires the reset of the document view by the requester.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>206 (Partial Content): <\/b><span style=\"font-weight: 400;\">The server is returning only a part of the resource requested by the client. The range header causes this. The client sends the range header. Its role is to fraction a large download into many smaller, simultaneous ones.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>207 (Multi-Status): <\/b><span style=\"font-weight: 400;\">this is a response to multiple requests. It indicates that the body includes the former response codes.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>208 (Already reported): <\/b><span style=\"font-weight: 400;\">Used in <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/WebDAV\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">DAV<\/span><\/a><span style=\"font-weight: 400;\"> responses. It suggests that a previous 207 code reports the responses.<\/span><\/li>\n<\/ul>\n<h2>300 HTTP Status codes (Redirections)<\/h2>\n<p><span style=\"font-weight: 400;\">These status codes indicate that the server needs to take additional action to complete the request, such as redirection.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Redirection is essential in SEO. We can set this function to tell the browser that the resource is not in the original URL anymore. It is useful when we delete a page, and we want to redirect the user to a 404 page.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another reason could be the change of the URL structure or the domain.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>300 (Multiple Choices): <\/b><span style=\"font-weight: 400;\">the client has multiple options, for example, regarding the format in which download the requested resource.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>301 (Moved Permanently): <\/b><span style=\"font-weight: 400;\">the client must direct the request (and all future requests) to another URI.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>302 (Found): <\/b><span style=\"font-weight: 400;\">can be used to indicate a temporary redirection, or to tell the client to look for another URL.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>303 (See Other): <\/b><span style=\"font-weight: 400;\">the client can find the requested resource at another URI.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>304 (Not Modified): <\/b><span style=\"font-weight: 400;\">the client already possesses the requested resource. The server cannot provide a more updated version.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>305 (Use Proxy): <\/b><span style=\"font-weight: 400;\">The requested resource is available through a proxy.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>307 (Temporary Redirect): <\/b><span style=\"font-weight: 400;\">Same as 302.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>308 (Permanent Redirect): <\/b><span style=\"font-weight: 400;\">Same as 301.<\/span><\/li>\n<\/ul>\n<h2>400 HTTP Status codes (Client errors)<\/h2>\n<p><span style=\"font-weight: 400;\">This code means an error that concerns the client.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It can be a bad request, a not found requested resource or a lack of privileges to access it.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The response must include in its body an explanation of the error and whether it is temporary or permanent.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>400 (Bad Request): <\/b><span style=\"font-weight: 400;\">the server is not able to process the request. It could be because of an error in syntax, a too-large request size, or an invalid request.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>401 (Unauthorized): <\/b><span style=\"font-weight: 400;\">The client cannot access the resource it requested. It failed to authenticate, or there is no authentication possible.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>403 (Forbidden): <\/b><span style=\"font-weight: 400;\">Unlike 401, the client authenticated itself, but the server refuses to process it, nonetheless.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>404 (Not found): <\/b><span style=\"font-weight: 400;\">the most famous response code. The server has not found the requested resource. However, it could be available in the future.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>405 (Method Not Allowed): <\/b><span style=\"font-weight: 400;\">the client sent the request using an invalid method. For example, when you use a GET when you should have used a POST. Want to <\/span><a href=\"https:\/\/restfulapi.net\/http-methods\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">learn more about HTTP methods<\/span><\/a><span style=\"font-weight: 400;\">?<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>406 (Not Acceptable): <\/b><span style=\"font-weight: 400;\">the server can generate the resource requested, but its format is not among those accepted in the request header.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>407 (Proxy authentication): <\/b><span style=\"font-weight: 400;\">The client must authenticate itself with the proxy.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>408 (Request timeout): <\/b><span style=\"font-weight: 400;\">The server timed out while waiting for the request.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>409 (Conflict): <\/b><span style=\"font-weight: 400;\">the request cannot be processed because there is a conflict ongoing between different versions of the same resource. It can happen when the server receives more than one edit request for the same resource at the same time.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>410 (Gone): <\/b><span style=\"font-weight: 400;\">The requested resource is not available. Unlike 404, the resource in question won&#8217;t be available again.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>411 (Length required): <\/b><span style=\"font-weight: 400;\">The request does not contain an indication of the length of its content as required by the resource.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>412 (Precondition Failed): <\/b><span style=\"font-weight: 400;\">The server cannot process the requests. The reason is that it does not possess one<\/span> <span style=\"font-weight: 400;\">of the preconditions specified in the request.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>413 (Request Entity Too Large): <\/b><span style=\"font-weight: 400;\">The request is too large for the server, and it cannot manage it.<\/span><b>\u00a0<\/b><\/li>\n<li style=\"font-weight: 400;\"><b>414 (URI Too Long): <\/b><span style=\"font-weight: 400;\">The <\/span><a href=\"https:\/\/www.w3.org\/Addressing\/URL\/uri-spec.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">URI<\/span><\/a><span style=\"font-weight: 400;\"> contained in the request is too large to be processed by the server.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>415 (Unsupported Media Type): <\/b><span style=\"font-weight: 400;\">The client requested a resource in a format the server doesn&#8217;t support.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>416 (Range Not Satisfiable): <\/b><span style=\"font-weight: 400;\">The client requested a file fragment, but the server cannot satisfy the request.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>417 (Expectation Failed): <\/b><span style=\"font-weight: 400;\">The server cannot comply with the requirements contained in the request header.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>418 (I&#8217;m a teapot): <\/b><span style=\"font-weight: 400;\">It&#8217;s a joke-code by the <\/span><a href=\"https:\/\/www.ietf.org\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">IETF<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>420 (Enhance your calm): <\/b><span style=\"font-weight: 400;\">Used by the Twitter APIs to indicate that the client made too many requests in a short time.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>421 (Misdirected request): <\/b><span style=\"font-weight: 400;\">the server that received the request cannot process it.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>422 (Unprocessable Entity): <\/b><span style=\"font-weight: 400;\">A semantic error prevents the server from processing the request.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>423 (Locked): <\/b><span style=\"font-weight: 400;\">The client cannot access the resource because it is locked.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>426 (Upgrade required): <\/b><span style=\"font-weight: 400;\">The client should use a better security protocol.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>429 (Too many requests): <\/b><span style=\"font-weight: 400;\">The client sent<\/span> <span style=\"font-weight: 400;\">too many requests too fast.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>451 (Unavailable for Legal Reasons): <\/b><span style=\"font-weight: 400;\">The client requested a resource whose access is limited by censorship or government request. It could be a reference to Ray Bradbury&#8217;s <\/span><i><span style=\"font-weight: 400;\">Fahrenheit 451.<\/span><\/i><\/li>\n<\/ul>\n<h2>500 HTTP Status codes<\/h2>\n<p><span style=\"font-weight: 400;\">500 status codes indicate server errors. It means that the client request is correct, but the server cannot perform it.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>500 (Internal Server Error): <\/b><span style=\"font-weight: 400;\">generic error message, unexpected error.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>501 (Not Implemented):<\/b><span style=\"font-weight: 400;\"> the server cannot recognize the request method or is unable to perform the request at the moment.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>502 (Bad Gateway):<\/b><span style=\"font-weight: 400;\"> the server is acting as a proxy. The upstream server sent an invalid response.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>503 (Server Unavailable):<\/b><span style=\"font-weight: 400;\"> the server cannot fulfill the request at the moment because it is down. For example, because it is undergoing maintenance.\u00a0<\/span><\/li>\n<\/ul>\n<h2>Which codes are essential for SEO<\/h2>\n<p><span style=\"font-weight: 400;\">Some codes are more important than others in <\/span><b>SEO<\/b><span style=\"font-weight: 400;\"> because <\/span><b>they can influence the ranking<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We can sort them into three groups.<\/span><\/p>\n<p><b>Found<\/b><\/p>\n<p><span style=\"font-weight: 400;\">It includes only the code 200. It indicates that the page has been found at the indicated URL, as expected.\u00a0<\/span><\/p>\n<p><b>Redirects<\/b><\/p>\n<p><span style=\"font-weight: 400;\">It includes the codes 301,302, 303. They indicate that the resource is elsewhere, either temporarily or permanently. <\/span><b>Their correct implementation is critical to not incur into penalizations<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><b>Not found<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A <\/span><b>404 HTTP status code<\/b><span style=\"font-weight: 400;\"> causes a not smooth crawling, and then the ranking of the whole website can suffer.<\/span><\/p>\n<p><b>Find out which codes your website returns<\/b><\/p>\n<p><span style=\"font-weight: 400;\">To discover <\/span><b>what codes the pages within a website returns<\/b><span style=\"font-weight: 400;\">, scan it with the <\/span><a href=\"https:\/\/suite.seotesteronline.com\/seo-spider\"><span style=\"font-weight: 400;\">SEO Spider<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-3033\" src=\"https:\/\/www.seotesteronline.com\/wp-content\/uploads\/2019\/12\/seo-spider-screen-2.png\" alt=\"SEO Spider screen\" width=\"912\" height=\"423\" srcset=\"https:\/\/www.seotesteronline.com\/wp-content\/uploads\/2019\/12\/seo-spider-screen-2.png 912w, https:\/\/www.seotesteronline.com\/wp-content\/uploads\/2019\/12\/seo-spider-screen-2-300x139.png 300w, https:\/\/www.seotesteronline.com\/wp-content\/uploads\/2019\/12\/seo-spider-screen-2-768x356.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Just enter the URL you want to analyze. Then navigate the menu on the left. Under <\/span><i><span style=\"font-weight: 400;\">Structure, <\/span><\/i><span style=\"font-weight: 400;\">select <\/span><i><span style=\"font-weight: 400;\">Status<\/span><\/i><span style=\"font-weight: 400;\">. You can also filter them by the groups mentioned above.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are the HTTP status codes to check and optimize to improve your site&#8217;s SEO? Read the guide!<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[135],"tags":[],"acf":[],"lang":"en","translations":{"en":2079,"it":2076},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/posts\/2079"}],"collection":[{"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/comments?post=2079"}],"version-history":[{"count":13,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/posts\/2079\/revisions"}],"predecessor-version":[{"id":4576,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/posts\/2079\/revisions\/4576"}],"wp:attachment":[{"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/media?parent=2079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/categories?post=2079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seotesteronline.com\/wp-json\/wp\/v2\/tags?post=2079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}