Your server talks to browsers using three-digit codes. These HTTP status codes tell you whether a page loaded successfully, got redirected, or crashed. You’ll see them when debugging your site, checking broken links, or trying to figure out why search engines aren’t indexing your pages.
The Internet Assigned Numbers Authority manages these codes. They’re not random. Each code belongs to a specific category that tells you exactly what happened to your request. Understanding them saves you hours of troubleshooting and prevents SEO disasters.
We’ll cover all standardized HTTP response codes, how they impact your search rankings, and which tools catch them before they hurt your traffic.
Understanding HTTP Response Code Categories
HTTP status codes break into five categories. The first digit tells you everything.
- 1XX codes mean your server got the request and it’s processing. You won’t see these in your browser. They’re temporary signals between servers.
- 2XX codes are success. The server understood your request and delivered what you asked for. Your page loaded. Your form submitted. Everything worked.
- 3XX codes mean redirection. The content moved somewhere else, and the server’s sending you to the new location. These can be temporary or permanent.
- 4XX codes flag client errors. You typed a wrong URL. You don’t have permission. The page doesn’t exist. These are on you or your users.
- 5XX codes signal server problems. The hosting crashed. The gateway timed out. The server can’t handle the request. These are hosting or configuration issues.
The Internet Engineering Task Force standardized these categories. They’ve stayed consistent since HTTP became the backbone of the web.
1XX Informational Status Codes
These codes work behind the scenes. Users never see them.
100 Continue
Your server received the request headers and it’s ready for the body. The client should keep sending data. This prevents wasted bandwidth on requests the server will reject anyway.
101 Switching Protocols
The server agreed to switch protocols. This happens when upgrading from HTTP to WebSocket or switching to HTTP/2. The change only occurs if it benefits both sides.
102 Processing
The server’s still working on your request. You’ll see this when operations take longer than expected. It prevents timeouts on slow processes.
103 Early Hints
The server tells your browser to start preloading resources while it prepares the full response. This speeds up page rendering by letting browsers fetch CSS and JavaScript files early.
2XX Success Codes Complete Guide
Success codes confirm your request worked. Here’s what each one means.
200 OK
The request succeeded. What that means depends on the HTTP method. GET fetched the page. POST submitted your form. PUT updated the resource. DELETE removed it. This is the code you want to see.
201 Created
The server created a new resource. You’ll see this after POST or PUT requests. The response includes either a Location header pointing to the new resource or the URI you targeted.
202 Accepted
The server accepted your request but hasn’t processed it yet. This works for batch operations where the server handles requests asynchronously. Your client doesn’t need to wait around for completion.
203 Non-Authoritative Information
The request worked, but a proxy modified the response. The data might differ from what the origin server sent. You’ll see this with cached or mirrored resources where intermediaries transform the content.
204 No Content
The server processed the request successfully but isn’t sending any content back. Use this for actions that don’t require updating the browser view. Your form saved. The resource deleted. No page refresh needed.
205 Reset Content
The request succeeded, and the client should reset the document view. Clear that form. Reset that canvas. Return to default state.
206 Partial Content
The server’s sending part of the resource. This happens when clients use the Range header to request specific chunks. It powers resume functionality on interrupted downloads and enables video streaming.
207 Multi-Status
The response contains status codes for multiple resources. You’ll get an XML message body with a multi-status root element. Each resource gets its own success, partial success, or failure status.
208 Already Reported
This code appears inside DAV responses to prevent duplicate listings. When collections contain internal members, only one resource reports 200 OK. Duplicates get 208.
226 IM Used
The server processed a GET request and applied instance manipulations to the resource. It modified the content based on transformation rules.
3XX Redirect Codes and Their Uses
Redirect codes tell clients the content moved. Some redirects preserve SEO value. Others don’t.
300 Multiple Choices
Multiple responses exist and the client needs to pick one. This happens when resources have language versions. English or French? The response lists your options with resource details and locations. If the server prefers one, it includes a Location header for automatic redirection.
301 Moved Permanently
The resource permanently moved to a new URL. All future requests should use the new address. Search engines transfer the old page’s ranking to the new location. This is your go-to for permanent URL changes.
The response includes a link to the new URL unless you’re using a HEAD request. For methods besides GET and HEAD, redirection only happens if the client allows it.
302 Found
The resource temporarily lives at a different URI. Keep using the original address for future requests unless told otherwise. The server usually includes a link to the temporary location. Redirection only occurs if the client permits it.
303 See Other
The server redirects the client to a different resource using GET. The server can’t provide the requested resource directly. After form submission, it redirects to a confirmation page instead of showing results inline.
304 Not Modified
The resource hasn’t changed. Use your cached version. This code appears with GET or HEAD requests that include conditional headers like If-None-Match or If-Modified-Since. It saves bandwidth by skipping unnecessary downloads.
307 Temporary Redirect
The server redirects to another URI temporarily. Since it’s temporary, keep using the original address later. Unlike 302, the client must maintain the same HTTP method during redirect. POST stays POST.
308 Permanent Redirect
The resource permanently moved to a new URI in the HTTP header. This works like 301 except clients can’t change the request method. POST stays POST. PUT stays PUT.
4XX Client Error Codes Reference
These codes mean something’s wrong with the request. The problem’s on the client side.
400 Bad Request
The server can’t process your request. Client-side error. Invalid syntax. Bad routing. Wrong parameters. Check your URL and clear browser cache to fix it.
401 Unauthorized
The server rejected your request due to missing or invalid authentication. If you included credentials, they were wrong. The response comes with a WWW-Authenticate header showing how to access the resource. Log in with valid credentials.
402 Payment Required
Reserved for digital payment systems but rarely used. No clear implementation rules exist. Most services skip this code entirely.
403 Forbidden
The server understood your request but denied access. Usually due to insufficient permissions. Re-authentication won’t help. Access is permanently restricted unless you get different credentials with proper authorization.
404 Not Found
The server can’t find the requested resource. No forwarding address. In browsers, the link’s broken or wrong. In APIs, the endpoint exists but the resource doesn’t. These are broken links. They can be temporary or permanent.
405 Method Not Allowed
The server recognizes the request method but the resource doesn’t support it. You tried to DELETE a read-only resource. You attempted to PUT where only GET works. The response includes an Allow header listing supported methods.
406 Not Acceptable
The server can’t find content matching the criteria in your Accept headers. You requested JSON but the server only serves XML. The server provides a list of available options so you can choose something suitable.
407 Proxy Authentication Required
You’re using a proxy and need valid authentication. Unlike 401, you authenticate with the proxy server, not the origin server.
408 Request Timeout
The server didn’t receive the complete request within the allowed time. The response suggests closing the connection. You can resend the request without changes. This happens in browsers like Chrome and Firefox when pre-connection attempts timeout.
409 Conflict
The server can’t process the request due to a conflict with the resource. It explains the issue so you can fix it and retry. Common with PUT requests when resources conflict.
410 Gone
The resource permanently disappeared. No forwarding address. Search engines remove these pages from their index. The site owner intentionally made the resource unavailable and wants all links removed.
411 Length Required
The server rejected the request because it needs a Content-Length header. Add the header and try again.
412 Precondition Failed
The server couldn’t meet one or more conditions in the request headers. Your conditional request failed validation.
413 Payload Too Large
Your request is too large to process. The server might close the connection and include a Retry-After header suggesting when to try again.
414 URI Too Long
The request URI exceeds what the server can handle. Rare, but happens when clients convert POST to GET with excessive query data, enter redirect loops, or attempt to exploit server vulnerabilities.
415 Unsupported Media Type
The server rejected the request because the resource uses an unsupported media format. This happens when compression methods aren’t supported or content doesn’t match server expectations.
416 Range Not Satisfiable
The server can’t process the range in your request. The range doesn’t exist in the resource or the value’s invalid.
417 Expectation Failed
The server can’t meet the requirements in the request’s Expect header. Your expectations don’t match server capabilities.
418 I’m a Teapot
An April Fools’ joke from the Hyper Text Coffee Pot Control Protocol. The server’s a teapot and can’t brew coffee. Some websites use it for requests they want to avoid.
421 Misdirected Request
The client sent a request to the wrong server. The server can’t respond to the given URL. Retry with a different connection or service.
422 Unprocessable Entity
The server received the request but can’t process it due to semantic errors. You entered text in a numeric field. Your data structure’s valid but the values aren’t.
423 Locked
The resource is locked. The response includes details about the lock status.
424 Failed Dependency
The request failed because it depended on a previous request that also failed. Chain broken.
425 Too Early
The server refuses to process the request because it might be replayed later. Security precaution.
426 Upgrade Required
The server won’t process the request unless the client switches to the required protocol in the Upgrade header. Update your protocol.
428 Precondition Required
The server needs a conditional request to ensure the client’s using the correct version of the resource.
429 Too Many Requests
You sent too many requests in a short time. Rate limited. The server may include a Retry-After header telling you how long to wait.
431 Request Header Fields Too Large
Your request headers are too big to process. Reduce header size and resend.
451 Unavailable for Legal Reasons
The resource was removed due to legal reasons. Site blocked. Page taken down. Legal compliance. Affects ISPs and search engines mainly.
5XX Server Error Codes Explained
Server errors mean something broke on the hosting side. Not your fault.
500 Internal Server Error
Generic error. The server hit an unexpected problem that prevented it from completing the request. Server administrators log detailed information for troubleshooting. You can’t fix this from the client side.
501 Not Implemented
The server doesn’t support the functionality needed to complete the request. Servers only need to handle GET and HEAD methods by default. The response might include a Retry-After header indicating when the functionality will be available.
502 Bad Gateway
The gateway or proxy server received an invalid response while trying to complete the request. Something broke in the server chain. Contact your web host.
503 Service Unavailable
The server can’t handle the request due to temporary overload or maintenance. Check the Retry-After header to see when to try again. Temporary condition.
504 Gateway Timeout
The gateway or proxy server didn’t get a timely response from the upstream server. Network issue. Server overload. Check your hosting resources.
505 HTTP Version Not Supported
The server doesn’t support the HTTP version used in the request. The response explains why that version doesn’t work and lists acceptable protocols.
506 Variant Also Negotiates
Server configuration error. The chosen resource variant is configured for content negotiation but isn’t a valid endpoint. Creates an infinite loop.
507 Insufficient Storage
The server doesn’t have enough storage to complete the request. Disk full.
508 Loop Detected
The server stopped an operation because it detected an infinite loop. The process failed.
510 Not Extended
The server needs further extensions to complete the request. The current capabilities aren’t enough.
511 Network Authentication Required
You need to authenticate to access the network. Common with captive portals on public Wi-Fi. The response includes a link to submit credentials.
HTTP Request Methods and Responses
HTTP methods tell the server what action to take. Each method has specific properties.
Safe methods don’t modify anything on the server. They work read-only. Idempotent methods give the same result no matter how often you run them. No unintended side effects. Cacheable methods let browsers or proxies save responses for reuse.
GET
Retrieves data from a resource. Safe, idempotent, and cacheable. Most common method.
HEAD
Requests the same response as GET but without a message body. Gets headers only. Safe and idempotent.
POST
Sends data to a resource. Submits forms. Creates resources. Not idempotent. Can be cacheable under certain conditions.
PUT
Replaces a resource or its representation entirely. Idempotent. Running it multiple times produces the same result as running it once.
DELETE
Removes a resource. Idempotent. First deletion succeeds. Subsequent deletions find nothing to delete but don’t fail.
OPTIONS
Shows the communication options for the resource. Safe and idempotent.
TRACE
Tests the path of a request. Debugging tool. Safe and idempotent.
PATCH
Updates part of a resource. Unlike PUT, which replaces the entire resource, PATCH modifies specific fields.
These request methods connect with HTTP status codes. A GET request returns 200 OK when it works or 404 Not Found when the resource doesn’t exist.
How to Check HTTP Status Code Using Tools
You need to see status codes when debugging. Several tools make this easy.
Your browser’s developer tools show every status code. Right-click anywhere on the page and select Inspect. Click the Network tab at the top. Reload the page. You’ll see every request with its status code, size, and timing.
Chrome, Firefox, Safari, and Edge all work the same way. The Network tab captures everything. Filter by status code to find errors quickly. Click any request to see full headers and response data.
WebSniffer works online without installing anything. Visit websniffer.cc, enter your URL, select the request type (GET, POST, or HEAD), and pick a client. You’ll see how the page loads on different browsers and even Googlebot. Check headers. Verify status codes. Test crawler access.
Command-line users can use curl with the -I flag. Type curl -I https://example.com and you’ll get headers including the status code. Fast and scriptable.
For checking multiple URLs at once, use browser extensions like Redirect Path or Link Checker. They scan entire pages and highlight status codes. Red means problems. Green means everything works.
HTTP Status Codes for SEO Impact
Search engines track every status code while crawling your site. They use this data to evaluate site health and ranking.
200 codes tell search engines your pages work. They index the content. They rank the pages. Everything’s accessible.
301 redirects preserve your SEO value when URLs change. They transfer link equity from old pages to new ones. Rankings stay intact. Use them for permanent moves.
302 redirects don’t transfer SEO value the same way. They’re temporary. Search engines keep the original URL indexed. Using 302 for permanent changes splits your authority between URLs. Rankings suffer.
404 errors hurt. Search engines remove these pages from their index. You lose traffic. If the page has backlinks, you lose link equity. Visitors leave frustrated. Fix 404s immediately or redirect them to relevant content.
500 errors damage crawling and indexing. Search engines can’t access your content. If errors persist, they’ll crawl less frequently. Rankings drop. Your hosting matters.
503 errors indicate maintenance. Short periods won’t hurt much. Extended downtime damages rankings. Search engines interpret prolonged 503s as site instability.
200 OK Status Code for SEO
200 OK is the code you want everywhere. It means pages load correctly. Search engines can access your content. Users get what they requested.
When search engine bots crawl your site and receive 200 responses, they index those pages. The content enters search results. Rankings can improve based on content quality, backlinks, and user signals.
A consistent pattern of 200 codes tells search engines your site’s reliable. Pages load fast. Content’s accessible. The infrastructure works. This builds trust with search algorithms.
Monitor your important pages. Check that they’re returning 200. Use tools like Google Search Console to spot pages that aren’t loading correctly. Fix any that aren’t returning 200.
301 Redirect Best Practices
301 redirects move SEO value from old URLs to new ones. When you change a URL structure, redesign your site, or consolidate content, 301s preserve your rankings.
Search engines transfer link equity through 301 redirects. The old page’s authority flows to the new location. Backlinks count toward the new URL. Rankings typically hold steady if you redirect to relevant content.
Best practices for implementing 301 redirects:
- Redirect to relevant pages with similar content. Users and search engines expect continuity.
- Update internal links across your site. Replace old URLs in navigation, menus, and content.
- Ask sites linking to your old URLs to update their links. Not everyone will, but trying helps.
- Monitor redirects to avoid chains. A chain happens when URL A redirects to URL B which redirects to URL C. Each hop slows your site and confuses search engines.
- Submit an updated sitemap to inform search engines about your new URL structure.
WordPress sites can set up 301 redirects through hosting control panels or plugins. Many hosting providers include redirect tools in their dashboards.
302 Temporary Redirect vs 301
302 redirects work differently from 301s. They’re temporary. Search engines assume the original URL will return.
When search engines encounter a 302, they often keep the original URL indexed. They don’t transfer full link equity to the new location. Using 302 for a permanent move splits your SEO value between URLs. Neither URL gets full authority.
Use 302 only for genuinely temporary situations. A/B testing. Maintenance pages. Seasonal campaigns. Holiday promotions. When the change becomes permanent, switch to 301.
The difference matters. A site I audited had used 302s for three years after a redesign. Their rankings never recovered because search engines kept indexing the old URLs. We switched to 301s and rankings improved within weeks.
404 Not Found Error Impact
404 errors kill SEO and user experience. Search engines remove these pages from their index. Traffic disappears. If the page has backlinks, you lose valuable link equity.
Users hate 404s. They came for content that doesn’t exist. Frustration sets in. They bounce. Your site looks broken.
Fix 404 errors immediately. If you deleted a page intentionally, redirect it to relevant content with a 301. If the page should exist, figure out why it doesn’t and restore it.
Create a custom 404 error page. Include navigation links. Add a search box. Suggest popular pages. Guide lost visitors back into your site instead of letting them leave.
Scan your site regularly for 404 errors. Google Search Console shows which URLs are returning 404. Third-party tools like Screaming Frog crawl your entire site and flag broken links. Fix them before they accumulate.
410 Gone vs 404 Error Codes
410 Gone tells search engines you permanently removed a page. It’s more explicit than 404. Search engines respond by removing the page from their index faster.
404 says the page doesn’t exist right now. Could be temporary. Could be a typo. Search engines might check back later. 410 says don’t bother checking. It’s gone forever.
Use 410 when you intentionally delete content you don’t want indexed. Old product pages. Expired promotions. Outdated information. Content you’re actively trying to remove from search results.
Don’t use 410 on pages with valuable backlinks or significant traffic unless you’re sure. Redirect those pages instead with a 301. Preserve the SEO value.
500 Internal Server Error Solutions
500 errors mean your server broke. These damage SEO through reduced crawling and indexing. When search engines can’t access your content, they can’t rank it.
If 500 errors persist, search engines crawl your site less frequently. They assume your site’s unreliable. Rankings drop. Traffic decreases.
Common causes on WordPress sites include bad plugins and corrupted .htaccess files. Disable plugins one by one to find the culprit. Check your .htaccess file for syntax errors.
For other platforms, check server logs. They’ll show what failed: exceeded memory limits, database connection failures, or file permission issues. The logs reveal the problem.
Contact your hosting provider if you can’t identify the cause. Server-side issues often require host intervention. They have access to deeper logs and server configuration.
Fix 500 errors fast. Every minute your site’s down is potential traffic lost and rankings at risk.
503 Service Unavailable Fix
503 errors signal temporary downtime: server maintenance, traffic overload, resource exhaustion. Unlike 500 errors, 503s are usually planned.
Short-term 503 errors won’t hurt SEO much. Search engines understand maintenance happens. They’ll check back later. But extended periods damage rankings.
If your site shows 503 for days or weeks, search engines interpret it as instability. They reduce crawling. Pages might drop from the index. Rankings decline.
Include a Retry-After header in your 503 response. This tells search engines exactly when to come back. It’s polite and prevents excessive crawl attempts.
If you’re getting 503s from server overload, upgrade your hosting resources. More RAM. Better CPU. Faster servers. High traffic breaking your site means you need infrastructure that can handle it.
For planned maintenance, schedule it during low-traffic hours. Monitor how long pages stay in 503 status. Get back online quickly.
Common HTTP Status Code FAQ
How many HTTP status codes exist?
The IANA registry lists codes from 100 to 599. Only 63 are standardized and widely used. The rest remain unassigned or are platform-specific.
Should I check my site for HTTP status code errors?
Yes. Checking for status code errors improves site performance, user experience, and search rankings. Use Google Search Console, browser developer tools, or crawling software to find problems.
How do I fix 4XX and 5XX errors?
4XX errors come from the client side. Check for URL typos, update permissions, or verify authentication. 5XX errors are server-side. Review server settings, check logs, examine resources, and contact your hosting provider if needed.
What’s the difference between 301 and 302 redirects?
301 redirects are permanent and transfer SEO value to the new URL. 302 redirects are temporary and don’t transfer full link equity. Use 301 for permanent changes, 302 for temporary situations.
Why do 404 errors hurt SEO?
404 errors cause search engines to remove pages from their index, resulting in lost traffic. Pages with backlinks lose link equity. Users encounter frustration and leave. Regular monitoring and fixing prevents damage.
What HTTP methods are safest to cache?
GET and HEAD methods are safe to cache because they don’t modify server data. POST, PUT, and DELETE shouldn’t be cached as they change resources. OPTIONS and TRACE are safe but rarely cached.