Haces clic en un enlace a una tienda o a una página de inicio de sesión. La pestaña carga un momento y después Chrome muestra «Esta página no funciona», una línea que dice «La página example.com te ha redirigido demasiadas veces.» y ERR_TOO_MANY_REDIRECTS abajo del todo. Firefox lo llama «La página no está redirigiendo adecuadamente»; Safari dice que se han producido demasiados redireccionamientos.
No ha pasado nada dañino. El sitio fue mandando tu navegador de una dirección a otra hasta que el navegador dejó de seguirlo. A continuación: qué es un bucle de redirecciones, las soluciones para visitantes, qué cambiar si el sitio es tuyo (Cloudflare, reglas de HTTPS y www, WordPress), un comando que muestra la cadena y el mismo error dentro de un scraper.
¿Qué significa ERR_TOO_MANY_REDIRECTS?
Una redirección es una respuesta corta del servidor que dice «esta página está en otra parte, ve allí», y el navegador la sigue sin preguntarte. Los sitios las usan constantemente: de http:// a https://, de una página antigua a una nueva, de una página solo para miembros al formulario de inicio de sesión y de vuelta.
Un bucle de redirecciones es un camino que nunca termina: la página A te envía a la B, y la B te devuelve a la A. El RFC 9110, sección 15.4 pide a los clientes que detecten las redirecciones cíclicas e intervengan, y el estándar Fetch que implementan los navegadores termina una petición con un error de red tras 20 redirecciones. Chrome y Firefox se detienen justo ahí.
¿Cómo se ve el error en cada navegador?
Los textos de Chrome y Firefox proceden de los propios archivos de textos de los navegadores y de sus traducciones al español. Edge, Opera y Brave se basan en el motor de Chrome (Chromium) y muestran el mismo código.
| Navegador | Qué dice la pantalla | Código |
|---|---|---|
| Chrome | «Esta página no funciona», «La página example.com te ha redirigido demasiadas veces.» y un enlace «Prueba a eliminar las cookies» | ERR_TOO_MANY_REDIRECTS |
| Firefox | «La página no está redirigiendo adecuadamente» y una nota que dice que rechazar las cookies puede causarlo | Ninguno |
| Safari (Mac, iPhone) | Safari no puede abrir la página porque se han producido demasiados redireccionamientos | Ninguno |
Citamos el Chrome en español de España; en el Chrome para Latinoamérica, el título es el mismo, la línea dice «example.com te redireccionó demasiadas veces.» y el enlace, «Intenta borrar las cookies», pero el código no cambia. La página de ayuda archivada de Apple sobre el mensaje de Safari describe el mismo bucle. Los tres navegadores señalan primero a las cookies.
¿Cómo se forma un bucle de redirecciones, paso a paso?
Toma una página solo para miembros:
- Abres
https://example.com/account. - El servidor busca su cookie de sesión, un pequeño fragmento de texto que el sitio guardó antes en tu navegador. No encuentra ninguna y te redirige a
/login. - La página de inicio de sesión ve que tienes la sesión iniciada de su lado, crea una cookie nueva y te devuelve.
- Si el navegador no guarda o no envía esa cookie (bloqueada, ya caducada, creada para otra dirección), el paso 2 se repite.
- Tras 20 vueltas, el navegador se detiene y muestra el error.
La otra familia no necesita cookies: dos reglas que no se ponen de acuerdo. Una capa fuerza https:// y otra devuelve a los visitantes a http://; o una regla añade www. y otra lo quita.
¿Qué lo causa y de quién es el problema?
| Causa | De quién | Señal típica | Primer paso |
|---|---|---|---|
| Una cookie antigua, dañada o bloqueada | Tuyo | Un sitio, un navegador | Borra o permite las cookies de ese sitio |
| Una extensión que reescribe direcciones | Tuyo | Funciona en una ventana privada | Desactiva las extensiones |
| El reloj del dispositivo muy desajustado | Tuyo | Los inicios de sesión dan vueltas | Ajusta la hora automáticamente |
| Una VPN o un proxy que muestra otro país | Tuyo y del sitio | Solo con la VPN activada | Desactívala |
| Una redirección permanente recordada | Tuyo, tras la corrección del propietario | Otros dispositivos funcionan | Usa una ventana privada |
| Ajustes de HTTPS en conflicto, a menudo Cloudflare Flexible | Del sitio | Todos los visitantes, todos los dispositivos | Propietario: cambiar el modo SSL/TLS |
| Reglas de www o https en dos lugares | Del sitio | La dirección alterna entre dos formas | Propietario: dejar una sola regla |
| Dirección incorrecta en los ajustes de WordPress | Del sitio | Todo el sitio o el panel de administración da vueltas | Propietario: corregir los dos campos de URL |
¿Cómo se soluciona si eres visitante?
Recarga la página después de cada paso.
- Prueba una ventana privada. En Chrome, selecciona Más > Nueva ventana de Incógnito. Se abre sin cookies, y las extensiones solo funcionan ahí si las has permitido. Si la página se abre, la causa es una cookie o una extensión.
- Borra las cookies de ese único sitio, el que aparece en el mensaje. Así solo cierras sesión en ese sitio.
- Chrome de escritorio: Más > Configuración > Privacidad y seguridad > Cookies de terceros > Ver todos los datos y permisos de sitios, busca el sitio y selecciona Eliminar (pasos de Google).
- Chrome en Android: en el sitio, toca Información de la página a la izquierda de la barra de direcciones, después Cookies y datos de sitios y luego Eliminar.
- Firefox: haz clic en el escudo a la izquierda de la barra de direcciones y después en Limpiar cookies y datos del sitio (pasos de Mozilla).
- Safari en el Mac: Safari > Ajustes > Privacidad > Gestionar datos de sitios web, selecciona el sitio y haz clic en Eliminar (pasos de Apple).
- Safari en el iPhone: Ajustes > Apps > Safari > Avanzado > Datos de Sitios Web > Eliminar Todos los Datos. Esto borra los datos de todos los sitios, así que tendrás que volver a iniciar sesión en otros.
- Desactiva las extensiones. Los bloqueadores de anuncios, las herramientas de privacidad y las extensiones de «HTTPS siempre» o de VPN pueden cambiar adónde va una página. En Chrome, abre Más > Extensiones > Gestionar extensiones y desactívalas de una en una (pasos de Google).
- Revisa la fecha y la hora. Tu navegador descarta una cookie cuya fecha de caducidad ya pasó según el reloj de tu dispositivo (RFC 6265, sección 5.3), así que un reloj adelantado varios días puede hacer desaparecer una cookie de sesión recién creada. En Windows, selecciona Inicio > Configuración > Hora e idioma > Fecha y hora y activa Ajustar hora automáticamente (pasos de Microsoft). Un reloj incorrecto también provoca el aviso La conexión no es privada.
- Desactiva la VPN o el proxy y recarga; la siguiente sección explica por qué.
- Prueba otra red. Si la página también falla en tu teléfono con datos móviles, el bucle está en el sitio: comunica al propietario la dirección y la hora, y espera. Una página que ni siquiera llega a conectar muestra otro error distinto.
¿Por qué pasa tan a menudo al iniciar sesión?
El inicio de sesión salta entre direcciones a propósito: una tienda te envía a un servicio de inicio de sesión (el suyo, el de Google o el de Microsoft), que crea una cookie y te devuelve. Si falta la cookie de cualquiera de los dos lados o está bloqueada, das otra vuelta. Cuando el mensaje nombra el servicio, como en «La página accounts.google.com te ha redirigido demasiadas veces.», borra las cookies de ese servicio además de las del sitio, y permite las cookies de ambos si las bloqueas.
¿Por qué una VPN o un proxy a veces provoca un bucle de redirecciones?
Muchos sitios eligen una versión de país según tu dirección IP, por ejemplo /de/ para Alemania, y además recuerdan la elección en una cookie. Cuando tu IP dice un país y la cookie otro, las dos reglas pueden mandarte de un lado a otro (¿Qué es el geobloqueo y cómo saben los sitios dónde estás?).
Una VPN cambia el país que ve el sitio, y un proxy rotativo puede incluso enviar dos pasos de una misma cadena desde dos direcciones. Desactiva la VPN y recarga; si funciona, borra las cookies del sitio antes de volver a conectarte, o elige el país en el sitio. Si navegas a través de un proxy a propósito, mantén una sola salida durante la visita: los Proxies de sesión fija conservan la misma IP durante un tiempo fijado (Proxy o VPN: diferencias y cuándo usar cada uno).
Si el sitio es tuyo: ¿de dónde sale el bucle?
Lee primero la cadena (sección «Nivel avanzado», más abajo); su patrón señala la regla equivocada.
El modo SSL Flexible de Cloudflare
En el modo Flexible, los visitantes llegan a Cloudflare por HTTPS, pero Cloudflare se conecta a tu servidor por HTTP sin cifrar (modos de cifrado de Cloudflare). Un servidor que redirige HTTP a HTTPS ve cada petición de Cloudflare como HTTP y vuelve a redirigir, así que https://example.com/ redirige a sí misma.
En el panel, abre SSL/TLS > Overview (Resumen) y elige Full (strict) cuando tu servidor tenga un certificado válido, o Full mientras consigues uno. Lo contrario también crea un bucle: Full con un servidor que devuelve HTTPS a HTTP. La página de Cloudflare sobre este error también menciona Always Use HTTPS, HSTS y reglas de redirección en conflicto.
Reglas de HTTPS y www en dos lugares
Un panel de hosting añade www. mientras la aplicación lo quita, o una CDN fuerza HTTPS mientras el servidor fuerza HTTP. Elige una única dirección pública, aplícala en una sola capa y borra las demás reglas, incluidos los plugins de redirección y las líneas de .htaccess. Forward proxy y reverse proxy: ¿en qué se diferencian? explica qué capa ve qué cuando hay una CDN delante.
Los ajustes de dirección de WordPress
WordPress construye sus redirecciones a partir de Dirección de WordPress (URL) y Dirección del sitio (URL), en Ajustes > Generales. La guía de WordPress dice que ambas necesitan https:// y ninguna barra al final; un esquema equivocado o un www de más manda a los visitantes en círculo. Si el bucle te deja fuera del panel de administración, fija los valores en wp-config.php:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );Detrás de un balanceador de carga o un reverse proxy que gestiona el HTTPS mientras WordPress funciona con HTTP sin cifrar, WordPress trata cada petición como insegura y, en palabras de su documentación, cae en un bucle de redirecciones infinito. Deja que WordPress lea la cabecera X-Forwarded-Proto del proxy, como muestra su guía de HTTPS.
Prueba la corrección en una ventana privada
El estándar HTTP permite a los navegadores guardar una redirección 301 («Moved Permanently»), así que tu propio navegador puede seguir en el bucle después de la corrección. Prueba en una ventana privada y usa redirecciones temporales 302 mientras experimentas.
Nivel avanzado: ve la cadena de redirecciones con un comando
Para quien se maneje con la línea de comandos: curl viene incluido en Windows 10, Windows 11 y macOS (en PowerShell escribe curl.exe). Este comando sigue las redirecciones, muestra las cabeceras de cada paso y se detiene tras diez:
curl -sSIL --max-redirs 10 https://example.com/Lo ejecutamos contra un servidor de prueba en nuestro equipo que reproduce el bucle de Flexible. Líneas clave, abreviadas (curl 8.21.0, Windows 11):
HTTP/1.1 301 Moved Permanently
Location: https://example.com/
HTTP/1.1 301 Moved Permanently
Location: https://example.com/
HTTP/1.1 301 Moved Permanently
Location: https://example.com/
curl: (47) Maximum (10) redirects followedCómo leerlo:
Locationrepite la dirección que pediste: el servidor cree que la petición llegó por HTTP (modo Flexible, o un proxy que descartaX-Forwarded-Proto).- La dirección alterna entre dos formas, por ejemplo con y sin
www: dos reglas no se ponen de acuerdo. - Alterna entre una página y una página de inicio de sesión: no se conserva una cookie; revisa las líneas
Set-Cookie. - Termina con
200: el servidor está bien, y el bucle vive en las cookies o la caché de un navegador.
Si estás escribiendo un scraper o un crawler
Provocamos los dos mensajes de abajo contra una página de prueba con bucle:
| Herramienta | Qué imprime |
|---|---|
| Python Requests 2.34 | requests.exceptions.TooManyRedirects: Exceeded 30 redirects. |
| Playwright para Python 1.58 | Page.goto: net::ERR_TOO_MANY_REDIRECTS at <url> |
Requests se rinde tras 30 redirecciones, los navegadores tras 20, y subir el límite nunca ayuda. Las causas habituales en el código:
- Sin un almacén de cookies compartido. Las llamadas sueltas a
requests.get()no comparten cookies; usa unarequests.Session()por sitio (Sesiones y cookies en Python). - Una cookie que tu cliente nunca recibe. Algunas páginas la crean con JavaScript o con un clic, como en un banner de consentimiento, y un cliente HTTP simple nunca ejecuta nada de eso. Ahí usa la API del sitio o un navegador real. Si la cadena termina en una página de bloqueo, detente: es una decisión del sitio (Sorry, you have been blocked: qué significa y por qué sale).
- La IP de salida cambia a mitad de camino. Con rotación por petición, cada paso puede salir desde una IP distinta, incluso de otro país, y un sitio que elige su versión de país por IP envía el paso dos a un lugar que el paso uno nunca pidió. Mantén una salida por cadena con una sesión fija y define el país con la segmentación geográfica; los Proxies residenciales ofrecen ambas cosas (Qué es la rotación de IP y cómo funciona).
Para ver dónde da la vuelta una cadena, síguela paso a paso:
from urllib.parse import urljoin, urlsplit
import requests
PROXY = "http://user:pass@pr.proxynet.io:8000" # usa un nombre de usuario con sesión fija
START = "https://example.com/account"
def trace(url, session, max_hops=10):
"""Sigue las redirecciones de una en una y se detiene en la primera repetición."""
seen = set()
for hop in range(max_hops):
r = session.get(url, allow_redirects=False, timeout=15)
target = r.headers.get("Location", "")
cookie = "sets a cookie" if "Set-Cookie" in r.headers else "no cookie"
print(hop, r.status_code, urlsplit(url).path, "->", target, f"({cookie})")
if not r.is_redirect:
return r
if url in seen:
print("Loop found: this URL was already requested")
return None
seen.add(url)
url = urljoin(url, target)
print(f"Stopped after {max_hops} hops")
return None
with requests.Session() as s: # un solo almacén de cookies para toda la cadena
s.proxies = {"http": PROXY, "https": PROXY}
s.headers["User-Agent"] = "example-crawler/1.0 (+https://example.com/bot)"
trace(START, s)Lo ejecutamos a través de un proxy de prueba local con autenticación user:pass contra una página de prueba que reproduce un bucle de consentimiento, en el que la cookie llegaría normalmente desde un botón (requests 2.34.2, Python 3.13):
0 302 /account -> /consent (no cookie)
1 302 /consent -> /account (no cookie)
2 302 /account -> /consent (no cookie)
Loop found: this URL was already requestedNingún paso crea una cookie, así que este cliente nunca puede llegar a /account. Si un paso sí crea una y el bucle continúa, compara el dominio y la ruta de la cookie con la siguiente dirección y luego comprueba que tu IP de salida no haya cambiado. Depura con educación: una cadena cada vez, un User-Agent que te identifique y las reglas de robots.txt.
Dónde puedes encontrártelo
- Enlaces de anuncios que pasan por varias redirecciones de seguimiento, revisados desde una IP (Cómo funciona la verificación de anuncios con proxies).
- Crawlers que encuentran un bucle tras la migración de un sitio (Cómo crear un web crawler en Python).
- Herramientas de seguimiento que avisan de un bucle tras un cambio de ajustes (Cómo detectar cambios en una página web).
- Automatización del navegador con un perfil nuevo o un proxy (Playwright con un proxy).
Errores comunes
- Borrar todas las cookies primero. Cierra tu sesión en todas partes; empieza por el sitio que aparece en el mensaje.
- Reinstalar el navegador o reiniciar el router. El bucle vive en una cookie, en una extensión o en las reglas del sitio.
- Subir el límite de redirecciones en el código. Un bucle sigue siendo un bucle con 30 saltos y con 100.
- Probar una corrección del servidor en el mismo navegador, donde una 301 recordada mantiene vivo el bucle antiguo.
- Desactivar HTTPS para detener el bucle en lugar de poner de acuerdo las capas.
Guía de decisión
| Tu situación | Qué hacer |
|---|---|
| Falla un sitio, o solo fuera de una ventana privada | Borra las cookies de ese sitio y luego revisa las extensiones |
| El bucle empieza en una página de inicio de sesión | Borra las cookies del sitio y del servicio de inicio de sesión |
| Solo con la VPN o el proxy activados | Desactívalos, borra las cookies del sitio y elige el país en el sitio |
| Fallan todos los dispositivos y redes | Espera o contacta con el sitio |
| Tu sitio en Cloudflare redirige a la misma URL | Pon el modo SSL/TLS en Full (strict) |
| Tu WordPress da vueltas tras pasar a HTTPS | Corrige los dos campos de dirección |
| Tu scraper dice «Exceeded 30 redirects» | Una sesión y una salida fija por cadena; sigue los saltos |
Preguntas frecuentes
¿ERR_TOO_MANY_REDIRECTS es un virus o una señal de hackeo?
No. Viene de una cookie, de una extensión o de las propias reglas de redirección del sitio, y el navegador se detuvo a propósito.
¿Por qué el error aparece en un sitio y no en otros?
El bucle vive en las reglas de ese sitio o en las cookies guardadas para él; los demás sitios tienen las suyas.
¿Tengo que borrar todas mis cookies?
No. Borra las cookies del sitio que aparece en el mensaje y, si el bucle empieza en el inicio de sesión, las de su servicio de inicio de sesión. Así solo cierras sesión en esos sitios.
¿Por qué el bucle solo pasa con la VPN activada?
El sitio elige una versión de país según tu IP mientras una cookie recuerda otra. Desactiva la VPN, borra las cookies del sitio y vuelve a conectarte, o elige el país en el sitio.
¿Cuántas redirecciones permite Chrome?
Veinte, el límite del estándar Fetch; Firefox usa la misma cifra y la biblioteca Requests de Python, 30. Una página normal necesita una o dos.
¿Cómo soluciono demasiadas redirecciones en Cloudflare?
Pon el modo SSL/TLS en Full (strict), que requiere un certificado válido en tu servidor, o quita la redirección propia de HTTP a HTTPS del servidor si sigues en Flexible. Después revisa Always Use HTTPS, HSTS y tus reglas de redirección por si hay duplicados.
En resumen
ERR_TOO_MANY_REDIRECTS significa que un sitio hizo dar vueltas a tu navegador y que el navegador se detuvo tras 20 saltos. Los visitantes solucionan la mayoría de los casos borrando las cookies de un sitio, probando una ventana privada, desactivando las extensiones y la VPN, y revisando el reloj; un bucle en todos los dispositivos lo tiene que arreglar el propio sitio. Los propietarios deben buscar dos reglas que no se ponen de acuerdo. En el código, mantén una sesión y una salida fija por cadena. Puedes comparar los tipos de proxy y sus usos en nuestra página de proxies.




