HTTP Status Codes That Affect SEO
By ToolzHive · · 3 min read
Every time a browser or a search crawler requests a page, the server answers with a three-digit status code. Most of the time it is a quiet 200 and you never notice. But the other codes tell Google how to treat your pages — and getting them wrong leaks ranking signals or hides content entirely.
The families at a glance
Status codes come in five ranges, and the first digit tells you the category:
- 2xx — success. The request worked.
- 3xx — redirection. The page lives somewhere else now.
- 4xx — client error. The request was wrong (bad URL, no permission).
- 5xx — server error. The server broke.
For SEO, the 3xx and 4xx families are where the decisions are.
The ones that matter for SEO
- 200 OK — the page loaded normally. This is what every indexable page should return.
- 301 Moved Permanently — the page has permanently moved. This is the SEO-critical one: a 301 passes the old URL's ranking signals to the new URL. Use it whenever you change a URL or consolidate pages.
- 302 Found (temporary) — a temporary move. Signals are not passed the same way, because you are telling Google "the original will be back". Using a 302 for a permanent move is a classic mistake that strands your ranking on the old URL.
- 404 Not Found — the page does not exist. Perfectly fine for pages that genuinely should not exist; Google eventually drops them.
- 410 Gone — like 404 but stronger: "this is deliberately and permanently removed". Google drops it faster.
- 500 / 503 Server Error — something broke. Crawlers back off, and sustained 5xx errors can get pages dropped. A
503with aRetry-Afteris the correct way to signal planned maintenance.
301 vs 302: the costly confusion
If you remember one thing: permanent moves need 301s. A permanent change served as a 302 tells Google to keep indexing the old URL and withhold the ranking transfer, so your new page starts from scratch. When you migrate a site, change a URL structure, or merge duplicate pages, 301 is almost always what you want.
Soft 404s: the sneaky one
A soft 404 is a page that says it is fine (returns 200) but shows "no results" or empty content. Google spots the mismatch and distrusts it. The fix is to make the status code tell the truth: a missing product should return a real 404 or 410, not a 200 with an apologetic message.
Redirect chains waste everything
A redirect that points to another redirect that points to a third page is a redirect chain. Each hop costs time, dilutes the signals passed along, and crawlers give up after a few. Always redirect straight to the final destination in one hop, and when you reorganise, update old redirects to point at the current URL rather than stacking new ones on top.
Check what your server actually returns
The gap between what you think a URL returns and what it actually returns is where SEO problems hide. A page might 302 when you meant 301, chain through three hops, or quietly 500 for crawlers while looking fine in your browser.
Checking the exact status code and headers a URL returns, following a redirect to see every hop in the chain, scanning a site for broken links that 404, and confirming the site is up at all run from your browser. Make it a habit after any migration or URL change: request the old URLs and confirm each resolves, in one hop, with the status code you intended.