Fix redirect chains and loops

Replace multi-hop redirects with direct ones to preserve link equity and speed up page loads.

What it means

A redirect chain is when URL A redirects to URL B, which redirects to URL C. Each hop adds latency and dilutes the PageRank passed through the redirect. A redirect loop is when the chain eventually points back to itself — causing an infinite loop error in browsers and bots.

Why it matters

Each redirect hop adds 100–300ms of latency before the page loads. Googlebot follows redirect chains but passes less link equity with each hop. A chain of 3+ redirects can cause Googlebot to abandon the chain entirely, leaving your canonical page unindexed.

How to fix it

  1. Audit your redirects using Screaming Frog (Spider → Response Codes → Redirection) or Ahrefs Site Audit — both flag chains and loops automatically.
  2. Update every redirect in the chain to point directly to the final destination. If A→B→C, change A to redirect to C and remove the intermediate hop.
  3. Update any internal links or hardcoded URLs that point to the old intermediate URLs — eliminating the need for the redirect entirely is always better than fixing the chain.
  4. For WordPress: use the Redirection plugin to manage all your redirects in one place. For custom sites: centralise redirects in nginx.conf, .htaccess, or a middleware file.
  5. Check your XML sitemap — it should only contain final, canonical URLs, not redirecting ones.
  6. After fixing, verify the chain is gone: curl -IL https://yourdomain.com/old-url should resolve in one or two hops maximum.

Helpful tools

Related guides