// SEO plans from €35/hour or €395/month// from €35/hr · €395/mo Free SEO checker[email protected]+31 6 4555 9353
Free SEO audit
technical seo

HTTP Status Codes and SEO

Every page request ends with a three-digit status code, and Google reads it before anything else. This guide explains the codes that matter for Search: what Google does with 2xx, 3xx, 4xx and 5xx, which redirects are strong or weak, how to check a code, and how to fix the common problems.

  • Code-by-code table
  • Redirect strength
  • How to check a code
  • Fix guide
responseHTTP
200  OK            content read
301  Moved         strong redirect
404  Not Found     content ignored
410  Gone          treated like 404
429  Too Many      slows crawling
503  Unavailable   crawl slows
// quick answer
Google treats status codes in classes. 2xx passes the content on for indexing (not guaranteed). 3xx redirects; 301 and 308 are strong signals, 302 and 307 are weak. 4xx means the content is ignored and already-indexed URLs are dropped over time; 400, 401, 403, 404, 410 and 411 are treated the same. Only 429 in the 4xx range affects crawl rate. 5xx slows crawling, and persistent errors lead to removal.

What an HTTP status code is

When Googlebot or a browser asks your server for a URL, the server replies with a status code before sending anything else. The code says whether the request worked, moved or failed. Google’s documentation explains how Googlebot treats each class of code and what that means for Search.

2xxsuccesspage served
3xxredirectgo elsewhere
4xxclient errorpage not found
5xxserver errorserver failed

Google’s page covers the most common codes only. It does not list every code that exists, so uncommon ones are not addressed.

2xx: success

CodeWhat Google doesNote
200 OKPasses the content to indexingNot a guarantee the page is indexed
201 / 202202 may wait briefly for the contentRare for normal pages
204 No ContentNo content to indexNot useful for pages you want found

A 200 only means the server answered correctly. A page can return 200 and still show an error message or empty page, which Google may treat as a soft 404. Read soft 404 errors.

3xx: redirects

Redirects send users and Googlebot from one URL to another. Google follows up to 10 redirect hops, and its documentation separates permanent from temporary redirects by how strongly they signal the target should be indexed.

CodeMeaningSignal strength
301Moved permanentlyStrong
308Permanent redirectStrong
302Found (temporary)Weak
307Temporary redirectWeak
304Not modified, use the cached copyContent unchanged
Use 301 for a permanent move. A temporary redirect left in place for months can confuse which URL should be indexed (my own note). See 301 vs 302 redirects and fix long paths with redirect chains and loops.

4xx: client errors

Google says it ignores content returned with a 4xx status, and URLs already in the index that return a 4xx are removed over time. Most 4xx codes are treated the same way.

CodeMeaningGoogle treats it as
400Bad requestSame as 404
401Login requiredSame as 404
403ForbiddenSame as 404
404Not foundContent ignored, URL dropped over time
410Gone permanentlySame as 404
411Length requiredSame as 404
429Too many requestsTreated as a server error; affects crawl rate

Two points follow. A 410 does not remove a page faster than a 404 according to Google’s table (it treats them alike). And a robots.txt Disallow is not a 4xx. For 404 clean-up, read how to fix 404 errors.

5xx: server errors

5xx and 429 responses tell Googlebot your server has a problem. Google slows its crawling. If the errors persist, URLs that were indexed can be removed.

CodeMeaningWhat to do
500Internal server errorCheck server and PHP logs
502 / 504Bad gateway / timeoutCheck proxy, CDN or origin
503Service unavailableUse for short planned downtime only

See server error 5xx in Search Console, and speed up slow servers with TTFB improvements.

One-page cheat sheet

want it indexedReturn 200
moved for goodReturn 301 (or 308)
moved for a whileReturn 302 (or 307)
gone, no replacementReturn 404 or 410
down brieflyReturn 503, keep it short

This cheat sheet is my own summary of Google’s guidance; it is deliberately simple.

Check a status code step by step

1
quick check

Use the URL Inspection tool

Open the URL Inspection tool and run a live test. It shows if Google could fetch the page and the page fetch result.

