HTTP Status Codes
Learn what HTTP status codes are, how they affect crawling and indexing, and which codes matter most for your SEO performance.
HTTP status codes are three-digit responses returned by a web server to indicate the result of a browser or crawler request. They are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). Search engines use these codes to determine how to handle each URL they encounter during crawling.
Why They Matter for SEO
Status codes directly control how search engines interact with your pages. A 200 status tells crawlers the page is healthy and should be indexed. A 301 redirect tells them the page has moved permanently. A 404 tells them the page no longer exists. A 5xx error signals server problems that, if persistent, can lead to deindexing. Mismanaged status codes cause crawl waste, lost link equity, and indexing failures.
Key Status Codes for SEO
200 OK is the standard response for a successfully loaded page. Every page you want indexed should return this code. 301 Moved Permanently and 302 Found handle redirects (see 301 redirect and 302 redirect). 304 Not Modified tells crawlers the page has not changed since their last visit, saving crawl budget.
404 Not Found indicates a page does not exist. Occasional 404s are normal, but excessive 404s for previously indexed URLs can indicate site problems. 410 Gone explicitly tells search engines a page has been permanently removed, which leads to faster deindexing than a 404.
503 Service Unavailable is the correct code for planned maintenance, telling search engines to return later without penalizing your rankings. 500 Internal Server Error indicates a server-side problem that needs immediate attention.
Common Mistakes
- Returning 200 for error pages (soft 404s): If your custom 404 page returns a 200 status code, search engines index it as real content. Ensure error pages return proper 4xx codes.
- Ignoring 5xx errors: Persistent server errors cause search engines to reduce crawl frequency and eventually deindex affected pages. Monitor server health continuously.
- Not using 410 for permanently removed content: A 410 code is deindexed faster than a 404. Use it when you know content will never return.
- Returning 302 instead of 301 for permanent moves: This prevents link equity transfer. Always match the redirect code to your intent.
- Not monitoring status codes: Regularly audit your site for unexpected status codes using Google Search Console and crawl tools.
Understanding and properly managing HTTP status codes is fundamental to maintaining a healthy, well-indexed website.