← Redirect Ledger

Migration field notes · Updated 10 November 2026

Redirect chains vs loops: examples and fixes

A chain sends a URL through another redirect before reaching content. A loop revisits a URL and never reaches a final destination. Both can be found in a redirect map, but live testing is still required.

A chain: A → B → C

If A redirects to B and B redirects to C, users and crawlers must follow two hops. When C is the intended equivalent page, change A to point directly to C. Check that C actually returns the desired content.

https://example.com/old → /middle → /new

A loop: A → B → A

A loop never resolves. Remove the rule that sends the visitor back, then point affected sources at the intended final page. A path leading into a loop is also affected.

A self redirect: A → A

A URL mapped to itself is not a useful migration rule. Remove it from the redirect map. Check for differences that may matter before declaring two URLs identical: HTTP and HTTPS, hostnames, path case, query strings and trailing slashes.

A conflict: A → B and A → C

A single source with two destinations makes the intended behaviour unclear. Keep the correct rule, document the decision and verify how your server handles matching precedence.

What a CSV checker can and cannot see

Our free checker follows the rules inside your file. It does not fetch URLs. A clean file can still have a live loop caused by existing application rules, a CDN or a hostname redirect. Test both the map and the deployed site.

Source: Google Search Central’s redirect guidance. For the full workflow, see creating a migration map.