live test
2
browser

Open developer tools

In Chrome press F12, open the Network tab, reload, and click the first request to see its status.

F12Network
3
command line

Use curl

Run curl -I https://example.com/page/ to see the headers only, including the status line.

curl -I
4
at scale

Use a crawler

A crawling tool can list the status of every URL. See site audit tools.

crawlfilter by code
5
in Google’s view

Read the Page indexing report

The Page indexing report groups pages by problem, including 404, server errors and redirects.

not found (404)server error

Notes for WordPress sites

  • Redirect plugins. Redirects from a plugin return 301 or 302 depending on the setting. Confirm which with a header check.
  • Deleted posts. A deleted post returns 404 unless you redirect it. Redirect only if a relevant replacement exists. See change URL without losing SEO.
  • Maintenance mode. Some plugins return 200 with a maintenance message; better to return 503 (my own advice).
  • Hosting limits. Hitting resource limits can produce 5xx errors. See speed up WordPress.

Troubleshooting

SymptomLikely cause (my own diagnosis)Fix
Page missing from GoogleIt returns 404 or 5xxRestore the page or fix the server
Error page returns 200Soft 404Return a real 404
Old URL not replaced by newTemporary redirect usedSwitch to 301
Crawl slowed suddenly429 or 5xx responsesCheck rate limits and server health
Redirect never endsLoop or too many hopsPoint straight to the final URL

Checklist

Good pages

  • Return 200
  • No redirect on the final URL
  • No soft 404 text
  • Indexable

Moved pages

  • 301 for permanent moves
  • One hop only
  • Relevant destination
  • Internal links updated

Removed pages

  • 404 or 410 when gone
  • No redirect to the home page
  • Removed from sitemap
  • Internal links fixed

Server health

  • No recurring 5xx
  • 503 for planned downtime
  • No excessive 429
  • Crawl Stats reviewed

What Google’s page does not say

Google’s page covers only the top 20 or so status codes. It gives no exact time for a 404 URL to drop from the index, no numeric guarantee for how soon a 5xx slows crawling, and no rule that a 410 is faster than a 404. It says content is ignored for 4xx but does not promise any specific outcome for ranking.

Key terms

Status code
A three-digit number a server sends to say how a request went.
Redirect hop
One step in a chain of redirects.
Soft 404
A page that looks like an error but returns 200.
Crawl rate
How fast Googlebot requests your pages.

Common mistakes

mistake 1

Redirecting every 404 to the home page

It confuses users and may be treated as a soft 404.

Redirect only to a relevant page.
mistake 2

Using 302 for a permanent move

It is a weak signal.

Use 301 or 308.
mistake 3

Returning 200 on error pages

Google may flag a soft 404.

Send a real 404.
mistake 4

Long redirect chains

Google follows up to 10 hops, but each slows users.

Redirect straight to the end.
mistake 5

Ignoring 5xx spikes

Persistent errors lead to removal.

Fix the cause quickly.
mistake 6

Blocking Googlebot with 403

Treated like a 404.

Allow verified Googlebot.

Related guides

faq

Status code questions

Does a 200 guarantee indexing?

No. It only means the content is passed on for indexing consideration.

Which redirects are strong signals?

301 and 308 are strong. 302 and 307 are weak.

How many redirects will Google follow?

Google’s status code documentation says up to 10 hops.

Is 410 better than 404?

Google treats 400, 401, 403, 404, 410 and 411 the same way, so no faster removal is promised.

Which 4xx code affects crawl rate?

Only 429, which Google treats like a server error.

What do persistent 5xx errors do?

Google slows crawling, and persistent errors can lead to indexed URLs being removed.

How do I check a status code quickly?

Use the URL Inspection tool, browser developer tools or curl -I.

Should maintenance pages return 503?

For short planned downtime, a 503 tells crawlers the outage is temporary (my own guidance).

sources

How Google treats each class of code, redirect strength, the 10-hop figure and the 429 note come from the status code page. The cheat sheet, check methods, WordPress notes, troubleshooting table and checklists are my own.

Scroll to Top