What Are HTTP Status Codes?
Every time a browser requests a web page, the server responds with a three-digit HTTP status code. This code tells the client (browser, bot, or API consumer) what happened with the request — whether it succeeded, failed, or requires further action.
Status codes are grouped into five classes based on their first digit:
1xx — Informational
These codes indicate the server has received the request and is continuing to process it. They are rarely seen directly by end users.
- 100 Continue: The server has received the request headers and the client should proceed to send the body.
- 101 Switching Protocols: The server is switching protocols as requested by the client (e.g., upgrading to WebSocket).
2xx — Success
These are the codes you want to see. They confirm the request was received, understood, and fulfilled.
- 200 OK: The standard success response. The page loaded normally.
- 201 Created: A resource was successfully created (common in REST APIs).
- 204 No Content: The request succeeded but there's no content to return.
3xx — Redirection
These codes tell the client to take an additional step — usually to follow a redirect to a different URL.
- 301 Moved Permanently: The resource has permanently moved to a new URL.
- 302 Found: Temporary redirect to a different URL.
- 303 See Other: Redirect to a different URL using GET (often after a POST).
- 307 Temporary Redirect: Like 302, but strictly preserves the original HTTP method.
- 308 Permanent Redirect: Like 301, but strictly preserves the original HTTP method.
4xx — Client Errors
These codes indicate the request contains bad syntax or cannot be fulfilled. The problem is on the client's side.
- 400 Bad Request: The server couldn't understand the request due to invalid syntax.
- 401 Unauthorized: Authentication is required and has failed or not been provided.
- 403 Forbidden: The server understood the request but refuses to authorize it.
- 404 Not Found: The requested resource does not exist on the server.
- 410 Gone: The resource has been permanently removed and will not return.
- 429 Too Many Requests: The client has sent too many requests in a given time (rate limiting).
5xx — Server Errors
These codes indicate the server failed to fulfill a valid request. The problem is on the server's side.
- 500 Internal Server Error: A generic catch-all for server-side failures.
- 502 Bad Gateway: The server, acting as a gateway, received an invalid response upstream.
- 503 Service Unavailable: The server is temporarily unable to handle requests (overloaded or down for maintenance).
- 504 Gateway Timeout: The upstream server failed to respond in time.
Which Status Codes Matter Most for SEO?
| Code | SEO Impact |
|---|---|
| 200 | Positive — page is indexable |
| 301 | Positive — passes link equity to new URL |
| 302 | Neutral/negative — link equity may not transfer |
| 404 | Negative — page removed from index over time |
| 410 | Faster de-indexing than 404 |
| 500/503 | Negative — crawlers may stop indexing the site |
Key Takeaway
Understanding HTTP status codes helps you diagnose problems faster, configure redirects correctly, and protect your site's search visibility. Bookmark this guide as a quick reference whenever you're auditing a site or troubleshooting a broken URL.