Skip to main content
F
Foglift
← Back to Blog
· 10 min read

Redirect Chains and Loops: How They Hurt Your SEO (and How to Fix Them)

A single misplaced redirect can quietly drain your PageRank, bloat your crawl budget, and add hundreds of milliseconds to every page load. Redirect chains and loops are among the most common — and most overlooked — technical SEO problems. This guide explains exactly what they are, why they matter, and how to permanently fix them.

If your site has been through a migration, a CMS switch, an HTTP-to-HTTPS move, or even just years of URL restructuring, you almost certainly have redirect chains hiding somewhere. Most site owners don't find them until they run a proper audit.

Find redirect chains on your site in seconds

Use our free Redirect Chain Checker to trace the full redirect path of any URL. Foglift also crawls your website and automatically flags redirect chains, redirect loops, and broken redirects alongside your other technical SEO issues.

Scan Your Website Free

The Basics

What Is a Redirect Chain?

A redirect chain is a sequence of redirects where the original URL does not point directly to the final destination. Instead, it passes through one or more intermediate URLs before landing. Here is a simple example:

// Single redirect (correct)

https://example.com/old-page → 301 → https://example.com/new-page

// Redirect chain (problematic)

https://example.com/old-page

→ 301 → http://example.com/old-page

→ 301 → https://www.example.com/old-page

→ 301 → https://example.com/new-page

In the chain above, three hops occur before reaching the final destination. Every link, bookmark, or crawl request that hits the original URL pays the penalty three times over: three DNS lookups, three TCP handshakes, three HTTP round trips, and three opportunities for something to break.

Chains accumulate naturally over time. A site migrates from HTTP to HTTPS. A year later, it removes the www subdomain. A year after that, it restructures URLs in a CMS. Each change adds a hop on top of the previous one instead of updating the original redirect destination.

The Other Problem

What Is a Redirect Loop?

A redirect loop is a circular chain where a URL eventually redirects back to itself. The cycle never terminates. Browsers display an error like "ERR_TOO_MANY_REDIRECTS." Search engine crawlers abandon the request entirely, meaning the page is effectively invisible to Google.

// Simple loop (A ↔ B)

https://example.com/page-a → 301 → https://example.com/page-b

https://example.com/page-b → 301 → https://example.com/page-a

// Three-way loop

https://example.com/a /b /c /a → ∞

// Common real-world loop: HTTPS rule conflicts with www rule

http://www.example.com

https://www.example.com (HTTPS rule)

http://example.com (www-strip rule, strips HTTPS too)

https://www.example.com (loops back)

Loops most often arise from conflicting redirect rules in server config, .htaccess, Nginx config, CDN redirect layers, or CMS plugins. When two rules each try to enforce a different canonical form of the URL (e.g., one enforces HTTPS, another strips the protocol), they can fight each other indefinitely.

SEO Impact

How Redirect Chains Hurt Your SEO

1. PageRank dilution at every hop

Google has confirmed that 301 redirects pass "the vast majority" of PageRank, but not all of it. Each hop in a redirect chain introduces a small but real loss of link equity. If a high-authority page links to your old URL, and that URL passes through three hops before reaching your canonical page, you're losing equity three times instead of once. On a site with thousands of inbound links hitting redirected URLs, this compounds significantly.

2. Wasted crawl budget

Googlebot allocates a finite crawl budget to every website. Each hop in a redirect chain consumes part of that budget without delivering a page of actual content. For small sites this is a minor inefficiency. For large sites with thousands of redirect chains, the crawl waste can push important new or updated pages out of the crawl queue entirely — delaying their indexation for days or weeks.

This is discussed in our technical SEO audit guide as one of the first crawl budget optimizations to address.

3. Slower page loads for users

Browsers are not immune to redirect latency. Each hop adds a full round-trip HTTP request. On a fast connection this might be 30–100ms per hop. On a slow mobile connection or a distant server, each hop can add 300ms or more. A three-hop chain can add nearly a full second of latency before the browser even begins loading the final page. That directly hurts your Core Web Vitals scores, particularly Largest Contentful Paint (LCP).

4. Broken links and user frustration

Long chains are fragile. If any intermediate URL in the chain breaks — returns a 404, a 500, or a loop — every URL that pointed to the original is now broken too. Users hit errors. Search engines see dead ends. Backlinks from external sites stop passing any equity. Using a broken link checker regularly is the best way to catch these failures before they compound.

5. Cached redirects that are hard to update

Browsers cache 301 redirects aggressively — sometimes permanently until the cache is cleared. If a redirect chain is cached at an intermediate hop, fixing the server-side chain doesn't help users who already have the old chain cached. Keeping chains short from the start avoids this problem entirely.

301 vs 302

301 vs 302 Redirects: Which Should You Use?

