Website Redirect Checker: Find Chains and Loops
Detect and fix redirect chains and loops sitewide. Guides hop counts, status codes, debugging tools, and practical fixes to collapse chains, stop loops, and improve crawl efficiency.

Vincent JOSSE
Vincent is an SEO Expert who graduated from Polytechnique where he studied graph theory and machine learning applied to search engines.
LinkedIn Profile
Redirects are normal in SEO. What is not normal is when they quietly multiply into chains (A redirects to B redirects to C) or loops (A redirects to B which redirects back to A). Both issues can waste crawl budget, slow page loads, break tracking, and create indexing confusion.
A good website redirect checker helps you see the full path a URL takes, so you can collapse chains and stop loops before they hurt performance.
Why it matters
Redirect problems are not just “technical SEO housekeeping.” They show up as real business pain:
Slower pages: each extra hop adds another request and delay.
Wasted crawl budget: search bots spend time following redirects instead of discovering new or updated pages.
Indexing ambiguity: if redirects, canonicals, and internal links disagree, Google can pick a different “main” URL than you want.
Googlebot follows multiple redirects, but long chains are still a bad idea. Google’s own documentation warns about keeping redirects reasonable and avoiding chains when possible.
Chains
A redirect chain is when a URL resolves only after multiple redirects.
Example:
http://example.com/page→ 301 →https://example.com/page→ 301 →https://www.example.com/page→ 301 →https://www.example.com/page/
Even if the final page loads, chains create unnecessary work for browsers and crawlers.
Common causes
Chains usually come from stacked “good intentions” implemented at different times:
HTTP to HTTPS rules plus later www or non-www enforcement
Trailing slash normalization added after a migration
Old slugs redirecting to intermediate pages that later got redirected again
Plugin-level redirects layered on top of CDN or server rules
Loops
A redirect loop is when the redirect path never reaches a final 200-level page.
Example:
/login→/signin→/login(repeat)
Loops often present as:
Browser error pages (too many redirects)
curlerrors like “maximum redirects followed”Crawlers reporting “redirect loop” or “no response”
Common causes
Loops are typically rule conflicts:
www to non-www redirect combined with a reverse rule
HTTP to HTTPS misconfigured behind a CDN or load balancer
Trailing slash rules that bounce between
/pageand/page/Locale or device redirects that re-trigger on each request (often cookie or header related)
What a redirect checker should show
Not all redirect checkers are equally useful. For debugging chains and loops, you want visibility into both the path and the details.
A solid website redirect checker report includes:
Hop count (how many redirects before the final URL)
Status codes per hop (301, 302, 307, 308)
Location header at each step (the actual redirect target)
Final response code (200, 404, 410, 500)
Protocol and host changes (http/https, www/non-www)
Query string handling (whether parameters are preserved, stripped, or duplicated)
Here is a quick reference for what the status codes typically mean in SEO contexts:
Code | Name | Typical SEO use | Key risk |
301 | Moved Permanently | Permanent URL changes, migrations | Chains if layered repeatedly |
302 | Found (Temporary) | Short-lived promos, tests | Can send mixed canonical signals if used long-term |
307 | Temporary Redirect | Temporary redirect that preserves method | Same strategic risk as 302 if misused |
308 | Permanent Redirect | Permanent redirect that preserves method | Chains if layered repeatedly |
If you need a deeper explanation of redirect behavior and Google’s guidance, start with Google Search Central’s redirect documentation.
Check one URL
When you are debugging a single problematic URL (reported by a customer, analytics anomaly, or Search Console), you can often find the root cause in minutes.
Use curl
curl is the fastest truth source because it shows what the server returns.
Try:
If you suspect redirects, follow them:
What to look for:
Each
HTTP/2 301orHTTP/2 302responseEach
Location:valueWhether the chain terminates in a
200 OK(or ends in a 404)
If curl -L never reaches a final response and stops after many hops, you likely have a loop.
Use Chrome DevTools
For client-side reality checks (especially if CDNs, cookies, or geolocation are involved):
Open DevTools
Go to the Network tab
Enable “Preserve log”
Load the URL
You will see the redirect hops and the final landing page, plus any cookies or cache behavior that might be hiding a loop for some users.

