Our server checks the public URL you enter. Results are not stored.
To test a redirect map after a site migration, paste your old URLs and the new URLs they should go to into the free Redirect Chain Mapper above. It follows every redirect from each old URL, up to 50 at a time, and tells you whether it lands on the expected page in one permanent hop, takes a chain, uses a temporary redirect, ends somewhere else, or does not redirect at all. For every row that needs work it writes the Apache, LiteSpeed and Nginx rule to fix it.
Last updated: 6 November 2026. Written by Saad Raza.
Key takeaways
- A migration redirect passes only when the old URL reaches the expected new URL in one 301 or 308, and that new URL returns 200.
- The most damaging failures are missing redirects (the old URL returns 404 or 410) and redirects to the home page, which Google often treats as soft 404s.
- Chains and temporary 302s still deliver visitors, but they waste crawl requests and add delay, so fix them while the map is fresh.
- Test the map on staging before launch, again on launch day, and again a week later, because caching and plugin rules can change what the server does.
What a redirect map is and why you test it
When you move to a new domain, change your URL structure or rebuild a site, every old address that has links, rankings or bookmarks needs a 301 redirect to its closest new equivalent. The list of old and new URLs is the redirect map. It is the single most important document in a website migration, because a page that is not redirected loses the links pointing to it, and 301 redirects pass link equity only when they exist and point to the right place.
A map in a spreadsheet is a plan, not proof. Server rules are written by hand, plugins add their own redirects, and an http-to-https rule can stack on top of a page rule to form a chain. The Redirect Chain Mapper checks what the server actually does for each row, so you find the gaps before Google does.
If you only need to see the hops for a list of URLs without an expected target, use the bulk redirect and status code checker instead. To write rules from scratch, the htaccess redirect generator turns a list of pairs into Apache rules.
How to use the Redirect Chain Mapper
- Paste your map with one pair per line: the old URL, then the new URL. Separate them with a comma, a tab, a space or an arrow such as
->. You can paste two columns straight from a spreadsheet, and a header row is skipped. - Write the old URL as a full address. The new URL can be a full address or a path such as
/services/, which is read on the old URL’s domain. - Or upload a CSV with two columns.
- Run the test. Use the Show filter to list only failures, or failures and warnings.
- Copy the generated rules for the rows that need work, apply them on staging, then run the test again.
What each result means
| Result | Level | What happened | What to do |
|---|---|---|---|
| Pass | Good | One 301 or 308 straight to the expected URL, which returns 200 | Nothing |
| Chain | Improve | Reaches the expected URL in two or more hops | Point the old URL straight at the final URL |
| Temporary | Improve | Reaches the expected URL with a 302, 303 or 307 | Change it to a 301 |
| Near match | Improve | Ends on the expected URL apart from a trailing slash or letter case | Fix the map or the rule so they agree exactly |
| No redirect | Fail | The old URL loads with 200, or returns 404, 410 or 5xx | Add the redirect |
| Wrong target | Fail | Ends on a working page that is not the expected one | Check which rule catches the URL first |
| Sent to home page | Fail | Ends on the home page instead of a specific page | Redirect to the closest matching page |
| Destination broken | Fail | Reaches the expected URL, but it returns an error | Publish the new page, or change the target |
| Loop | Fail | The redirects go round in a circle | Remove one of the conflicting rules |
The tool also checks the map itself. If a new URL in one row is an old URL in another row, the map has a chain built in, and it tells you. If many old URLs point to one target, it notes that many-to-one redirects only work when the target is a real replacement.
A worked example with real responses
The example in the tool tests five rows against live servers. These were the results on 6 November 2026:
http://saadrazaseo.com/tohttps://saadrazaseo.com/: Pass. One 301 to the HTTPS home page, which returns 200.http://www.saadrazaseo.com/seo-toolstohttps://saadrazaseo.com/seo-tools/: Chain. Two 301s: one for http and www, then one for the trailing slash. Visitors arrive, but one hop would be better.https://httpbin.org/redirect/3tohttps://httpbin.org/get: Chain, with three temporary 302s. Two problems in one row.https://httpbin.org/status/500: No redirect (500). The old URL returns a server error, so nothing is passed on.https://saadrazaseo.com/no-such-page-xyz/: No redirect (410). The URL returns 410 Gone instead of redirecting.
For the four rows that need work, the tool writes rules such as Redirect 301 /no-such-page-xyz/ https://saadrazaseo.com/seo-tools/ for Apache and LiteSpeed, and location = /no-such-page-xyz/ { return 301 https://saadrazaseo.com/seo-tools/; } for Nginx. Rows that end on a broken destination need the new page fixed first; a rule cannot fix a missing page.
Good practice for migration redirects
- Map page to page. Send each old URL to the most relevant new page. Only use a category or the home page when nothing closer exists.
- Avoid chains from day one. When an older redirect already exists, update it to point at the new final URL, rather than adding a second hop. My guide to redirect chains and loops shows how they form.
- Handle http, https and www once. One site-wide rule for HTTP to HTTPS and www should come first, with page rules written against the final host so they do not stack.
- Keep redirects in place. Leave them for at least a year, and longer for URLs with backlinks. See how long to keep 301 redirects.
- Update internal links. Redirects are a safety net, not a substitute. The broken link checker finds internal links that still point at old URLs.
- Check canonicals. New pages should not carry canonicals that point back to old URLs. The canonical and noindex checker catches this.
Limits
The mapper follows HTTP redirects only, up to 10 hops per URL. A meta refresh or JavaScript redirect inside a page is not followed, so such a row shows as “No redirect”. Requests come from our server, so geo-based or cookie-based redirects may behave differently for visitors. Some sites block automated checks with 403 or 429 responses. Each run tests up to 50 rows, within a fair-use limit of 60 checks per 10 minutes, so split larger maps into batches. Results reflect the moment you test, and caches can hold old redirects for a while after a change.
Questions about the Redirect Chain Mapper
What is a redirect chain?
A redirect chain is when one URL redirects to a second URL that redirects again, and so on, before reaching the final page. Each hop adds a request and a delay. Google follows up to 10 hops, but shorter is always better.
Should migration redirects be 301 or 302?
Use 301 (or 308) for a permanent move. A 302 tells search engines the move is temporary, so the old URL may stay in results longer. The mapper marks temporary redirects in a migration map as needing improvement.
Is it bad to redirect old pages to the home page?
Usually, yes. Google tends to treat mass redirects of unrelated pages to the home page as soft 404s, so the old pages’ signals are not passed on. Redirect each old URL to the closest equivalent page instead.
Can I test a redirect map before the new site is live?
Yes, if your staging site is publicly reachable. Put the staging domain in both columns, test, fix, and then run the same map against the live domain on launch day.
Why does a row show “No redirect (410)”?
The old URL returns 410 Gone, which tells search engines the page was removed on purpose. That is correct for content you deleted, but for a page that moved, add a 301 to its new address.
If you are planning a migration and want it done without losing traffic, my technical SEO services cover redirect mapping, launch checks and monitoring, and you can ask for a free audit. You can also browse the other free technical SEO tools.
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
