HTTP Redirect Codes and Status Codes Checklist
Every URL change is a re-rank event. Redirect chains, broken 301s, and soft 404s silently bleed link equity. This checklist covers every redirect code: 301 vs 302, redirect chains and loops, 404 vs 410, soft 404s, and 5xx server errors. Whether you need a permanent redirect status code or a temporary 302, the right HTTP redirect protects your rankings.
Status Codes Are Search Signals
Every response your server sends is a message to search engines. A 301 says "this page moved permanently, transfer the equity." A 302 says "temporary, keep the old URL." A 404 says "gone," and a 410 says "gone forever, stop looking." Returning the wrong code sends the wrong message and costs rankings.
Redirect chains are the most common silent killer. When URL A redirects to B, and B redirects to C, every hop delays the crawler and dilutes the equity that reaches the final page. The fix is always the same: point every old URL directly at its final destination.
Soft 404s are the second silent killer: pages that return 200 but display not-found content. Google indexes them as thin pages, wasting your index and confusing your structure. Each code in this checklist has a clear job, and this page shows exactly when to use which. It is part of the complete technical SEO checklist, alongside every other status and redirect fix.
Sources
- Google advises keeping redirect chains short and pointing directly to the final URL, Google Search Central redirects docs.
- Sites with more than 2 redirects show a 3.8x higher abandonment rate, HTTP Archive + CrUX correlation analysis.
Status Code Cheat Sheet
The 14 Status Code Checks
Audit every redirect, error, and response type on your site.
| # | Check | Who Does It | Tool | Difficulty |
|---|---|---|---|---|
| 1 | Audit all redirects: count, type, chains, loops | You | Screaming Frog | Easy |
| 2 | Replace 302s with 301s for permanent moves | Developer | Server | Hard |
| 3 | Flatten redirect chains to direct destinations | Developer | Server | Hard |
| 4 | Fix redirect loops immediately | Developer | Server | Hard |
| 5 | Map every deleted URL to a 301 | You | Spreadsheet | Medium |
| 6 | Convert soft 404s to real 404 or 410 | Developer | GSC / server | Medium |
| 7 | Use 410 Gone for permanently removed content | Developer | Server | Medium |
| 8 | Return real 404s for genuinely missing pages | Developer | Server | Medium |
| 9 | Verify 503 is only for short maintenance | Developer | Server | Medium |
| 10 | Audit and fix 500 server errors | Developer | GSC / logs | Hard |
| 11 | Redirect old file extensions after platform moves | Developer | Server | Medium |
| 12 | Keep redirect maps indefinitely | You | Docs | Easy |
| 13 | Avoid meta refresh and JavaScript redirects | Developer | Code | Medium |
| 14 | Set up coverage alerts for 404 and 500 spikes | You | GSC | Easy |
Deep Dive: Every Check Explained
What each status code does, when to use it, and how to fix the silent killers.
1 Audit All Redirects: Count, Type, Chains, Loops
Run a Screaming Frog crawl and export the redirect report. Count total redirects, list which are 301 vs 302, and flag chains and loops. You cannot fix what you have not measured. Make this a quarterly audit.
2 Replace 302s With 301s for Permanent Moves
A 302 tells Google the move is temporary, so the old URL stays canonical and equity does not transfer. If the move is permanent, every 302 is leaking authority. Replace 302s with 301s at the server level.
3 Flatten Redirect Chains to Direct Destinations
URL A to B to C is a chain. Each hop delays users, wastes crawl budget, and reduces equity transfer. Change A to point directly at C. Chains grow during migrations and URL restructuring; audit and flatten them regularly.
4 Fix Redirect Loops Immediately
A loop is a chain that never terminates: A redirects to B, B redirects to A. Users see "too many redirects" and crawlers give up. These are emergencies. Fix the underlying rules at the server or CDN level.
5 Map Every Deleted URL to a 301
Every removed page needs a destination. Blanket or homepage-only redirects signal content loss and drain equity. Build a one-to-one map from old URL to closest new equivalent, and give backlink-heavy pages top priority.
6 Convert Soft 404s to Real 404 or 410
A soft 404 returns 200 with not-found content. Google flags these in Search Console and may index them as thin pages. Return a genuine 404 or 410 status, or redirect to a relevant live page. Never serve a "not found" body with a 200 header.
7 Use 410 Gone for Permanently Removed Content
A 410 tells search engines the content is gone permanently and should be deindexed faster than a 404. Use it for intentionally removed products, pages, and content you know will never return.
8 Return Real 404s for Genuinely Missing Pages
A true 404 for a page that does not exist is correct behavior and fine for SEO. Pair it with a helpful 404 page that links back to relevant content. The problem is only when real pages incorrectly return 404 without a redirect.
9 Verify 503 Is Only for Short Maintenance
A 503 with Retry-After tells crawlers to come back later. Use it for maintenance lasting hours, not weeks. A long-running 503 makes Google treat the site as unavailable and can devalue it.
10 Audit and Fix 500 Server Errors
500, 502, and 503 errors block crawling entirely. Check Search Console coverage and server logs for 5xx spikes. These need developer attention: memory limits, database connection issues, and failing plugins are common causes.
11 Redirect Old File Extensions After Platform Moves
Moving from .php, .aspx, or .html to clean URLs leaves hundreds of old links pointing at dead extensions. Map each legacy extension pattern to its new URL with 301s so inbound links keep flowing.
12 Keep Redirect Maps Indefinitely
Never remove redirects after a migration "stabilizes." Old URLs live in backlinks, bookmarks, and email forever. A redirect map is permanent infrastructure, not a launch-day tool.
13 Avoid Meta Refresh and JavaScript Redirects
Meta refresh and window.location redirects lose equity, slow users, and are unreliable. Redirect at the server level with a 301 so crawlers get a clean signal. JavaScript redirects are especially risky for AI crawlers that do not execute JS.
14 Set Up Coverage Alerts for 404 and 500 Spikes
Enable Search Console notifications and monitor the coverage report weekly. A sudden spike in 404s usually means a broken redirect map; a 500 spike means a server problem. Catch both within days.
301 vs 302 vs 404 vs 410
The complete status code map for SEO decisions.
| Code | Meaning | Equity | Indexing effect | Use for |
|---|---|---|---|---|
| 301 | Moved permanently | Passes ~all | Old URL deindexed | Permanent URL moves |
| 302 / 307 | Moved temporarily | Does not pass | Old URL stays canonical | A/B tests, short maintenance |
| 404 | Not found | None | URL removed from index | Genuinely missing pages |
| 410 | Gone | None | Faster deindex | Intentionally removed content |
| 500 / 502 / 503 | Server errors | None | Blocks crawling | Fix immediately |
Common Redirect Mistakes
The status code errors that quietly drain rankings.
Homepage-only redirects
Redirecting everything to the homepage signals content loss. Every old URL needs a relevant one-to-one destination.
Keeping 302s for permanent moves
A 302 keeps the old URL canonical and leaks equity. Permanent moves must be 301s at the server level.
Soft 404s returning 200
Not-found content served with a 200 header gets indexed as thin pages. Return a real 404 or 410.
Removing redirect maps after launch
Old URLs live in backlinks and email forever. Redirect maps are permanent infrastructure.
Meta refresh and JS redirects
Client-side redirects lose equity and confuse AI crawlers. Redirect at the server level with a 301.
Ignoring 5xx spikes
Server errors block crawling entirely. A 500 spike left unfixed can delay indexing of all new content.
Redirect and Status Code Tools
Audit and verify responses across your whole site.
Screaming Frog
Complete redirect audit: chains, loops, 404s, soft 404s, and response codes across the crawl.
Free (500 URLs)Google Search Console
Coverage report, page indexing, and error alerts for 404 and 5xx responses.
Freehttpstatus.io
Follows redirect chains and shows every status code a URL returns.
FreeAhrefs Site Audit
Flags redirect chains, loops, soft 404s, and broken backlinks.
PaidServer logs
Ground truth on 5xx errors, redirect behavior, and where Googlebot spends crawl requests.
Freecurl
Command-line status and redirect inspection for quick checks of individual URLs.
FreeRelated Checklists
Keep exploring the technical SEO series. Every checklist follows the same structure.
Indexing and Canonicalization
How redirect status codes and canonical tags work together on the same URL.
Crawlability
Robots.txt, crawl issues, and how crawlers react to every status code you return.
SEO Site Migrations
The golden 301 map that makes redirects part of a planned migration, not an accident.
Crawl Budget and Log Analysis
How redirect chains waste crawl requests and what log analysis reveals about them.
Core Web Vitals and Performance
Why each redirect hop adds latency and hurts LCP and overall page speed.
Full Technical SEO Audit
Run the complete audit to catch every redirect and status code issue in one pass.
Need Redirect Help?
Get professional redirect audits and technical SEO solutions from Clienvora. Our expert team finds chains, soft 404s, and equity leaks before they cost you rankings.
Free consultation. Get a personalized technical SEO audit for your website today. Or download the full checklist PDF.
Status Codes Frequently Asked Questions
Direct answers on redirects, errors, and link equity.
A redirect status code is the three-digit HTTP response that tells browsers and crawlers a URL has moved. A 301 means permanent, a 302 means temporary, and both have different effects on link equity and how Google treats the old URL.
A 301 is permanent and passes most ranking signals. A 302 is temporary, keeps the old URL canonical, and does not pass equity. Use 301 for permanent moves only.
Yes. A 301 passes the vast majority of PageRank to the destination URL, which is why correct mapping matters during migrations. Chains and loops reduce what gets through.
No, if it is a real 404 for a gone page. Use 410 Gone for intentionally removed content to speed deindexing. The problems are soft 404s and important pages that 404 without redirects.
A series of redirects where A goes to B and B goes to C. Each hop delays users and dilutes equity. Flatten chains so every URL points directly to its final destination.
A page returning a 200 status with not-found content. Google flags it in Search Console. Fix by returning a real 404 or 410, or redirecting to a relevant page.
Indefinitely. Old URLs live in backlinks, bookmarks, and email forever. Redirect maps are permanent infrastructure, not temporary launch tools.