← All posts
Guides2 Nov 2026 · 3 min read

Redirect chains and loops: how to find and fix them

Trace the difference between an extra hop and a loop, shorten configured chains, and check where automatic rule testing stops.

RedirectDuck team
RedirectDuck mascot

An old address redirects to another old address, which redirects to the current page. Every rule may look reasonable on its own, yet the visitor takes an unnecessary detour.

A redirect chain has multiple steps. A loop returns to an address already visited and cannot reach a final page.

Draw the actual route

Start with one concrete URL and write down each destination:

Chain:
old.example.com/pricing
  → previous.example.com/plans
  → example.com/pricing

Loop:
old.example.com/help
  → example.com/support
  → old.example.com/help

For the chain, the intended change is usually to send the first address straight to the final page. For the loop, decide which page should actually serve the content, then remove the return path.

Google's site-move guidance recommends directing old URLs to the final destination rather than keeping an avoidable chain.

Use the rule tester with a real path

Open Rule tester in RedirectDuck and enter an absolute URL, including http:// or https://. Include query parameters when they matter to the rule.

The tester evaluates enabled rules in the selected workspace and reports the matched rule, destination and configured chain. It can evaluate a rule before its domain is verified, so a matching result is not proof that the public domain is ready.

It follows configured rules, not remote web pages. A redirect added by your destination website, CDN or another workspace can be outside the result.

Understand the automatic checks

Saving a rule includes checks for configured loops and chains. On Pro and Agency, the analytics health view also surfaces these issues.

Pattern checks use representative paths. Regex rules can behave differently for different inputs, so test concrete examples rather than treating one successful check as proof for every URL.

Verify what visitors receive

After updating a rule, inspect the live chain:

curl -sS -L --max-redirs 10 -o /dev/null -D - 'https://old.example.com/pricing'

Replace the example hostname with your own. This follows redirects and prints the response headers at each step. Compare the observed addresses with the tester's output.

If the chain reappears outside RedirectDuck, review the destination server's rules too. Common sources of extra hops include an outdated hostname or a path that immediately redirects to a different path.

Keep the route short after future changes

When a page moves again, update the original mappings instead of adding another permanent middle stop. Keep a few representative URLs in your migration notes and repeat the checks after a release.

Use history and rollback on eligible plans when a change needs to be reviewed or reversed, then test again. Restoring a rule does not clear a redirect already cached by a browser.

Point your old domain at us

One DNS record, HTTPS included. Free for your first domain.

Start for free