The Complete Guide of HTTP Status Codes in WordPress
When you browse website with to access the content from the server. The server response to the browser a HTTP status code to tell the status of the server that you are accessing to the web browser. If you are a server admin, website owner, developer or WordPress site owner, the HTTP status code can help you to diagnosis the problem of your website that you encounter with.
What are HTTP Status Codes?
HTTP Status Codes stand for HyperText Transfer Protocol Status Codes that allowed you to access a server from different location.
For example, when you are accessing a website from a server from another country. The server you are accessing will receive the commands you sent from your web browser and processes the request. Once the server proceed the requests that you are sending from your web browser, the server will server sending back requests with HTTP status code before you able to the view relevant content of the website.
Imagine that you are accessing to our website at jorcus.com. Before you access to our content, make sure you have an internet connection. Then you open the web browser and enter our website. If our web server is up and everything is working fine on both sides, you will receive a 200 response code from our site. The 200 response code means that everything is OK.
When you are using the web browser as a normal user, you won’t be able to see the HTTP status code unless the website response an error status code back to your web browser. To see the response code from the web browser, it requires you to use the developer tools (F12 keyboard shortcut) in order to see it. Make sure you select the Network tab, then refresh the current page. You are now successful access to our website content and see the HTTP response code as below. If you are not able to see that, feel free to ping me on chat.
HTTP status codes usually appear directly to the web page when the website encounter with errors. One of the most common HTTP status code error is 404 error. When you are surfing on a page that doesn’t exist on the website, the website server will redirect you to the 404 web page to tell you and the web browser the page doesn’t exist.
If you still unable to see the HTTP status code of the site, or you want to try it yourself. You can use web sniffer chrome, firefox or microsoft edge extensions to find it out. There are also some website that able to fetch the website response header like Web Sniffer (1-hit.com).
Why HTTP Status Codes is important for SEO
Whenever someone accessing to your website, your site server will send the HTTP Status Code back to their web browser before they can see the content. It doesn’t matter it’s a human or a bot. They visiting to your website, they will receive it.
When search engine web crawler bot crawling to your site, your site is down or sending an error code to their server. The broken link that are sending error code are likely to get lower rank on the search engine.
The status code from 100 to 299 had little negative impact on the SEO. However, if your site is always down or consistently returning error to the search engine bot, your site might risk to received bad impact on SEO. In worst case, your site might get delisted from that search engine.
Use Google Search Console to Monitor HTTP Status Code
If you have submitted your website to Google Search Console, you will see that website that you’ve submitted on the coverage section. When google web crawler trying to accessing the website you’ve indexed, but they received error response from your site. You will able to track that in that section. If you want to rank higher, it’s always better to keep the error as low as possible.
As you can see that my website has some 404 error happened and google are raising the issue to my google search console. If I don’t fix those web pages, they are likely to get removed from Google’s search engine. This is because Google didn’t want to rank those websites that are not accessible. When visitors search for something, they always want to make sure the websites are accessible. If a website don’t accessible, so what do we search for? Make sense, right?
Uptime Monitoring to Track Down Time
HTTP Status code is playing a very important role for website search engine optimization. There is a time that my website received a down time for about one or two hours. Then, my site visitors unable to visit my site and I got noticed it. I tried to check on my server to recover my website. Unfortunately, the downtime is originated from our web hosting company and I can’t do anything with that.
On 7th April 2021, my site was down for about two hours. The next day I come and check my search ranking. Obviously, my keywords ranking are dropped a bit. Although my site clicks are increased. But my search ranking drop. So, here’s the impact of my site.
It’s just after one day my site was down for two hours, the average position has dropped. I remember yesterday my keyword ranking was in 9.1 or 9.2, it became 9.3. I didn’t screenshot that time because I didn’t expect my site will down. It’s unintentionally downtime. If you’ve the chance to make the experiment on your site, don’t mind to sharing yours too!
Track HTTP Status Code with Google Analytics
If you are using Google Analytics on your site, you are able to track HTTP Status Code with google tag manager. To get better SEO on your site, it’s important to track those 404 error.
Understand the Complete List of HTTP Status Codes
There are dozens of HTTP status codes, but you didn’t know many of them. Maybe you’ve encounter with some of the status codes on your site or browsing someone else website. Whenever a user browsing a website, they are requesting the data from the server. The server will response HTTP response status codes before the browser access and display the web page. If server works perfectly and the user successfully browsing the website, they will receive a 200 OK HTTP status code. But if the web page doesn’t exist, they will receive 404 error page code that tells the browser and user the web page doesn’t exist.
There are 5 classes of HTTP Response Status Codes, it starts from 100 to 599. If you received a response, that is not in the list below. It’s possible that is a custom server’s software that returning a non-standard response.
When you insert my website url to the tool and click on sniff page, you will see the HTTP status code returned as 200.
5 Classes of HTTP Response Status Codes
- 100 to 199: Informational Responses
- 200 to 299: Successful Responses
- 300 to 399: Redirections
- 400 to 499: Client Errors
- 500 to 599: Server Errors
HTTP Status Codes 100 to 199 – Informational Responses
- 100: Continue
- 101: Switching Protocols
- 102: Processing
- 103: Early Hit
HTTP Status Codes 200 to 299 – Successful Responses
- 200: OK
- 201: Created
- 202: Accepted
- 203: Non-Authoritative Information (since HTTP/1.1)
- 204: No Content
- 205: Reset Content
- 206: Partial Content (RFC 7233)
- 207: Multi Status (WebDAV; RFC 4918)
- 208: Already Report (WebDAV; RFC 5842)
- 218: This is fine (Apache Web Server)
- 226: UM Used (RFC 3229)
HTTP Status Codes 300 to 399 – Redirections
- 300: Multiple Choices
- 301: Moved Parmently
- 302: Found
- 303: See Other (since HTTP/1.1)
- 304: Not Mpdified (RFC 7232)
- 305: User Proxy (since HTTP/1.1)
- 306: Switch Proxy
- 307: Temporary Redirect (since HTTP/1.1)
- 308: Permanent Redirect (RFC 7538)
HTTP Status Codes 400 to 499 – Client Errors
- 400: Bad Request
- 401: Unauthorized (RFC 7235)
- 402: Payment Required
- 403: Forbidden
- 404: Not Found
- 405: Method Not Allowed
- 406: Not Acceptable
- 407: Proxy Authentication Required (RFC 7235)
- 408: Request Timeout
- 409: Conflict
- 410: Gone
- 411: Length Required
- 412: Precondition Failed (RFC 7232)
- 413: Payload Too Large (RFC 7231)
- 414: URI Too Long (RFC 7231)
- 415: Unsupported Media Type (RFC 7231)
- 416: Range Not Satisfiable (RFC 7233)
- 417: Expectation Failed
- 418: I’m a teapot (RFC 2324, RFC 7168)
- 419: Page Expired (Laravel Framework)
- 420: Method Failure (Spring Framework)
- 420: Enhance Your Calm (Twitter)
- 421: Misdirected Request (RFC 7540)
- 422: Unprocessable Entity (WebDAV; RFC 4918)
- 423: Locked (WebDAV; RFC 4918)
- 424: Failed Dependency (WebDAV; RFC 4918)
- 425: Too Early (RFC 8470)
- 426: Upgrade Required
- 428: Precondition Required (RFC 6585)
- 429: Too Many Requests (RFC 6585)
- 430: Request Header Fields Too Large (Shopify)
- 431: Request Header Fields Too Large (RFC 6585)
- 440: Login Time-out (Internet Information Services)
- 444: No Response (Nginx)
- 449: Retry With (Internet Information Services)
- 450: Blocked by Windows Parental Controls (Microsoft)
- 451: Unavailable For Legal Reasons (RFC 7725)
- 451: Redirect (Internet Information Services)
- 460: (AWS Elastic Load Balancer)
- 463: (AWS Elastic Load Balancer)
- 494: Request header too large (nginx)
- 495: SSL Certificate Error (nginx)
- 496: SSL Certificate Required (nginx)
- 497: HTTP Request Sent to HTTPS Port (nginx)
- 498: Invalid Token (Esri)
- 499: Client Closed Request (nginx)
- 499: Token Required (Esri)
HTTP Status Codes 500 to 599 – Server Errors
- 500: Internal Server
- 501: Not Implemented
- 502: Bad Gateway
- 503: Service Unavailable
- 504: Gateway Timeout
- 505: HTTP Version Not Supported
- 506: Variant Also Negotiates
- 507: Insufficient Storage (WebDAV; RFC 4918)
- 508: Loop Detected (WebDAV; RFC 5842)
- 509: Bandwidth Limited Exceed (Apache Web Server/cPanel)
- 510: Not Extended (RFC 2774)
- 511: Network Authentication Required (RFC 6585)
- 520: Web Server Returned an Unknown Error (Cloudflare)
- 521: Web Server Is Down (Cloudflare)
- 522: Connection Timed Out (Cloudflare)
- 523: Origin Is Unreachable (Cloudflare)
- 524: A Timeout Occured (Cloudflare)
- 525: SSL Handshake Failed (Cloudflare)
- 526: Invalid SSL Certificate (Cloudflare)
- 527: Railgun Error (Cloudflare)
- 529: Site is overloaded (Qualys)
- 530: (Cloudflare)
- 530: Site is frozen (Pantheon)
- 561: Unauthorized (AWS Elastic Load Balancer)
- 598: (Informal convention) Network read timeout error