Check at scale
Chains and loops are rarely isolated. After a migration, CMS change, or URL normalization update, you want a site-wide view.
Best ways to scan
Different methods answer different questions:
Method | Best for | Limitations |
Crawler (site crawl) | Finding chains/loops across internal URLs | Depends on crawl scope and permissions |
Redirect path tools (list input) | Validating a known set of URLs | Won’t discover new problem URLs |
Server logs | Seeing how bots and users really hit redirects | Requires access and analysis time |
Search Console | Finding Google-reported redirect issues | Not real-time and not exhaustive |
For a full-site audit, a crawler is usually the most efficient because it can both discover URLs and report redirect behavior (including hop count and final destination).
What to prioritize in reports
When you export redirect data from a crawl, prioritize:
Redirects with 2+ hops (chains)
Redirect loops (often flagged directly)
Redirects that end in 404/410 (broken targets)
Redirects from high-authority pages (top linked, strong traffic, important landing pages)
A practical way to triage is to group by the final destination and identify patterns, for example hundreds of URLs all bouncing through the same intermediate URL.
Find the root cause
Once you’ve identified chains or loops, the key is to locate where they originate. Most issues come from one of three places.
Server rules
Examples: Nginx rewrites, Apache .htaccess, load balancer rules.
Typical chain signature:
One hop for protocol
One hop for hostname
One hop for trailing slash
If those are separate rules, you can often collapse them into a single canonical redirect.
CDN and edge rules
CDNs commonly enforce HTTPS, normalize hosts, or apply redirect rules at the edge. If your origin server also enforces similar rules, you can accidentally stack redirects.
Loop signature:
A redirect at the edge sends to a URL the origin redirects back from
CMS and plugin redirects
CMS layers often add “helpful” redirects when slugs change, categories move, or content is consolidated. This is how you get long-running chains that nobody notices until a crawl.
Chain signature:
Old URL redirects to last year’s version
Last year’s version redirects to the current one
Fixes
The goal is simple: one hop to the final URL, and no ambiguous signals.
Collapse chains
Most chains can be fixed by redirecting the first URL directly to the final URL.
Before:
A → B → C
After:
A → C
B → C (optional, if B still receives traffic)
Also, update internal links so they point directly to C, not A or B. This reduces crawl waste and speeds up user navigation.
Stop loops
Loops require identifying the conflicting rules and choosing a single canonical behavior.
Common loop fixes:
Choose one host format (www or non-www) and ensure only one direction exists
Ensure HTTPS enforcement happens in exactly one layer (CDN or origin, not both)
Normalize trailing slashes consistently (and confirm your CMS routing matches)
If using locale redirects, exclude bots or set a stable default that does not re-trigger
If you need a refresher on which redirect types to use, and how they affect indexing signals, Google’s overview plus your own tests are the safest baseline: Redirects and Google Search.
Align canonicals and sitemaps
Redirect fixes are not complete until your signals agree:
Canonical tags should point to the final URL (not a redirected URL)
XML sitemaps should list the final URLs only
Internal links should use the final URLs
A common anti-pattern is: internal links point to A, canonical points to C, and A redirects to B which redirects to C. You want all three to agree on C.
QA
After changes, re-run your website redirect checker on:
A sample of previously chained URLs
Your top traffic landing pages
Templates (blog posts, category pages, product pages)
Then verify in a crawl that:
Redirect hop count is 0 or 1
No redirect ends in 404
Loops are gone
In Google Search Console, watch for:
Reduced “Page with redirect” noise where it shouldn’t exist
Improved crawl stats (often gradual)
Ongoing monitoring
Redirect hygiene is not a one-time project. It’s a recurring risk whenever you:
Change URL structure
Rename categories
Migrate CMS
Add internationalization rules
Auto-publish content at scale
This is where process and automation matter. If you publish frequently, build a routine where redirect checks and internal-link updates happen continuously, not quarterly.
If your team uses an automated publishing workflow, BlogSEO can help reduce redirect-related SEO waste by analyzing site structure and automating internal links, so new articles are more likely to point to your preferred final URLs instead of outdated ones. If you want to see what an automated pipeline looks like in practice, you can try the BlogSEO free trial or book a demo call.


