Technical SEO · 10 Nov 2026 · 6 min read
Redirect chains and loops: how to find and fix them
Redirects are meant to send people from an old address to a new one. When one redirect leads to another, or back to itself, things go wrong.
The short answer
A redirect chain is a series of redirects where address A goes to B, then to C, before reaching the final page. A loop is a chain that returns to an earlier address, so the page never loads. Fix both by pointing every old address straight at the final destination in a single step.
Chains and loops: the difference
A single redirect is normal. Address A is old, address B is new, and anyone asking for A is sent to B in one step.
A chain appears when B is later redirected too. Now A goes to B, which goes to C. Add another change and you have A to B to C to D. Each extra stop is a hop.
A loop is a chain that bites its own tail: A goes to B, and B goes back to A. The browser keeps being sent round in a circle and eventually shows an error such as "too many redirects". Search engines give up as well.
Chains are slow and untidy. Loops are broken. Both are usually created by accident, as people change a site over several years without checking what was already in place.
How they happen
- Repeated redesigns. Each rebuild adds a layer of redirects on top of the previous one.
- Protocol and host rules. A rule sends http to https, another adds www, another adds a trailing slash. An old address can pass through all three before landing.
- Plug-in clashes. A redirect plug-in and a server setting both try to manage the same address and disagree.
- Language or country rules. A rule that sends visitors to a regional folder can bounce them back to the original.
- Domain moves. Old domain to new domain, then a new folder structure on top.
If you have ever changed domain, see this domain change checklist to avoid building chains on day one.
Why they matter
Speed. Every hop is another request, and each takes time. On slow mobile connections that delay is noticeable.
Crawling. Search engines follow redirects, but long chains waste their effort. Google's documentation says it follows a limited number of hops and then stops; check the current guidance for the exact figure. For a small site this is rarely the biggest worry, but the page at the end of a long chain may be found late. See crawl budget explained for the wider picture.
Reliability. A loop means a page cannot be reached at all, by customers or by search engines.
Tidiness. A pile of historic redirects is hard for the next person to understand and easy to break.
How to find them
- Crawl your site with a tool that follows redirects and reports chains. Most crawlers have a redirect report that lists the start address, each hop and the final address.
- Check your internal links. If a menu link points to an address that redirects, every visitor takes the extra hop. Update the link to the final address.
- Test old addresses. Take a list of important old URLs from your records, analytics or backlink tools and request each one. Browser developer tools show every hop in the network panel.
- Read the Search Console reports. Pages flagged as redirected, and any errors for redirect loops, point to problem addresses. Check the current report names in the documentation.
- Check the rules themselves. Open your server or plug-in redirect list and look for rules whose destination is another rule's source.
How to fix a chain
The goal is always the same: every old address points straight at the final address in a single step.
| Before | After |
|---|---|
| /old to /newer, then /newer to /newest | /old to /newest, and /newer to /newest |
| http://example.com to https://example.com to https://www.example.com | http://example.com straight to https://www.example.com |
| Menu link to a redirected address | Menu link edited to the final address |
Steps to follow:
- Write down the final destination for each chain.
- Edit the first rule so it points to that final address.
- Keep the middle rule so that anything linking to it still works, but point it at the final address too.
- Update internal links, canonical tags and the XML sitemap so they use the final address directly.
- Test again in a crawler.
Use permanent redirects (301) for moved pages. Our guide to HTTP status codes explains when to use each type.
How to fix a loop
Loops need detective work, because two rules are fighting each other.
- Request the address and write down each stop until the error appears.
- Find the two (or more) rules involved, in your server configuration, your content management system, a plug-in or a content delivery network.
- Decide which rule is correct and remove or edit the other.
- If the loop involves cookies or login status, test in a private browser window.
- Clear any caching layer, then test again.
A common cause is a rule that forces a trailing slash in one place and removes it in another. Pick one style, as covered in URL structure best practices, and apply it in one place only. If you are unsure, ask your developer to look at the server logs while you request the address.
A worked example
This is an invented example. A company moved from an old domain to a new one three years ago, and last year renamed its services folder. A visitor following an old link to the old domain's services page is sent to the new domain, then to the old folder name on the new domain, then to the new folder name. That is two hops before the page appears.
The fix is a single rule: old domain services page straight to the current services page. The intermediate rules can stay, but each should also point at the current page, so any combination of old addresses lands in one step.
To check your work, request the original address in a crawler or in your browser's developer tools and count the lines in the network list that show a redirect status. One is acceptable. Two or more means there is still tidying to do. Record the before-and-after in your redirect list with the date, so the next person understands the history.
It is also worth testing the awkward variants of an address, not just the tidy one: the version with and without www, with and without a trailing slash, and with capital letters. Each variant can take its own route through your rules, and a chain often hides in the one nobody tried.
Keeping redirects healthy
- Keep one redirect list, in one place, with the date and reason for each rule.
- Redirect to the closest matching page, not to the home page by default.
- After any site change, crawl and check for chains within a week.
- Fix internal links rather than leaning on redirects.
- Do not delete old redirects too soon; leaving them in place for a long time protects visitors and any outside links.
Pages that no one links to are a related issue; see orphan pages. Together, tidy redirects and tidy links make a site easy for people and search engines to follow.
If you take over an older site, ask for the redirect list before you change anything. Seeing the whole map first tells you which rules are deliberate and which are leftovers, and it stops you adding a new layer on top of an old one.
Related guides
- SEO services
- URL Structure Best Practices for SEO
- Orphan Pages: What They Are and How to Fix Them
- 301 vs 302 redirects explained
- Broken links and 404 errors how to find and fix
- Url structure for seo
Questions and answers
Is a redirect chain bad for SEO?
Short chains usually cause little harm, but they add delay and can slow crawling. Aim for one hop wherever possible.
How many redirects is too many?
Google follows a limited number of hops per request. Check the current documentation for the figure, and keep it to one hop in practice.
What causes the 'too many redirects' error?
Usually a redirect loop, often from two conflicting rules such as a plug-in and a server setting.
Should I use 301 or 302?
Use 301 for permanent moves and 302 for temporary ones. If unsure, see the status codes guide.
Do I need to fix chains in old backlinks?
You cannot edit other sites' links, but you can make sure your redirect sends them straight to the final page.
Tell us what you are building.
A short call, a written plan and a fixed quote. No obligation.