HTTP Status Codes: The Full List [And How to Handle Them]
What are HTTP status codes?
HTTP status codes are three-digit numbers that communicate the status of a client’s request to a server. These codes are a fundamental part of the internet infrastructure, and they help to ensure that web servers and browsers can communicate effectively. In this article, we’ll dive into the world of HTTP status codes, what they mean, and how they can impact your website’s SEO.
HTTP status codes are the responses that a server sends to a browser’s request when a website is accessed. They are represented by a three-digit code, known as the HTTP status code. These codes are the way in which the server communicates with the browser to let it know whether everything is working properly, if there’s an issue, or if a redirection is necessary.

Understanding HTTP status codes is essential for diagnosing site errors quickly and reducing downtime. Moreover, these codes can also help search engines and users access a site. For example, a 301 redirect can inform both bots and users that a page has moved permanently.
The most important status codes for SEOs
It is crucial for SEO professionals and website owners to be familiar with the status codes that have the most significant impact on SEO. For example, if a website displays numerous 5xx errors, it is essential to understand that this is a server-related problem. On the other hand, 4xx errors can affect the visitor’s experience, and it is vital to investigate if there were any changes to the website’s URLs or if any pages were deleted. Once the root cause of the issue is identified, one can take measures such as implementing a customized 404 page or utilizing the powerful 301 redirect to redirect visitors to the correct page.
Common HTTP status code classes:
-
Understanding HTTP Status Codes
Before we dive into the details of individual status codes, it’s important to understand what they mean in general. HTTP status codes are a three-digit number that is returned by a server in response to a client’s request. There are five classes of HTTP status codes, which are:
- Informational (100-199)
- Success (200-299)
- Redirection (300-399)
- Client Error (400-499)
- Server Error (500-599)
Each status code communicates a different message to the client, letting them know whether their request was successful or not, and why. Understanding these codes is essential for troubleshooting issues on your website, as well as ensuring that your site is properly optimized for search engines.
-
Informational Status Codes
Informational status codes are used to communicate that a request has been received and is being processed. These codes do not indicate success or failure, but rather serve as a way for the server to communicate with the client about the status of their request. The most common informational status codes are:
- 100 Continue
- 101 Switching Protocols
-
Success Status Codes
Success status codes indicate that a request was successfully processed by the server. These codes indicate that the requested resource has been located and successfully returned to the client. The most common success status codes are:
- 200 OK
- 201 Created
- 204 No Content
-
Redirection Status Codes
Redirection status codes are used to indicate that the requested resource has been moved or is no longer available at the requested URL. These codes are often used when a website has been redesigned, and URLs have been changed. The most common redirection status codes are:
- 301 Moved Permanently
- 302 Found
- 307 Temporary Redirect
-
Client Error Status Codes
Client error status codes indicate that there was an error with the client’s request. These codes are often caused by incorrect URLs or invalid input data. These codes are important to keep in mind when optimizing your website for search engines, as they can negatively impact your site’s search rankings. The most common client error status codes are:
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Not Found
-
Server Error Status Codes
Server error status codes indicate that there was an error with the server processing the client’s request. These codes are often caused by server overload or misconfiguration. These codes are important to keep in mind when optimizing your website for search engines, as they can negatively impact your site’s search rankings. The most common server error status codes are:
- 500 Internal Server Error
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
-
SEO Implications of HTTP Status Codes
HTTP status codes can have a significant impact on your website’s SEO. For example, a 404 error can negatively impact your site’s search rankings if it’s not handled correctly. In general, it’s important to ensure that your site returns the appropriate HTTP status code for each page. This will help search engines to properly index your site and improve its overall search ranking.
Another important consideration when it comes to HTTP status codes and SEO is page speed. If your site returns a large number of HTTP status codes, it can slow down your site’s loading times. This can negatively impact your site’s search rankings.
| Code | Category | Status | Description | Handling Tip |
|---|---|---|---|---|
| 100 | 1xx | Continue | Server received initial request | No action required |
| 101 | 1xx | Switching Protocols | Protocol change approved | No action required |
| 200 | 2xx | OK | Request successful | Ideal response for all pages |
| 201 | 2xx | Created | Resource successfully created | Used in APIs/forms |
| 202 | 2xx | Accepted | Request accepted, processing later | Monitor async processes |
| 204 | 2xx | No Content | No response body returned | Normal for background actions |
| 301 | 3xx | Moved Permanently | URL permanently changed | Best for SEO redirects |
| 302 | 3xx | Found | Temporary redirect | Use only for short-term changes |
| 303 | 3xx | See Other | Redirect after form submission | Prevents duplicate submissions |
| 304 | 3xx | Not Modified | Cached version is valid | Improves load speed |
| 307 | 3xx | Temporary Redirect | Strict temporary redirect | Preserves request method |
| 308 | 3xx | Permanent Redirect | Permanent redirect (modern) | Alternative to 301 |
| 400 | 4xx | Bad Request | Invalid request syntax | Check URL or form inputs |
| 401 | 4xx | Unauthorized | Authentication required | Fix login/auth issues |
| 403 | 4xx | Forbidden | Access denied | Check permissions |
| 404 | 4xx | Not Found | Page does not exist | Fix or redirect broken links |
| 405 | 4xx | Method Not Allowed | Invalid HTTP method | Check API/config |
| 408 | 4xx | Request Timeout | Server timed out waiting | Improve connection/server |
| 410 | 4xx | Gone | Resource permanently removed | Use for deleted content |
| 429 | 4xx | Too Many Requests | Rate limit exceeded | Limit API requests |
| 500 | 5xx | Internal Server Error | Generic server failure | Check logs/plugins |
| 501 | 5xx | Not Implemented | Feature not supported | Update server/config |
| 502 | 5xx | Bad Gateway | Invalid upstream response | Check server connections |
| 503 | 5xx | Service Unavailable | Server overloaded/down | Check hosting/resources |
| 504 | 5xx | Gateway Timeout | Upstream server timeout | Optimize backend speed |
Complete List of HTTP Status Codes by Category
Beyond the common codes, knowing the full list helps you troubleshoot edge cases and implement proper error handling. Below is an expanded reference.
1xx – Informational Responses
- 100 Continue: The server has received the request headers and the client should proceed to send the request body.
- 101 Switching Protocols: The requester has asked the server to switch protocols, and the server has agreed.
- 102 Processing (WebDAV): Indicates that the server has received and is processing the request, but no response is available yet.
- 103 Early Hints: Used to return some response headers before final HTTP message.
2xx – Success Responses
- 200 OK: Standard response for successful HTTP requests.
- 201 Created: The request succeeded, and a new resource was created.
- 202 Accepted: The request has been accepted for processing, but not completed.
- 203 Non-Authoritative Information: The returned metadata is from a third party, not the origin server.
- 204 No Content: The server successfully processed the request, but is not returning any content.
- 205 Reset Content: Tells the user agent to reset the document view.
- 206 Partial Content: The server is delivering only part of the resource due to a range header sent by the client.
3xx – Redirection Responses
- 300 Multiple Choices: Indicates multiple options for the resource that the client may follow.
- 301 Moved Permanently: Permanent redirect; search engines transfer link equity to the new URL.
- 302 Found: Temporary redirect; SEO value may not be fully transferred.
- 303 See Other: The response to the request can be found under another URI using a GET method.
- 304 Not Modified: Indicates that the resource has not been modified since the last request (used for caching).
- 307 Temporary Redirect: Similar to 302, but guarantees that the method and body will not be changed.
- 308 Permanent Redirect: Like 301, but ensures the request method remains unchanged.
4xx – Client Error Responses
- 400 Bad Request: The server cannot process the request due to a client error (e.g., malformed syntax).
- 401 Unauthorized: Authentication is required and has failed or not been provided.
- 402 Payment Required: Reserved for future use (digital payment systems).
- 403 Forbidden: The client does not have access rights to the content.
- 404 Not Found: The requested resource could not be found. It may be temporary or permanent.
- 405 Method Not Allowed: The request method is not supported for the resource.
- 406 Not Acceptable: The requested resource is capable of generating only content not acceptable according to the Accept headers.
- 408 Request Timeout: The server timed out waiting for the request.
- 409 Conflict: The request conflicts with the current state of the server.
- 410 Gone: The resource is permanently gone and no forwarding address is known. Use this for deleted content.
- 429 Too Many Requests: The user has sent too many requests in a given amount of time.
5xx – Server Error Responses
- 500 Internal Server Error: A generic error message when an unexpected condition was encountered.
- 501 Not Implemented: The server does not support the functionality required to fulfill the request.
- 502 Bad Gateway: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
- 503 Service Unavailable: The server is not ready to handle the request (often due to overload or maintenance).
- 504 Gateway Timeout: The server, acting as a gateway, did not receive a timely response from the upstream server.
- 505 HTTP Version Not Supported: The server does not support the HTTP protocol version used in the request.
How to Properly Handle HTTP Status Codes for SEO & UX
Effective handling of status codes can save your rankings and improve user experience. Here’s a practical guide:
1. Custom 404 Pages
Instead of a plain “Not Found” error, create a branded 404 page that guides users back to useful content. Include a search bar, links to popular posts, and a friendly tone. This reduces bounce rates and retains visitors.
2. Use 301 Redirects for URL Changes
When you restructure your site or delete pages, implement 301 redirects to the most relevant new page. This passes link equity and ensures users and search engines land on the correct content. According to Google’s official documentation, 301 redirects are the preferred method for permanent moves.
3. Monitor 5xx Errors Closely
Frequent 500-level errors can cause search engines to reduce crawling frequency. Use tools like Screaming Frog or SEMrush Site Audit to identify and fix server errors quickly.
4. Handle Soft 404 Errors
A soft 404 occurs when a server returns a 200 OK status for a page that does not exist, essentially telling search engines it’s a valid page. This is harmful because search engines may keep these pages in the index, wasting crawl budget. Use the Google Search Console “Soft 404” report to identify and fix these issues by returning proper 404 or 410 codes.
Tools to Monitor HTTP Status Codes
Regularly auditing your site’s status codes is essential. Here are recommended tools:
- Google Search Console: Crawl errors report shows 404, 403, 500, and other statuses.
- Screaming Frog SEO Spider: Crawl your site to see all response codes, redirect chains, and broken links.
- Ahrefs Site Audit: Provides detailed error breakdowns with recommendations.
- Browser Developer Tools (Network tab): Quick check for individual page statuses.
- cURL or HTTPie: Command-line tools to inspect headers and statuses.
Common Pitfalls and How to Avoid Them
- Redirect Chains: Multiple redirects (e.g., page A → B → C) slow down page load and dilute link equity. Always redirect directly to the final URL.
- Blocking Crawlers with 403: Ensure that robots.txt or server configurations are not inadvertently blocking Googlebot on important pages.
- Incorrect 301 Implementation: Verify redirects with tools; ensure they are not redirecting to irrelevant pages.
- Neglecting HTTPS Status: Check that HTTPS pages return proper status codes (200, 301, etc.) and no mixed content warnings.
Real‑World Case: Fixing a 500 Error on WordPress
A common cause of 500 errors is a corrupt .htaccess file or PHP memory limit exhaustion. When you encounter a 500 error, follow these steps:
- Check server error logs for the exact error message.
- Rename .htaccess to .htaccess_old and attempt to load the site to see if the error resolves.
- Increase PHP memory limit in wp-config.php:
define('WP_MEMORY_LIMIT', '256M'); - Disable all plugins and reactivate one by one to find a conflict.
- Contact your hosting provider if the issue persists.
Implementing proper error handling and monitoring can reduce downtime and maintain your site’s reputation with both users and search engines.
Key Takeaways: Master HTTP Status Codes for a Healthier Website
- HTTP status codes are essential for communication between servers and clients, directly impacting SEO and user experience.
- Familiarize yourself with all five classes, but pay special attention to 3xx, 4xx, and 5xx codes for your site’s health.
- Always use 301 redirects for permanent URL changes, and implement custom 404 pages to retain visitors.
- Monitor your site regularly with tools like Google Search Console and Screaming Frog to catch errors early.
- Avoid redirect chains, soft 404s, and 5xx errors to preserve crawl budget and ranking signals.
- When errors occur, diagnose systematically—check logs, server settings, and use debugging tools.







Thank you for HTTP Status Codes