How to Check your HTTP Response Status Code

September 16, 2019

Every page on every website returns a numerical code that indicates the page’s status. A normal page returns a status 200 indicating everything is in working order. Page’s that aren’t in perfect working order return a different code, such as a not found page returning a status 404 indicating the requested URL couldn’t be found. These numbers are called HTTP Response Status Codes.

You can see all the status codes on Mozilla’s list, but some of the more common status codes that most affect websites, impacting UX and SEO, include:

  • 200 – Ok – the page is successfully loaded
  • 301 – Permanent redirect
  • 302 – Temporary redirect (technically “found”)
  • 403 – Forbidden (i.e. password protected)
  • 404 – Not Found
  • 410 – Gone/removed page
  • 500 – Internal server error
  • 503 – Service unavailable

You want to make sure that every page on your website returns a proper status code that accurately reflects the nature of the page. If the nature of the page and the status code are in conflict, search robots can be confused by your website and that confusion will affect rankings and, ultimately, traffic. The most common example of this status vs. page conflict is a Soft 404, where the status code is 200, indicating everything is OK, but the page content says the requested file could not be found.

The important step is knowing what status code each page currently returns on your website. How do you check the status code for your website’s pages?

Checking HTTP Response Status Codes

There are a number of tools that can assist in this effort. For a one-by-one analysis of a page, I recommend WebSniffer’s header check tool. When you arrive on the page, you want to enter the URL to the page you want to test. Then click submit for a basic check.

For a more advanced check, Web Sniffer lets you configure a few extra settings, including changing the user-agent from Web-Sniffer to different browsers or to Googlebot. That provides a helpful way to determine if every browser sees your website the same way and if Googlebot can see the website the same way as a human visitor.

After you’ve submitted, Web Sniffer will give you three pieces of information. First, Web Sniffer will give you the request header. This repeats the settings you had specified on the first step and can generally be ignored. But, if you need to remember what settings you had entered, especially if you used any of the advanced configurations, this request header information can be useful.

Web Sniffer Request Header

The more interesting information, and what we are after, is the response header. In this example, we can see that the requested URL of returns an HTTP response status code of 301, indicated the URL has moved permanently. Within the response header we can use “Location” to see where this URL redirects to—in this case, it redirects to That means the non-secure HTTP redirects to HTTPS, which is the expected behavior.

Websniffer Response Header

Finally, Web Sniffer also can give you the content of the returned page if the content-length of the response header is greater than 0. In the case of a redirected page, the content-length is 0—that’s because no content is returned by the server when a redirect occurs. To see an example of this, let’s run a URL that returns a status code of 200.

WebSniffer - HTTP Response 200

Below this table, we can see the content for the status 200 page. In this case, this is the HTML code that makes up Elementive’s home page. This helps you compare what is returned against what you expected to be returned. As well, you can check what is returned in the browser matches. For example, perhaps you load the page as Googlebot in Web Sniffer and see an entirely different HTML code than you do when loading the site in a browser—this would be a big problem for SEO and one you’d want to fix immediately.

Alternative Method for Checking Status Codes in Bulk

Instead of checking an individual page at a time, you can also check several pages at once using a crawl tool. Free crawl tools exist or you can use a tool like Screaming Frog to check this as well. After running a crawl, you will see a list of all pages contained on your website and their respective status codes. Pay attention to any that don’t return a status 200.

Following Redirect Chains

For any URL that returns a 301 or 302—meaning the URL redirects somewhere else—it can be helpful to know where those URLs redirect. As well, you’ll want to check if the redirect happens in one step or multiple steps. There are several tools for this but one we recommend is a simple and free tool called To begin, enter in a URL that redirects, in this case I’ve entered in “”. Then click “Trace URL”. - A Tool for checking redirect destinations

The results will then tell you where this URL redirects to. In this example, /chain redirects to chain-1, which redirects to chain-2, which redirects to chain-3, which redirects to chain-4, and chain-4 redirects to Elementive’s home page. Redirect Chain Trace

Need Help?

If you have questions about what response status codes your website returns, or want help resolving any related problems, please check out my book, Tech SEO Guide, or contact me.

You may also like

Handling Out of Stock & Removed Product Pages

How do you remove products from your website without harming your users or SEO performance—or at least minimize the harm? In this post, Matthew walks through the different options available.

How to Upgrade to GA4 & Should You?

How and when should you upgrade to the new version of Google Analytics, GA4? In this article, Matthew walks through the options you have to upgrade.

What Should a Tech SEO Audit Look At?

What should you review in a Technical SEO Audit? Matthew discusses the guiding questions you need to use during an audit and how they can help you structure your audit.