New: The $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests. Get it free →

Home / Blog / Redirect Chains: Why They Hurt SEO and How to Fix Them

Technical SEO · 11 min read

Redirect Chains: Why They Hurt SEO and How to Fix Them

A redirect chain sends a URL through two or more redirects before it reaches a page. Here's what Google actually says about chains, how they form on Shopify and how to flatten them.

Robert Battle · Updated

Key takeaways
  • A redirect chain is two or more redirects in a row, such as A to B to C; a loop is a chain that points back to itself and never loads.
  • Google's crawlers follow up to 10 redirect hops, and Google's site move guide recommends ideally no more than 3 and fewer than 5.
  • Google says 301 and other permanent redirects don't cause a loss in PageRank, so the real costs are latency, crawl requests and mixed signals.
  • Shopify URL redirects only fire when the old URL returns a 404, and renaming a handle twice is the most common way chains form.
  • Fix chains by pointing every old URL straight at its final page, updating internal links and keeping redirects for at least a year.

A redirect chain is when a URL redirects to another URL that redirects again before reaching the final page, for example A to B to C. Chains rarely break a site, but they add latency, waste crawl requests and can stop Googlebot entirely past 10 hops, so the fix is to point every old URL straight at its final destination and update internal links to skip redirects altogether.

This guide is for Shopify and e-commerce teams who have changed product handles, restructured collections or migrated platforms and suspect redirects have piled up. You'll get what Google actually says about chains (including a myth the old version of this post repeated), how chains form on Shopify, how to find them, a step-by-step way to flatten them and a checklist to stop them coming back.

What is a redirect chain?

A single redirect is one hop: the browser or crawler requests URL A, gets a 301 pointing to B, and loads B. A chain is two or more hops in a row: A to B, then B to C. A redirect loop is a chain that never ends because a later hop points back to an earlier URL, such as A to B to A. Loops are worse than chains, because nothing ever loads.

Chains usually form by accident. Someone redirects an old URL to a new one, and months later the new URL changes too. The second redirect gets added, but nobody updates the first one, so the original URL now takes two hops. Repeat that through a few redesigns and a platform migration, and some URLs on an older store pass through three or four hops before reaching a page.

You can see a chain from the command line by following the redirects and printing each status code and location:

curl -sIL http://example.com/old-page | grep -iE "^HTTP|^location"

HTTP/1.1 301 Moved Permanently
Location: https://example.com/old-page
HTTP/2 301
location: https://www.example.com/old-page
HTTP/2 301
location: https://www.example.com/products/new-page
HTTP/2 200

That example shows three hops: HTTP to HTTPS, the bare domain to www, and an old product URL to a new one. Or paste any URL into our Redirect Checker, which follows every hop and shows each status code without a terminal.

Do redirect chains hurt SEO?

Yes, but not in the way most SEO blogs claim. Here is what Google's own documentation says, and what it doesn't.

What Google and Chrome document about redirect hops
10Hops Google's crawlers followDefault limit for Google's crawlers
3 or fewerRecommended chain lengthIdeally no more than 3 and fewer than 5
2+Lighthouse fails a page atTwo or more redirects
1 year+Keep redirects forAs long as possible, generally at least 1 year

Source: Google Search Central, HTTP status codes and Site moves docs (2026); Chrome Lighthouse redirects audit

What Google documents

  • There is a hard limit. Google's HTTP status code documentation says "By default, Google's crawlers follow up to 10 redirect hops." A URL behind a longer chain may never be processed.
  • Google wants chains short. The site move guide says to avoid chaining redirects and redirect to the final destination directly, and if that isn't possible, to keep the chain "ideally no more than 3 and fewer than 5." It adds that chains add latency for users and that not all user agents and browsers support long chains.
  • Chains cost crawling. Google's crawl budget guide says to "Avoid long redirect chains, which have a negative effect on crawling." That guide is written for very large sites (roughly 1 million+ pages, or 10,000+ pages that change daily), so for most Shopify stores crawl budget is a minor concern, not the main one.
  • Chains slow real visitors. Chrome's Lighthouse redirects audit fails a page that has two or more redirects and notes each extra trip can delay loading by hundreds of milliseconds. That matters most for paid and email traffic that lands on old URLs.

The link equity myth

The old claim is that every hop "leaks" ranking value, so a three-hop chain passes less authority than a single redirect. Google's site move guide says the opposite about permanent redirects: "301 and other permanent redirects don't cause a loss in PageRank." The real risks are the hop limit, slower pages, wasted requests and messy signals when some hops are temporary (302) instead of permanent. Those are good enough reasons to flatten chains without inventing a penalty.

301, 308, 302 and 307: which redirect to use

Every hop in a chain has its own status code, and a chain that mixes permanent and temporary redirects sends Google mixed signals about which URL is canonical. Google's redirects documentation treats 301 and 308 as permanent and 302, 303 and 307 as temporary.

