Volver al blog
Redirect Chain Analyzer7 min de lectura18 de abril de 2026

"Too Many Redirects" Error: Causes and How to Fix It

The ERR_TOO_MANY_REDIRECTS error blocks access to your site and destroys Google crawling. Learn how to diagnose and fix it in under 10 minutes.


You open your website and see the message "This page isn't working. example.com redirected you too many times" (or ERR_TOO_MANY_REDIRECTS in Chrome). Nobody can access the page, not even Google's bots, and every minute that passes is lost traffic. This guide takes you from diagnosis to solution step by step.

What does the "too many redirects" error mean?

The ERR_TOO_MANY_REDIRECTS error appears when the browser detects that a URL has entered a redirect loop: A redirects to B, B redirects to C, C redirects back to A (or directly A redirects to itself). Browsers limit the number of consecutive redirects they follow (typically 20) to prevent infinite loops. When that limit is exceeded, the browser stops and shows the error.

This error affects users and Googlebot equally. If your site has had this error for hours, Google may deindex the affected pages and lose accumulated ranking signals. Maximum resolution priority.

The 6 most common causes (and how to identify yours)

1. Misconfigured HTTP ↔ HTTPS loop

The most frequent cause. You have the HTTP to HTTPS redirect configured on the server, but WordPress (or another CMS) has the URL stored as HTTP in the database. Result: the server redirects to HTTPS → the CMS redirects back to HTTP → infinite loop.

  • In WordPress: go to Settings → General and verify that both "WordPress Address" and "Site Address" start with https://.
  • On the server: verify that your HTTP→HTTPS redirect rule does not also apply to requests that already arrive via HTTPS.
  • In Cloudflare: if you use Cloudflare with SSL in "Flexible" mode, the server receives requests as HTTP even though the user arrives via HTTPS. Change SSL to "Full" or "Full (Strict)".

2. www ↔ non-www loop

The server redirects example.com → www.example.com, but the CMS or a secondary rule redirects www.example.com → example.com. Both rules active at the same time create the loop.

  • Decide which is your canonical version: with www or without www.
  • Make sure only one redirect rule exists (the one leading to the correct version), not two that contradict each other.
  • In WordPress, verify that "Site Address" matches your canonical version.

3. Redirect plugin with a manually configured loop

If you use a plugin like Redirection or Yoast SEO Redirects in WordPress, someone may have accidentally configured a redirect from A → B and another from B → A. It can also happen if a redirect points to the same URL as the source.

  • Go to your redirect plugin panel and look for rules that point to URLs that in turn redirect.
  • Check specifically if any rule's destination matches the source of another rule.
  • Temporarily disable the plugin to confirm whether it is the cause of the problem.

4. Conflicting .htaccess rules

On Apache servers, the .htaccess file can accumulate multiple conflicting rules. A typical case: a rule added by the CMS and another added manually that redirect in opposite directions.

apache
# These two rules together create a loop:
RewriteRule ^$ /home [R=301,L]   # redirects / → /home
Redirect 301 /home /             # redirects /home → /

# The solution: remove one of the two or consolidate into a single rule

5. Login page redirect pointing to itself

Common in WordPress: the login page (/wp-admin or /wp-login.php) redirects the authenticated user to a URL that in turn redirects back to the login. Usually caused by a security plugin or a post-login redirect plugin that is misconfigured.

6. Incorrect reverse proxy or CDN configuration

If you use Nginx as a reverse proxy in front of Apache, or a CDN like Cloudflare, both layers may have redirect rules that interact poorly. For example: Cloudflare redirects HTTP→HTTPS and the origin server also has that rule, but communication between Cloudflare and the origin is HTTP.

Step-by-step diagnosis in under 5 minutes

Step 1: Identify the loop with iRankly's Analyzer

Enter the affected URL in the analyzer. You will see the complete redirect chain with the HTTP codes of each hop. If there is a loop, the analyzer detects it and shows you at which point the repetition occurs.

Prueba la herramienta gratis

Redirect Chain AnalyzerAnaliza tus URLs con {tool} de iRankly. Sin registro, sin tarjeta.

Usar herramienta gratis

Step 2: Confirm the loop from the terminal

If you want to see the HTTP headers of each hop directly, use curl with the -L option (follow redirects) and --max-redirs to limit hops:

bash
# Follow up to 10 redirects and show the headers of each hop
curl -L --max-redirs 10 -I https://example.com

# If you see the same URL appearing twice in the chain, you have the loop

Step 3: Test without cookies and cache

Some loops only occur when an active session cookie is present (for example, the WordPress cookie indicating the user is logged in). Open a private window or clear site cookies and try again. If the error does not appear in incognito, the cause is in an authentication-related redirect.

Specific solutions by cause

CauseQuick fix
Cloudflare SSL in Flexible modeChange to Full or Full (Strict) in Cloudflare → SSL/TLS
WordPress URL in HTTP with server in HTTPSSettings → General → change both URLs to https://
www/non-www loop in .htaccessRemove the duplicate rule, keep only one canonical direction
Redirect plugin with loopDisable the plugin, identify the conflicting rule, fix it
.htaccess circular ruleAdd RewriteCond %{HTTPS} on condition to prevent it from applying to requests already on HTTPS
WordPress login loopDisable security/login plugins one by one until you find the culprit

How to prevent it from happening again

  • Document all active redirects in a central log before adding new ones.
  • Before publishing a new redirect, verify with the analyzer that the destination does not in turn redirect.
  • If you use Cloudflare, set SSL mode to Full (Strict) from day one to avoid HTTP/HTTPS conflicts.
  • In WordPress, always keep "WordPress Address" and "Site Address" URLs synchronized with the actual server protocol.
  • Set up a monitoring alert that warns you if any URL returns a 5xx error or enters a loop.

After resolving the loop, wait 10–15 minutes and check again with the analyzer. Sometimes the server or CDN cache maintains the incorrect redirect for a few more minutes. If the problem persists, purge the Cloudflare cache or your WordPress cache plugin.


Prueba la herramienta gratis

Analiza tus URLs con Redirect Chain Analyzer de iRankly. Sin registro, sin tarjeta.

Usar herramienta gratis