One of the most common ‘general’ questions I get in my role at Anicca, from clients and new employees learning the SEO / web development ropes, concerns the different server response codes, what they mean and how they can affect SEO.
An understanding of HTTP status codes is important as this leads to an even greater understanding of how web browsers and servers interact with each other – and crucially, what a site needs to do to offer a great user experience and rank well in search engines!
I won’t go into too much detail about this browser/server interaction (I’ll save that for a later blog post!), but in general terms when you visit a web page your browser – Chrome, Firefox, Internet Explorer etc… – requests all the data and code relating to that page from the server. It then uses that data to render the web page that you see on your screen. The various HTTP status codes are used to signify any issues within this process, and can indicate a bigger problem with the way the site is structured.
In total there are around about 75 status codes used to communicate information between servers and browsers, but don’t worry, below I’ve just listed the most important ones and explained exactly what they mean and how they can affect SEO. If you require any further information or help regarding the more technical aspects of SEO, please feel free to get in touch – either via our contact page or Tweet me here: @lukeglassford.
Top 10 most common HTTP status codes
200 – No problems, everything is as it should be.
300 – Multiple choices. This tells the client/browser that there is more than one version of the requested element e.g. a video that is available in a variety of different formats.
301 – Moved permanently. Very important for SEO. If the resource has moved to a new URL, a ‘301 redirect’ will make sure that all the history of the old URL is ‘moved permanently’ to the new URL.
302 – Found / Temporary redirect. This is similar to a 301, but the ‘redirect’ is temporary rather than permanent so none of the history/value of the old version of the URL is transferred.
400 – This is an error code which means the request to the server cannot be fulfilled because of ‘bad syntax’ – basically the server doesn’t understand.
401 – Unauthorized. If you get this error code it basically means you are not authorized to access whatever resource you are trying to access!
403 – Forbidden. Similar to a 401, but a bit more serious as even authentication won’t result in the server fulfilling the request.
404 – Not found. A big one for user experience and SEO – this means the server can’t find what you are looking for. Usually caused by a misspelled or incorrectly formatted URL.
500 – Internal Server Error – An error which means the server encountered an unexpected error so is unable to fulfill the request.
503 – Service Unavailable – This means the server is unable to process the request and is usually caused by overloading or being down for maintenance.
Like I say, there are lots more server response codes but the 10 above are the ones that tend to me the most common and require the most explaining.
If there’s anything I’ve missed then please join the discussion in the comments below and let me know….