Understanding status codes is a fundamental tool of SEO. To produce a webpage your chosen browser (Chrome, Internet Explorer, Safari, etc.) sends a request to a server, the server then responds to the request with a three-digit “HTTP Status Code” that either display the webpage, or the error message. Every status code begins with a number 1-5, and a varying array of number combinations after that. What number the status code begins with tells the user (SEO or Webmaster) if things are good, or if there is an error, and what’s causing it.
Status Code Types
- 100 ranged status codes are informational
- 200 ranged status codes are successful
- 300 ranged status codes represent redirection
- 400 ranged status codes are client errors
- 500 ranged status codes are user errors
The most common status codes we see in SEO are 302, 404, 500, and 503.
Status Codes and Fixes
It isn’t typical to see a 200-status code in “real life” as a 200 status means the requested website is being successfully accessed and the server response is as expected – this is good and therefore would not be an error. It means the user is able to access the website or webpage.
A 302 is a temporary redirect – sister to the 301 permanent redirect. Again, we as the user will not see a notice on the page, but 302 redirects are not the best choice for SEO as they dilute link equity. If a page is deleted and gone use a 301 redirect instead so as to pass the old page equity to the new and maintain rankings. If the said page is only temporarily deleted such as an annual promotion or philanthropy initiatives or some other “seasonal” availability then a 302 could work, but still is never really recommended.
A 404 status code, unfortunately, is somewhat common – it’s a “page not found” error. These appear commonly when a page has been deleted but not redirected. The user may have bookmarked the page, or the SERPs have indexed it, but the host no longer holds the file/page/or asset, so the error is returned instead. Another reason a user may receive a 404 error is a miss type, if the actual URL is Example.com/A and the user types Example.com/B – /B does not exist and therefore cannot be found so the user would receive a 404, this is not something any website can avoid, so instead Google recommends creating a custom 404 error page so as help rather than hinder the user experience – especially in the “fat finger” instances you can’t help.
A 403 status code means access is forbidden. It means the request was valid (the webpage exists) but you cannot access it, typically due to permissions.
A 408 status code represents a “time out”. It means the server is taking too long to return a result.
A 500 code represents an internal server issue – this one is BIG! It means your server cannot be reached and therefore your site cannot be accessed. If this issue is occurring as a user I can type in Example.com all day and it will never resolve, but the issue is beyond the user – a 500 error means the bots (such as the Google bots that crawl websites for SERP rankings) cannot access your site either. This error code will hinder your rankings and your visits, its an error code you need to fix ASAP!
A 503 error is a sub error of the dreaded internal server issue, but it’s a tiny bit lighter. 503 Is a temporary server issue message. This error can occur when a website is simply overloaded with visitors. We typically see a “temporarily unavailable come back later” type of message along with the code. While this code is one to address immediately still, it is temporary, and the bots can read that.
Status Code Best Practices
Google and other search engines like well-maintained websites, the goal is to have little 404 errors and no 500 errors, but they happen. The best you can do is be conscious of redirecting deleted pages with a 301 or a 302 redirect to help avoid 404’s. And to have a well maintained, well-functioning, and monitored server to avoid 500 errors. There are plenty of tools and scripts that will monitor your servers’ uptime, and it’s a really good idea to have one to help avoid 505 errors.