The redirect type matters as much as the chain length:

  • 301 (Moved Permanently): Use for permanent URL changes — site migrations, HTTPS enforcement, www consolidation, restructured slugs. Google treats 301 redirects as strong signals to transfer PageRank and update its index.
  • 302 (Found / Temporary): Use only for genuinely temporary redirects — A/B tests, maintenance pages, geo-based routing you intend to reverse. Google does not transfer full PageRank through 302s and may continue indexing the original URL.
  • 307 (Temporary Redirect): HTTP/1.1 equivalent of 302 that preserves the request method. Same SEO caveats as 302.
  • 308 (Permanent Redirect): HTTP/1.1 equivalent of 301 that preserves the request method (important for POST requests). SEO-wise, treated like 301.

// Correct: Permanent redirect using 301

301: https://example.com/old-url → https://example.com/new-url

// Wrong: Using 302 for a permanent move

302: https://example.com/old-url → https://example.com/new-url

// Google may keep indexing the old URL

A common mistake is using 302 redirects during a site migration because they feel "safer" to roll back. After a migration, switch every 302 to a 301 once you're confident the new URLs are correct.

Finding the Problem

How to Detect Redirect Chains and Loops

Method 1: Automated site scanner (fastest)

Run a full-site crawl with Foglift. It follows every internal link, traces every redirect chain, and surfaces chains longer than one hop alongside your other technical issues. This is by far the fastest method for a real website.

Method 2: Browser DevTools

For inspecting a single URL, open Chrome DevTools → Network tab → check "Preserve log" → navigate to the URL. Every redirect hop appears as a separate row in the Network panel with its status code. You can see exactly which URLs are in the chain and what type of redirect each one is.

Method 3: curl in the terminal

For developers, curl with verbose output traces the full chain:

# Trace all redirect hops for a URL

curl -L --verbose https://example.com/old-page 2>&1 | grep -E '(Location|HTTP/)'

# Example output showing a 3-hop chain:

> HTTP/1.1 301 Moved Permanently

> Location: http://www.example.com/old-page

> HTTP/1.1 301 Moved Permanently

> Location: https://www.example.com/old-page

> HTTP/1.1 301 Moved Permanently

> Location: https://example.com/new-page

> HTTP/1.1 200 OK

Method 4: Screaming Frog (free up to 500 URLs)

In Screaming Frog, crawl your site, then go to Reports → Redirect Chains. It generates a full list of all chains found, including the intermediate URLs, hop count, and final destination. Filter by chain length to prioritize the worst offenders.

Method 5: Google Search Console

In the Coverage / Pages report, look for URLs listed as "Redirect error" — these are loops that Google couldn't resolve. The URL Inspection tool will also show you how Google sees a specific URL's redirect status.

The Fix

How to Fix Redirect Chains

The fix for a redirect chain is always the same: update the original redirect to point directly to the final destination, eliminating all intermediate hops.

// Before: 3-hop chain

/old-page /renamed-page /category/renamed-page /category/final-page

// After: direct 1-hop redirect

/old-page /category/final-page

Step 1: Build a redirect map