RedirectMeaningHow Google treats itUse it when
301 Moved PermanentlyPermanentStrong signal the target should be processed and treated as canonicalA page has moved for good (the default for SEO)
308 Permanent RedirectPermanent, keeps the request methodEquivalent to 301Same as 301, when POST must stay POST
302 Found, 303 See OtherTemporaryWeak signal; the original URL may stay in resultsA short-term move, like a temporary sale page
307 Temporary RedirectTemporary, keeps the methodEquivalent to 302Same as 302, when the method must be kept
Meta refresh, 0 secondsPermanent if instantInterpreted as permanent; delayed refreshes are temporaryOnly when you can't set server redirects
JavaScript redirectClient-sideLast resort; Google may miss it if rendering failsOnly when nothing server-side is possible

The difference between 301 and 308 is about HTTP methods, not SEO. The HTTP specification (RFC 9110) notes that, for historical reasons, a client may change a POST to a GET when following a 301, and that 308 can be used if that change is unwanted. For product and collection pages, which are fetched with GET, either works.

For chains, the rule is simple: when you flatten a chain, every remaining redirect should be a permanent one (301 or 308) unless the move really is temporary. A 302 in the middle of an otherwise permanent chain is a common reason Google keeps showing an old URL.

Get a technical SEO plan that covers your redirects

We'll benchmark your store against your top three competitors on Google and AI answers, flag the technical fixes worth making first and show the revenue math.

Get my technical SEO plan →

How redirect chains form on Shopify

Shopify handles some redirects for you and leaves others to you, and the two layers stack up.

Domain-level hops

Shopify redirects traffic to your primary domain over HTTPS. When we checked a large Shopify store on October 27, 2026, a request to the bare domain over plain HTTP took two 301 hops: first to HTTPS on the bare domain, then to the www primary domain. That chain is built into the hosting setup and only affects visitors and links that use the wrong version of the domain. You can't remove it, but you can make sure your own links, ads, emails and canonical tags always use the final HTTPS primary domain so nobody starts on that path.

URL redirects you create

Shopify's URL redirects help page documents how store redirects work, and a few details matter for chains:

  • Redirects only work for URLs that return a 404. In Shopify's words, "If the URL still loads a valid webpage, then the URL redirect won't work."
  • Setting a product to draft or removing it from all sales channels makes its URL return a 404, which makes a redirect on it active.
  • A store can have up to 100,000 URL redirects, and Shopify Plus stores up to 20,000,000.
  • You can bulk import and export redirects as CSV from the URL redirects page.
  • URLs with query strings might not work as expected with URL redirects.

The usual chain builders

  • Renaming a handle twice. When you change a product's URL handle, the admin offers to create a redirect from the old URL. Rename it again later and you get A to B plus B to C, so A now takes two hops.
  • Platform migrations. Redirects imported from an old platform point to the first Shopify URLs. A later restructure adds a second layer on top.
  • Collection and blog restructures. Merging collections or moving blog posts between blogs creates new redirects for URLs that were already redirect targets.
  • Internal links to old URLs. Menus, product descriptions and blog posts still linking to redirected URLs mean every click and crawl takes at least one avoidable hop.

How to find redirect chains on your site

  1. Export your redirects. In the Shopify admin, export URL redirects to CSV. This is the full list of hops you control.
  2. Find targets that are also sources. In a spreadsheet, check whether any "Redirect to" path also appears in the "Redirect from" column. Every match is a chain. If a path ever points back to one already in its chain, you have a loop.
  3. Validate the whole map. Paste the redirect list into our Redirect Checker, which can validate a full redirect map for loops and chains, or follow individual URLs hop by hop.
  4. Crawl the live site. Run a crawler over your store and filter for internal links that return 3xx. Those are links you can update to point straight at the final URL.
  5. Check URLs that earn traffic and links. Test old URLs from backlink reports, ad and email destinations, and your Search Console pages report. These are the chains that affect real visitors.
  6. Check the sitemap. Your sitemap should only list final, indexable URLs. Any redirected URL in it is a sign something is out of date.
HTTP requests to reach final pages for 5,000 old URLs (illustrative example)Illustrative example: one visit or crawl of each of 5,000 redirected URLs, counting each hop plus the final page
10k 1 hop 15k 2 hops 20k 3 hops 25k 4 hops
View the data
Value
1 hop10k
2 hops15k
3 hops20k
4 hops25k

Source: QCK illustrative calculation

The chart shows why flattening matters on stores with lots of legacy URLs: every extra hop is one more request for every visit and every crawl of every old URL. On a small store the numbers are tiny; on a store with years of migrations they add up.

Clean crawl paths help AI answers find you too

The free $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests, covers getting cited by ChatGPT, Google AI Overviews and Perplexity.

Get the free roadmap →

