SEO Reference

HTTP Status Codes for SEO

Status codes are where site migrations succeed or fail. This table is what I hand to engineering during a replatform, because the difference between a 301 and a 302 is the difference between keeping your rankings and rebuilding them.

Codes that matter most
CodeMeaningSEO effect
200OKPage is crawled and eligible for indexing
301Moved permanentlySignals consolidation to the new URL
302Found, temporary redirectOriginal URL usually kept as canonical
304Not modifiedEfficient recrawl, no content returned
307Temporary redirectMethod preserving temporary equivalent of 302
308Permanent redirectMethod preserving permanent equivalent of 301
404Not foundDropped from the index over time
410GoneSignals deliberate removal, often processed faster
429Too many requestsCrawl rate is throttled
500Internal server errorCrawling slows, prolonged errors risk deindexing
503Service unavailableCorrect code for planned maintenance
Redirect decision guide
SituationCorrect code
Permanent URL change or domain migration301
Temporary campaign or seasonal page swap302
Permanent change on a POST endpoint308
Page deleted permanently with no replacement410
Page deleted with a close equivalent301 to the equivalent
Planned downtime or maintenance window503 with Retry-After

Notes

The most common and most expensive mistake in a migration is redirecting everything to the homepage. Google treats a redirect to an irrelevant page as a soft 404, so the signals do not transfer and you lose the ranking history of every URL. Map one to one wherever a reasonable equivalent exists.

A soft 404 is a page that returns 200 while telling the user nothing is there. It wastes crawl budget and confuses indexing. If the content is gone, return the honest status code. Search Console reports these under Page indexing, and they are worth clearing.

Redirect chains lose value and crawl efficiency. After a migration, update internal links, sitemaps and canonical tags to point at the final destination rather than relying on the redirect layer permanently, and keep chains to one hop.

Google's handling of status codes is documented in Search Central and does get refined, particularly around how quickly signals transfer and how long 404s persist in the index. Check the current crawling and indexing documentation before planning a large migration.

Frequently asked questions

How long should I keep 301 redirects in place?

At least a year, and ideally permanently. Google needs repeated crawls to fully process the move, and old links from other sites keep sending traffic long after that.

Is 410 better than 404 for deleted pages?

Slightly. Both result in removal, but 410 is an explicit statement of permanent removal and is often processed faster. The practical difference is small.

What code should I use during site maintenance?

503 with a Retry-After header. It tells crawlers to come back rather than treating your outage as content removal.

Official sources

Platforms change specifications without notice. Check the primary documentation before a launch that depends on an exact value.

Read next

You might also like

Ranked by how closely each page overlaps with this one, using a similarity model over the whole library.

More SEO Reference