Export your current redirect rules from your server, CMS, or CDN. Create a spreadsheet with four columns: original URL, current target, final destination (tracing through all hops), and new target (the direct hop you'll create). This gives you a complete picture before you start changing anything.

Step 2: Update the redirect at the source

Edit your redirect configuration to point each original URL directly to the final destination. Where you make this change depends on your stack:

  • Apache (.htaccess): Edit RewriteRule or Redirect directives
  • Nginx: Edit return 301 or rewrite directives in your server block
  • Next.js: Update the redirects array in next.config.js
  • Vercel / Netlify: Update the redirects section in vercel.json or netlify.toml
  • WordPress: Use Redirection plugin to manage and bulk-edit redirect rules
  • CDN (Cloudflare, Fastly): Update page rules or edge redirect rules directly in the CDN dashboard

Step 3: Verify the fix

After updating, test each fixed URL with curl -L --verbose or the browser DevTools Network tab to confirm the chain now resolves in a single hop. Re-run your automated scanner to confirm no chains remain.

Step 4: Update internal links

Once chains are fixed, update internal links across your site to point directly to the final URLs. Even with a single-hop redirect, it's better for internal links to use the canonical URL with no redirect at all. This speeds up navigation and gives cleaner crawl signals. This is part of good technical SEO hygiene.

Fixing Loops

How to Fix Redirect Loops

Redirect loops require a different debugging approach because you need to identify which rules are conflicting before you can fix them.

Debug the loop systematically

  1. Map every redirect rule that applies to the problematic URL — from your server config, .htaccess, Nginx config, CDN rules, and CMS settings. Multiple layers often interact unexpectedly.
  2. Trace the chain manually using curl -L --max-redirs 10 --verbose and find where the loop closes.
  3. Disable rules one by one until the loop breaks. This tells you which pair of rules is fighting.
  4. Consolidate conflicting rules into a single rule that enforces all your canonical preferences (HTTPS + non-www, for example) in one step.

Common loop scenario: HTTPS + www consolidation done wrong

# WRONG: Two separate rules that fight each other

# Rule 1: Enforce HTTPS

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Rule 2: Strip www (bug: doesn't check protocol first)

RewriteCond %{HTTP_HOST} ^www\.(.*)

RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

# CORRECT: One consolidated rule

# Enforce HTTPS + non-www in one redirect

RewriteCond %{HTTPS} off [OR]

RewriteCond %{HTTP_HOST} ^www\.(.*)

RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

Prevention

Preventing Redirect Chains in the Future

Fixing chains is a reactive measure. These practices keep them from accumulating in the first place:

  • Maintain a redirect map: Keep a version-controlled spreadsheet or database of every redirect your site uses. Before adding a new redirect, check if the source URL is already the target of an existing redirect. If it is, update the original rule instead of adding a new hop.
  • Audit redirects after every migration: Any time you move URLs, switch domains, add HTTPS, or restructure paths, run a full redirect audit immediately after. Don't let chains sit.
  • Use a single canonical form rule: Enforce all your canonical URL preferences (protocol, subdomain, trailing slash) in a single server-level rule that fires once per request, not multiple rules that each handle one dimension.
  • Update internal links to final URLs: Internal links that point to a redirected URL will eventually accumulate hops as URLs change again. Update them to canonical URLs on every URL change.
  • Schedule monthly automated scans: Use Foglift or a similar tool on a regular schedule. Redirect chains are easy to miss in day-to-day work but easy to catch with automated crawls.

Site Migrations

Redirects During Site Migrations

Site migrations are the single biggest source of redirect chain buildup. Here is the correct approach:

  1. Before migration: Crawl the current site to document every live URL. This is your source list for the redirect map.
  2. Build a 1-to-1 redirect map: For every old URL, define the exact new URL it should redirect to. Every old URL should have a direct hop to its final destination. Do not chain new redirects on top of existing ones.
  3. Check for existing chains: If the old site already had redirect chains, resolve them in the migration. Map the original chain source to the new final destination.
  4. Validate before go-live: Test a sample of redirects in staging. Use DevTools or curl to confirm each is a single hop to the correct destination.
  5. Post-migration audit: Within 48 hours of go-live, run a full crawl to catch any chains that were missed or introduced by the deployment.

For the full technical SEO migration checklist, see our technical SEO audit guide.

Scan your site for redirect chains now

Foglift crawls your website and reports every redirect chain and loop in seconds. Fix the issues it surfaces and you'll recover lost PageRank, reclaim crawl budget, and speed up every redirected page — all in one session.

Run a Free Site Scan

Frequently Asked Questions

What is a redirect chain in SEO?

A redirect chain occurs when a URL redirects to an intermediate URL before reaching the final destination, creating a sequence of two or more hops (A → B → C). Each additional hop wastes crawl budget, dilutes link equity, adds latency, and increases the risk of users hitting a broken redirect.

How many redirects are too many?

The widely recommended maximum is one redirect hop per URL. Two hops is acceptable in rare consolidation cases. Three or more hops is a problem that should be fixed. Some browsers refuse to follow chains longer than 20 hops, and Googlebot may abandon them after 5.

Do redirect chains affect Google rankings?

Yes. Every hop causes some PageRank loss. Google passes "the vast majority" of equity through 301 redirects, but not 100%. A chain of three or more redirects can meaningfully reduce the authority that reaches your target page. Chains also slow crawling, which can delay indexation of new or updated pages.

What is a redirect loop and how do I fix it?

A redirect loop occurs when URL A redirects to URL B and URL B redirects back to URL A. Fix it by auditing all redirect rules across your server config, .htaccess, CDN rules, and CMS settings. Identify the conflicting pair of rules and consolidate them into a single rule that resolves all canonical preferences in one hop.

How do I find redirect chains on my website?

The fastest method is an automated scanner like Foglift, which crawls your site and flags all chains. You can also use Screaming Frog (free up to 500 URLs), Chrome DevTools Network tab for individual URLs, or curl -L --verbose to trace hops from the command line.

Bottom Line

Redirect chains and loops are silent performance killers. They don't break your site visibly, so they accumulate unnoticed over months and years of normal URL changes. The damage is real: lost PageRank, wasted crawl budget, slower pages, and fragile link infrastructure.

The fix is straightforward once you find them: update every redirect to point directly to its final destination in a single hop. Run a full crawl first, then fix methodically, verify, and set up ongoing monitoring to prevent new chains from forming.

Start with a free Foglift scan to see exactly how many redirect chains and loops your site has right now.

Free tool

Check your website's SEO + GEO score

Scan any URL in 30 seconds. See scores for SEO, AI search readiness, performance, security, and accessibility.

Scan Your Site Free

No signup. 5 free scans/day. Results in 30 seconds.