An HTTP status code is the server's one-line answer to a request: "here's the page", "it moved", "it's gone" or "something broke". Visitors rarely see them, but search engines act on every one.
The five families
| Range | Meaning |
|---|---|
| 1xx | Informational (rarely relevant for SEO) |
| 2xx | Success: the page loaded |
| 3xx | Redirect: the page is somewhere else |
| 4xx | Client error: the page doesn't exist or isn't allowed |
| 5xx | Server error: the server failed |
The codes that matter for SEO
200 OK
The page loaded normally. This is what every page you want indexed should return.
301 Moved Permanently and 308 Permanent Redirect
The page has moved for good. Google transfers signals to the new address and indexes that instead. See 301 vs 302 redirects.
302 Found and 307 Temporary Redirect
A temporary move. Google usually keeps the original address indexed.
304 Not Modified
The page hasn't changed since the last visit, so the browser or crawler can use its cached copy. Good for crawl efficiency.
403 Forbidden
The server refuses access. If Googlebot gets a 403 on pages you want indexed, check firewall and bot-protection rules.
404 Not Found
The page doesn't exist. 404s are normal and don't hurt the rest of your site. Google drops 404 pages from its index over time. Fix them only when they're linked from your own pages or have valuable backlinks.
410 Gone
The page was removed on purpose and isn't coming back. Google may drop a 410 slightly faster than a 404, but treats them very similarly.
429 Too Many Requests
The server is rate-limiting. Google slows its crawling in response. Persistent 429s on Googlebot can reduce how much of your site is crawled.
500, 502, 503 and 504
Server errors. Occasional errors are fine, but persistent ones make Google crawl less and eventually drop pages. Use 503 Service Unavailable during planned maintenance; it tells Google to come back later without dropping anything.