How to fix redirect chains, step by step

  1. Decide the final destination for each old URL. It should be the closest live, indexable equivalent page, not the homepage by default. For URLs with no good match, our 404 Redirect Mapper suggests the closest live page and exports a ready-to-import map.
  2. Flatten the map. Rewrite every row so its "Redirect to" value is the final URL. Keep the intermediate URLs as sources too, because they may have their own links.
  3. Make every remaining hop permanent. Replace any temporary redirects in the middle of a permanent move.
  4. Re-import and spot check. Import the corrected CSV, review how the importer handles paths that already exist, and test a sample of old URLs to confirm each one now takes a single hop.
  5. Update internal links. Change menus, footer links, product descriptions, blog posts and theme templates to link directly to final URLs. This removes the hop entirely for most visits.
  6. Update external destinations you control. Fix ad final URLs, email templates, social profile links and any partner links you can edit.
  7. Keep the redirects. Google's site move guide says to keep redirects "for as long as possible, generally at least 1 year." For URLs that still get links or traffic, there's no reason to remove them.

Here is what flattening looks like in the CSV for a product renamed twice:

Redirect from,Redirect to
/products/blue-mug,/products/blue-mug-12oz
/products/blue-mug-12oz,/products/ceramic-mug-blue

Redirect from,Redirect to
/products/blue-mug,/products/ceramic-mug-blue
/products/blue-mug-12oz,/products/ceramic-mug-blue

Before, the first URL takes two hops. After, both old URLs go straight to the live product in one hop.

SymptomLikely causeFix
Old URL takes 2+ hopsHandle or path changed more than oncePoint the oldest URL straight at the final page
Redirect doesn't fireThe old URL still loads a live page on ShopifyRemove or unpublish the old page, then the redirect applies
Browser shows "too many redirects"A loop, such as A to B and B to ADelete one of the two rows and choose one final page
Google keeps showing the old URLA 302 in the chain, or internal links still use itUse permanent redirects and update links
Many internal links return 3xxMenus and content link to old URLsUpdate links to final URLs
Redirect lands on the homepageLazy mapping during a migrationMap to the closest equivalent product or collection

How to prevent redirect chains

  • Treat handles as permanent. Get product and collection handles right at launch, and change them only when there's a clear SEO reason.
  • Check before you add a redirect. Before adding A to B, search your redirects for anything already pointing to A, and update those rows to point to B too.
  • Plan migrations as one map. During a replatform or restructure, map every old URL (including old redirect sources) to its final new URL in one pass. Our Shopify SEO migration guide covers the full process.
  • Link to final URLs. Make it a habit for anyone editing menus, emails or content to paste the live URL, not one copied from an old document.
  • Audit on a schedule. Export and check your redirect list after every big catalog change, and run a crawl for internal 3xx links each quarter.

Redirects sit next to other crawl issues. If you're also seeing broken links, our guide to 404 errors and SEO covers when to redirect and when to let a page return a 404.

Redirect chain cleanup checklist

Start by exporting your Shopify redirects and finding every target that is also a source. Flatten those rows so each old URL points at its final page, make every remaining hop permanent, and update menus and content to link straight to live URLs. Then test your most-linked old URLs to confirm each one takes a single hop, and keep the redirects in place for at least a year.

If you're planning a migration or restructure and want the redirect map done right the first time, our technical SEO team can help, or you can get in touch for a custom plan.

Planning a migration or restructure?

Book a free 30-minute call. We'll compare your store with your top three competitors, show which pages are ready to move and prioritize the fixes by revenue.

Get my custom plan →
FAQ

Questions & answers

How many redirects are too many for SEO?
One redirect is normal. Two or more in a row is a chain worth fixing, Google recommends ideally no more than 3 and fewer than 5, and its crawlers stop following after 10 hops.
Do redirect chains lose link equity?
Google's site move guide says 301 and other permanent redirects don't cause a loss in PageRank. Chains are still worth fixing because they slow pages, waste crawl requests and can mix permanent and temporary signals.
What is the difference between a redirect chain and a redirect loop?
A chain eventually reaches a page after several hops. A loop points back to a URL already in the chain, so the page never loads and browsers show a too many redirects error.
Should I use a 301 or 308 redirect?
Google treats them the same: both are permanent. The difference is that a 308 keeps the request method, which matters for form submissions, not for normal product or collection pages.
Does Shopify create redirect chains automatically?
Shopify adds domain-level redirects to your primary HTTPS domain, and the admin can create a redirect when you change a handle. Chains appear when a URL that's already a redirect target changes again and the older redirect isn't updated.
Free custom plan

Find the revenue you're leaving on the table

A free 30-minute call where we build the first version of your plan with you. You leave with a plan either way.

  • Your score across Google, AI citations, branded demand, and reviews
  • The pages on your site that are ready to move right now
  • Your first Flagship page and the first three tests we'd run

Step 1 of 3

Get your free custom plan

Free. Takes about 30 seconds.