Skip to content

HTTP status codes

Also called HTTP response codes, status codes

What are HTTP status codes?

HTTP status codes are three-digit numbers a web server sends with every response to say what happened to the request. 2xx means success, 3xx means the content is elsewhere (a redirect), 4xx means a problem with the request, such as a missing page, and 5xx means the server failed. Search engines use them to decide what to crawl and index.

A server with a blue panel on top, featuring six circular gauges that monitor HTTP status codes.

The ones that matter most for SEO: 200 OK, the page loaded. 301 and 308, permanent redirects. 302, 303 and 307, temporary redirects. 304 Not Modified, the page has not changed since the crawler last saw it. 404 Not Found and 410 Gone, the page does not exist. 429 Too Many Requests, the server is rate-limiting. 500, 502, 503 and 504, server errors.

Why HTTP status codes matter for SEO

Status codes are instructions to crawlers. Google indexes content from 2xx responses, follows 3xx redirects, drops URLs that return 4xx from the index over time, and slows crawling when it sees 5xx or 429. Google treats all 4xx codes other than 429 the same way, so 404 and 410 both remove a page.

Wrong codes cause real problems. A missing page that returns 200 becomes a soft 404. A permanent move done with a 302 keeps the old URL indexed. A server that returns 500 during busy periods gets crawled less. Checking codes across the whole site is the backbone of any technical SEO audit.

How to check HTTP status codes

  1. For one URL, open your browser’s developer tools (Network tab) and reload, or run curl -I https://example.com/page.
  2. For a whole site, crawl it and group pages by status code.
  3. In Google Search Console, the page indexing report lists URLs Google saw as 404, soft 404, redirect or server error, and the Crawl stats report breaks requests down by response.
  4. Fix in order: 5xx first, then broken internal links to 4xx pages, then redirect chains and wrong redirect types.

HTTP status codes example

Common codes
200 OK                   page served, can be indexed
301 Moved Permanently    permanent redirect (308 is equivalent)
302 Found                temporary redirect (307 is equivalent)
304 Not Modified         unchanged since last crawl
404 Not Found            page missing
410 Gone                 page removed on purpose
429 Too Many Requests    rate-limited; Google slows down
500 Internal Server Error
503 Service Unavailable  temporary; use with Retry-After

HTTP status codes FAQ

Which HTTP status codes matter for SEO?

200, 301, 302, 404, 410, 429 and 503 are the ones you will deal with most. They decide whether Google indexes a page, follows it elsewhere, drops it or slows down.

Is 404 or 410 better for removed pages?

Google treats them the same: both lead to the URL being dropped from the index. Use 410 if you want to say the removal is deliberate.

Related SEO terms

Back to the SEO glossary

Put the terms to work

Every term here is something OpenSEO measures. It is open source: start online in a minute, or run it on your own server.