HTTP Status Codes & SEO Guide
A complete searchable reference for all HTTP/1.1 and HTTP/2 response codes, their technical definitions, and real-world search indexing impacts.
Continue
The server has received the request headers and the client should proceed to send the request body.
Zero SEO impact. Intermediate protocol status before the final response.
Switching Protocols
The requester has asked the server to switch protocols (e.g. upgrading HTTP/1.1 to WebSockets).
Not applicable for web crawlers; used for real-time bidirectional WebSocket connections.
Early Hints
Allows the server to send preloading Link headers before the final HTTP response is ready.
High positive performance impact! Accelerates Largest Contentful Paint (LCP) and server TTFB.
OK
Standard response for successful HTTP requests. The requested resource has been fetched and transmitted in the message body.
Primary target status for search indexing. Signals to Googlebot that the URL is healthy and ready to index.
Created
The request has been fulfilled and resulted in a new resource being created (common for POST/PUT REST APIs).
Typically used in transactional backend APIs; rarely served directly to search engine crawlers.
No Content
The server successfully processed the request, but is not returning any content in the response body.
If served on HTML pages, Googlebot treats this as an empty page and will not index it.
Partial Content
The server is delivering only part of the resource due to a Range header sent by the client (video streaming, resuming downloads).
Important for media streaming bots and rich video indexing.
Moved Permanently
The requested resource has been assigned a new permanent URI. Any future references should use the returned Location header.
Crucial SEO status! Passes 95-99% of PageRank / link equity to the destination URL. Google indexes the target URL.
Found (Temporary Redirect)
The target resource resides temporarily under a different URI. The client should continue to use the original URI for future requests.
Does NOT pass full link equity. Google continues indexing the original URL rather than the destination.
Not Modified
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match.
Highly beneficial for crawl budget! Saves crawler bandwidth and confirms existing indexed cache is valid.
Temporary Redirect
The target resource resides temporarily under a different URI. Guarantees that the HTTP request method (POST/GET) will NOT be changed when redirecting.
Treated as a temporary redirect by search engines. Original URL remains in Google search index.
Permanent Redirect
The resource resides permanently under a new URI, strictly preserving the HTTP request method.
Passes PageRank and link equity identically to 301, while preserving POST payloads.
Bad Request
The server cannot process the request due to a client error (e.g., malformed request syntax, invalid query parameters).
Negative SEO signal. If crawlers hit 400 errors, indexing will fail and crawl frequency will decline.
Unauthorized
The request has not been applied because it lacks valid authentication credentials for the target resource.
Search crawlers cannot log in. The page will NOT be indexed by Google Search.
Forbidden
The server understood the request but refuses to authorize it (e.g. geo-blocking, IP firewall, permission denial).
If Googlebot receives 403 Forbidden, it cannot access content and will de-index the page over time.
Not Found
The origin server did not find a current representation for the target resource.
Googlebot will eventually remove 404 URLs from the search index after multiple failed crawl attempts.
Gone
The target resource is permanently deleted on the origin server and no forwarding address is known.
Faster de-indexing than 404! Tells Googlebot to immediately purge the URL from search results.
Too Many Requests
The user has sent too many requests in a given amount of time ('rate limiting').
Critical risk! If returned to Googlebot, it will severely reduce its crawling rate across your entire domain.
Unavailable For Legal Reasons
The server is denying access to the resource as a consequence of a legal demand (e.g. copyright, court order).
Informs crawlers and users that content is restricted due to legal compliance.
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
Severe SEO damage! Frequent 500 errors cause Google to lower organic rankings and reduce crawl budget.
Bad Gateway
The server, while acting as a gateway or proxy, received an invalid response from the inbound upstream server.
Common when reverse proxies (Nginx/Cloudflare) cannot reach backend Node/PHP applications. Hurts indexing.
Service Unavailable
The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.
Best practice for maintenance! When paired with a `Retry-After` header, Googlebot will retry without dropping rankings.
Gateway Timeout
The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server.
Signals excessive database latency or backend crashes; harms Core Web Vitals and search rankings.
About this tool
Comprehensive documentation & audit utility guideHTTP status codes are standard 3-digit response codes issued by servers in response to client requests. For webmasters and technical SEOs, status codes determine whether Googlebot can crawl content, how link equity (PageRank) is distributed across redirects, and whether non-functional URLs are purged cleanly.
How it works
Search or Filter Code
Quickly locate any status code by typing the number or filtering by category (1xx through 5xx).
Review SEO Implications
Read the dedicated SEO & search engine crawling assessment for link equity and indexability effects.
Implement Fixes
Use the standard definitions to configure proper Nginx/Apache responses or resolve upstream 5xx errors.
