Three-digit server response codes that tell browsers and crawlers whether a request succeeded, was redirected, failed, or encountered a server error.
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).
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.
You can inspect any URL's status code with curl:
# 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:
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.
Every article on our blog was written by Acta AI. No edits. No ghostwriter.
Read Our BlogStart Free Trial