The short answer
In most post-migration traffic drops, the problem is not thinner content or moved structure — it is status codes and redirect chains: laddered 301s, loops, a pile of 404s, or crawlers seeing something different from browsers. You need two time points, not talent: a baseline before the migration and a re-check 24–72 hours after. One batch check covers up to 20 URLs, follows every hop with timing, and runs from two views (Googlebot / browser) — a 20-minute conclusion at most.
Status code cheat sheet (the ones migration troubleshooting uses)
Status | Meaning | What it means during a migration |
|---|---|---|
200 / 204 | OK / no content | A clean endpoint |
301 / 308 | Permanent redirect | URL identity moves — a migration is mostly these |
302 / 307 | Temporary redirect | Old URL still competes; do not use for permanent moves |
404 | Not found | Correct answer for genuinely removed pages |
410 | Gone permanently | Clearer: "does not exist and should not be looked for" |
429 | Rate limited | Crawler blocked; check Retry-After |
500 / 502 / 503 | Server errors | Worst during crawling — directly damages indexing |
301 vs 302: which one for a migration
Wrong-direction redirects are the top reason ranking never comes back:
- Permanent (301/308): the new URL becomes the identity; equity and history follow. Use for domain changes and URL-structure redesigns.
- Temporary (302/307): the old URL remains the identity; the new URL is a temporary stop. Use for campaign pages and checkout transfers.
Mistake examples: a promo page that used 301 — when the promo ends, the old page's ranking history has already moved "permanently," and recovery means re-migrating. The reverse: a permanent redesign using 302 — the old address keeps competing for identity, and neither page ranks well.
Two time points: before and after
Before the migration (baseline, once): confirm the final status of your top 20 high-value URLs and their chains, and archive it. That file is the comparison base — without it you cannot tell "new problem" from "pre-existing."
After the migration (re-check, 24–72 h later): wait for the cutover to settle, then check four things:
- Old URLs all 301 as planned (not 200, not 404).
- New URLs return 200.
- No ladder chains (A→301→B→301→C should be one hop) and no loops (B→301→A→301→B — search crawlers give up).
- Crawler view and browser view match (mismatch → usually WAF / keep-alive / UA rules; this is the classic source of "it looks fine to me but indexing is broken").

Running the check (free, no sign-up)
- Paste URLs, one per line, up to 20; duplicates are dropped automatically and bare domains get https:// automatically.
- Pick views: Googlebot, Bingbot, browser, etc. (add custom headers if needed). For a migration check, run Googlebot + browser at minimum.
- Read the chain: status code, status phrase, full redirect chain (every hop's status, Location, timing), response headers, body, and total time. Split timing by hop — the slow hop is the issue.
- Export CSV: land the results in your tracking sheet or ticket queue alongside other changes.
One free HTTP status code checker (simple human verification per check, no registration) does all of it in one pass, and ships a 54-code reference — which is also why the check follows chains instead of only final status.
Monthly audit (optional but recommended)
The people who get burned forget month three. Keep an "unhealthy URLs" list and run the top 20 core URLs monthly. Status codes are like elevator buttons — they fail when you assume they are fine.
Common mistakes
- Looking only at the final status: 301→301→200 is very different from a direct 200; the longer the chain, the more signal decays.
- Fixing every 404: a 404 that is connected in a redirect chain is not a dead link — genuinely removed pages should stay 404/410. Fix only the dead links with traffic.
- Testing only the browser view: WAFs return different content per UA. At least two views per check.
FAQ
How many URLs can I check at once? Up to 20; duplicate URLs are checked once. Larger lists just mean more batches.
Is it paid? No. Free and anonymous, with a simple human verification per check.
How soon after a migration is a 301 reliable? The check tool usually shows results within 24–72 hours; for full equity transfer, monitor GSC URL inspection over the following weeks.
Is 502/503 a "failure" or a wait? During crawling, it is serious. Find the cause (upstream, specific endpoints). 5xx seen from the crawler view is not a "wait a second" situation.
Author: Julian Mercer, 14-Year Technical SEO Practitioner at Auspia. Julian writes about crawlability, rendering, site architecture, and the technical foundations AI-readable content needs.




