Developer Tools
HTTP Status Code Lookup
What every HTTP status code means, and what it means for SEO.
HTTP status codes
| Code | Name | Meaning | SEO note |
|---|---|---|---|
| 100 | Continue | The server received the request headers; the client should send the body. | |
| 101 | Switching Protocols | The server is switching protocol, e.g. to WebSocket. | |
| 103 | Early Hints | Preload hints sent before the final response. | Can speed up page loads. |
| 200 | OK | The request succeeded. | Normal indexable response. |
| 201 | Created | A new resource was created. | |
| 202 | Accepted | Accepted for processing, not finished yet. | |
| 204 | No Content | Success, with no body. | Not indexable - there is no content. |
| 206 | Partial Content | Part of the resource (range request). | |
| 301 | Moved Permanently | The resource has a new permanent URL. | Use for permanent moves - search engines transfer signals to the new URL. |
| 302 | Found | Temporary redirect. | Search engines usually keep the old URL indexed. Use 301/308 for permanent moves. |
| 303 | See Other | Go to another URL with GET (after a form POST). | |
| 304 | Not Modified | The cached copy is still valid. | Good - saves crawl budget and bandwidth. |
| 307 | Temporary Redirect | Temporary redirect keeping the HTTP method. | Treated like 302. Browsers also use 307 internally for HSTS upgrades. |
| 308 | Permanent Redirect | Permanent redirect keeping the HTTP method. | Treated like 301. |
| 400 | Bad Request | The request was malformed. | |
| 401 | Unauthorized | Authentication is required. | Not indexable. |
| 403 | Forbidden | The server refuses the request. | Not indexable. Check a firewall/WAF is not blocking search engine crawlers. |
| 404 | Not Found | Nothing exists at this URL. | Dropped from the index over time. Redirect removed pages that have links/traffic. |
| 405 | Method Not Allowed | The HTTP method is not supported for this URL. | |
| 406 | Not Acceptable | No representation matches the Accept headers. | |
| 408 | Request Timeout | The client took too long to send the request. | |
| 409 | Conflict | Conflicts with the current state of the resource. | |
| 410 | Gone | Removed permanently, on purpose. | Removed from the index faster than 404. |
| 413 | Content Too Large | The request body is too large. | |
| 414 | URI Too Long | The URL is too long. | |
| 415 | Unsupported Media Type | The body format is not supported. | |
| 418 | I'm a teapot | An April-fools status (RFC 2324). | |
| 421 | Misdirected Request | The request reached a server that cannot answer for this host. | Often a TLS/HTTP2 virtual-host configuration problem. |
| 422 | Unprocessable Content | Syntactically fine, but semantically invalid. | |
| 425 | Too Early | The server will not process a replayed early-data request. | |
| 426 | Upgrade Required | Switch to another protocol. | |
| 429 | Too Many Requests | Rate limit exceeded. | Crawlers slow down; persistent 429s reduce crawling. |
| 431 | Request Header Fields Too Large | Headers (often cookies) are too big. | |
| 451 | Unavailable For Legal Reasons | Blocked for legal reasons. | |
| 500 | Internal Server Error | A generic server error. | Persistent 5xx errors make search engines crawl less and eventually drop pages. |
| 501 | Not Implemented | The server does not support the method. | |
| 502 | Bad Gateway | A proxy/CDN got an invalid response from the origin. | Treated as a temporary server error. |
| 503 | Service Unavailable | Temporarily overloaded or in maintenance. | The right code for planned maintenance (with Retry-After). |
| 504 | Gateway Timeout | A proxy/CDN timed out waiting for the origin. | Treated as a temporary server error. |
| 505 | HTTP Version Not Supported | The HTTP version is not supported. | |
| 507 | Insufficient Storage | The server is out of storage. | |
| 508 | Loop Detected | An infinite loop was detected. | |
| 511 | Network Authentication Required | Captive portal / network login needed. | |
| 520 | (Cloudflare) Unknown Error | The origin returned an unexpected response to Cloudflare. | |
| 521 | (Cloudflare) Web Server Is Down | Cloudflare could not connect to the origin. | |
| 522 | (Cloudflare) Connection Timed Out | The origin did not complete the TCP handshake. | |
| 523 | (Cloudflare) Origin Is Unreachable | ||
| 524 | (Cloudflare) A Timeout Occurred | The origin accepted the connection but did not respond in time. | |
| 525 | (Cloudflare) SSL Handshake Failed | ||
| 526 | (Cloudflare) Invalid SSL Certificate | The origin certificate is invalid. |