Deepcrawl is now Lumar. Read more.
DeepcrawlはLumarになりました。 詳細はこちら

The ABCs of HTTP Status Codes – SEO Guide

A list of HTTP status codes SEOs should know to improve their websites' crawlability and indexability.

HTTP status code glossary for SEO

A Glossary List of HTTP Status Codes — and How They Impact SEO

 

What is an HTTP status code?

A status code is a piece of information returned by a web server in the HTTP response headers, after receiving a request for a file, such as a web page.

If the server was able to process the request for the web page, the server will usually return a 200 HTTP status, along with the requested web page. This tells the web browser, or crawler, that the request was completed successfully.

If the requested page isn’t available, the server will usually return a 404 status, with an error page. The human being can interpret the error page, but the 404 status can be used by the search engine to understand the request was not completed.

The web server needs to be configured to return the correct status code with every web page they serve.

blocks representing different HTTP status codes

The official list of status codes is listed on the W3C site.

Wikipedia provides a more comprehensive list of known status codes.

 

What are the important HTTP status codes to know for SEO?

  • 200 – This is a ‘valid’ HTTP status code
  • 3xx – Status codes for redirects
  • 4xx – Broken links / missing pages
  • 5xx – Server errors

Read on for details about the key status codes SEOs should know.

green block representing 2xx HTTP status codes, meaning the page is valid and can be shown to a user
Pages with “200” status codes are valid and will successfully be shown to website users.
 

200 OK

A page with a 200 status was successfully returned and can be indexed.

This is the status code you should expect to see for important every page you’re expecting to be indexed and drive traffic.

 

2xx (not 200)

No 2xx status except 200 will be indexed.

 

3xx HTTP Status Codes:

orange and yellow blocks representing 3xx redirects - a type of HTTP status code that sends a user to a different URL
3xx HTTP status codes are used to redirect website visitors to alternate URLs.
 

301 permanent redirect

A 301 response code is returned if the page has been moved to a new URL.

The ‘redirected to’ URL is also included in the header.

Although a page body is often returned with the response, it is not normally displayed, or indexed in Google.

The client which made the request will usually make a subsequent request for the redirected URL.

If the resulting URL after all the redirects is a 200, it will be indexed and the majority of PageRank will go to the target.

It’s possible to chain redirects together. Google will only follow up to 5 redirects in a single crawl. However they will continue following more URLs on subsequent crawls.

301 redirects do not pass the full authority. But if you redirect a full domain, e.g. www to non-www, or http to https, the full authority will be passed over.

Large numbers of 301 redirects and expired/low-value URLs that return 404 errors won’t directly cause any general ranking problems for the site (assuming you’re doing them properly and not losing important pages). But try to avoid chains of multiple redirects.

If you want Google to see your redirected URLs, such as after a URL change, it’s OK to submit the old URLs in a Sitemap to help Google re-crawl them more quickly.

 

302/303/307 temporary redirect

These will be followed by Google and PageRank will flow, but the redirecting URL will stay indexed because the status code indicates this is temporary.

If a single step in the redirect chain is temporary, the entire redirect chain will be treated as temporary.

After a long time, a 302 may be interpreted as a 301.

 

304 not modified

This response indicates the page content hasn’t changed since the last crawl.

The content body is not usually returned, and will not be seen by Google.

 

4xx Status Codes:

4xx HTTP status codes return 'page not found' or other errors indicating broken links
4xx HTTP status codes indicate broken or missing pages on your website.
 

401/403 not authorized

This status code is returned if the requested page required authentication that wasn’t provided.

These pages will not be indexed.

 

404 Not Found

These pages will be removed from Google’s index after multiple crawls

Large numbers of 4xx status codes won’t cause penalties or SEO issues, but linked 404s affect usability. 404s in search results could affect rankings if the user experience drops.

You can submit an XML Sitemap with 404 pages to help get them removed from the index more quickly. It’s best to put them into a separate sitemap so you can see them separately to other indexable URLs.

 

410 Permanently deleted

Pages that return this status code will be removed from Google’s index after the 1st crawl, so it is a better choice than a 404 if you know a page has permanently expired.

 

5xx Status Codes:

5xx status codes indicate server errors on your website
5xx status codes indicate server errors on your website
 

500 Server error

These will be removed from the index after a single or multiple crawls.

Large numbers of 5xx server errors may cause the crawl rate to drop temporarily.

Any URL which returns a 5xx status may be dropped from the index until is has been crawled with a 200 status.

 

503 Temporary Server Error

These will not be removed from the index immediately, like a temporary 500, but will be if the problem persists.

 

Other HTTP Status Codes

Google will simply ignore any pages which return an unrecognized HTTP status code, including all 2xx that are not 200.

 

How do you see the HTTP status code of a URL?

The HTTP status code is displayed in a wide variety of places, including on all Lumar reports.

Google Search Console shows the status codes for crawl errors.

Chrome Developer Console shows the status of every file in the Network view.

Web Sniffer
https://web-sniffer.net/

Use Fetch as Googlebot
It’s possible that a server might return a different status code, depending on who made the request. The only way to know exactly what status codes Google sees for your own sites, is to use Fetch as Googlebot in Search Console.

Lumar’s Website Intelligence Platform
Lumar shows the status code in every report and on the ‘page details’ view.

Start building better online experiences today

Lumar is the website optimization platform behind revenue-driving sites

Avatar image for Sam Marsden
Sam Marsden

SEO & Content Manager

Sam Marsden is Lumar's former SEO & Content Manager and currently Head of SEO at Busuu. Sam speaks regularly at marketing conferences, like SMX and BrightonSEO, and is a contributor to industry publications such as Search Engine Journal and State of Digital.

Newsletter

Get the best digital marketing & SEO insights, straight to your inbox