When your browser requests a web page, the server always sends an HTTP status code at the start of the response. This three-digit number summarizes the result of the request: was it successful, was it redirected, did an error occur? Understanding status codes is a fundamental skill for both troubleshooting and SEO. This guide explains HTTP status codes.
Related reading: 301 and 302 redirects · 502 and 504 gateway errors · Reading Linux server logs
Status Code Classes
HTTP status codes are divided into five classes by their first digit. The first digit gives the general meaning of the response:
| Class | Meaning |
|---|---|
| 1xx | Informational — request received, processing continues |
| 2xx | Success — the request was met successfully |
| 3xx | Redirection — the request moved to another address |
| 4xx | Client error — there is a problem with the request |
| 5xx | Server error — the server could not fulfill the request |
The Most Common Status Codes
| Code | Name | Meaning |
|---|---|---|
| 200 | OK | The request succeeded, content returned |
| 301 | Moved Permanently | The page moved permanently |
| 302 | Found | The page is temporarily elsewhere |
| 304 | Not Modified | Content unchanged, can be used from cache |
| 403 | Forbidden | Access denied |
| 404 | Not Found | The page was not found |
| 410 | Gone | The page was permanently removed |
| 500 | Internal Server Error | A general error occurred on the server |
| 502 | Bad Gateway | The backend service gave an invalid response |
| 503 | Service Unavailable | The service is temporarily unavailable |
| 504 | Gateway Timeout | The backend service did not respond in time |
The Difference Between 4xx and 5xx
This distinction is the heart of troubleshooting. 4xx errors point to the client side — the requested page does not exist (404), there is no access permission (403). 5xx errors point to the server side — something broke on the server (500), the backend service is not responding (502/504). Knowing which class you are in tells you where to look for the problem.
The SEO Importance of Status Codes
Search engines look at status codes when crawling your site and interpret them as signals:
- 200: Ideal — the page can be indexed.
- 301: Permanent move; ranking value transfers to the new URL. The correct choice in site migrations.
- 404 / 410: The page does not exist. A few 404s are normal; but many broken internal links waste crawl budget.
- 5xx: Recurring server errors trouble the search engine and can lower crawl frequency — they should be solved quickly.
- soft 404: The page does not exist but the server returns 200 — this is a confusing situation; if it genuinely does not exist, it should return 404/410.
curl -I https://yoursite.com/page command or from the Network tab of browser developer tools. What matters is the returned code, not the page the browser shows.Frequently Asked Questions
Do 404 errors harm my site's ranking?
Occasional 404s are normal and do no harm. The problem is many broken internal links or important pages mistakenly returning 404 — in that case you lose users and crawl budget.
Should a removed page return 404 or 410?
Both are valid. 410 (Gone) expresses more definitively that the page was permanently removed and can help search engines drop it from the index faster.
Should I use a 503 error during maintenance?
Yes. Returning 503 during planned maintenance gives search engines a "this is temporary" message; this way they do not treat your pages as a permanent loss.
Go live on a correctly configured server with KEYDAL hosting solutions; get a status code audit with KEYDAL SEO. Explore KEYDAL SEO services