HTTP Status Codes

Technical SEO

Three-digit server response codes that tell browsers and crawlers whether a request succeeded, was redirected, failed, or encountered a server error.

Definition

HTTP status codes are standardized numeric responses defined in the HTTP specification. Every request your browser or a search engine crawler makes to a web server returns a status code indicating what happened. The codes are grouped into five classes by the first digit: 1xx informational, 2xx success, 3xx redirect, 4xx client error, 5xx server error.

For SEO, a handful of specific codes carry real weight: 200 OK (page is live and indexable), 301 Moved Permanently (permanent redirect, passes equity), 302 Found (temporary redirect), 404 Not Found (page does not exist), 410 Gone (page is permanently removed), 500 Internal Server Error (server broke), 503 Service Unavailable (temporary outage, crawler should retry).

Why It Matters

Status codes drive crawler behavior. A 200 on a page that should not exist can create indexing bloat. A 404 on a page that should exist can silently drop it from the index. A 503 that persists for too long tells Google to deprioritize crawling the entire site. A 301 chain that is too long dilutes link equity at each hop.

Auditing status codes is one of the fastest ways to spot technical SEO issues. A full site crawl that returns hundreds of unexpected 404s usually points to a broken link pattern. A spike in 500s in server logs usually means ranking drops are about to follow.

Examples

You can inspect any URL's status code with curl:

bash
# 200 OK, live page, indexable
$ curl -I https://withacta.com/glossary
HTTP/2 200
content-type: text/html

# 301 Moved Permanently, permanent redirect
$ curl -I https://withacta.com/old-blog-url
HTTP/2 301
location: https://withacta.com/new-blog-url

# 404 Not Found, page does not exist
$ curl -I https://withacta.com/does-not-exist
HTTP/2 404

# 410 Gone, page intentionally removed forever
$ curl -I https://withacta.com/retired-feature
HTTP/2 410

# 503 Service Unavailable, temporary, crawler retries
$ curl -I https://withacta.com/maintenance
HTTP/2 503
retry-after: 3600

A quick reference for what to use when:

text
200  OK                  normal live page
301  Moved Permanently   URL changed, passes equity
302  Found               temporary redirect
404  Not Found           missing page, keep in index briefly
410  Gone                deliberately removed, drop faster than 404
500  Internal Error      server bug, fix immediately
503  Service Unavailable planned downtime, set retry-after header

For SEO, the difference between 404 and 410 matters. Google drops 410ed pages from the index faster than 404ed pages. Use 410 when you intentionally delete something.

All Glossary Terms
See it in action

Every article on our blog was written by Acta AI. No edits. No ghostwriter.

Read Our BlogStart Free Trial