TrueURL

Outil de redirection gratuit

Détecteur de boucles de redirection

Quand un navigateur signale « trop de redirections », c’est que le site le fait tourner en rond. TrueURL suit les redirections jusqu’à ce que la boucle se referme et affiche toutes les URL en cause.

Qu’est-ce qu’une boucle de redirection ?

Une boucle de redirection se produit lorsque l’URL A redirige vers l’URL B, et que B, directement ou via d’autres sauts, redirige de nouveau vers A. Les navigateurs suivent une vingtaine de redirections, puis abandonnent avec une erreur : ERR_TOO_MANY_REDIRECTS (« … vous a redirigé à de trop nombreuses reprises ») dans Chrome et Edge, La page n’est pas redirigée correctement dans Firefox, ou un message indiquant que trop de redirections se sont produites dans Safari. Les moteurs de recherche ne peuvent pas indexer une page prise dans une boucle.

Comment TrueURL détecte les boucles

TrueURL enregistre chaque URL qu’il interroge, ainsi que la méthode de requête et les cookies dont il dispose à ce moment-là. Lorsqu’un saut ramène à une URL déjà interrogée dans le même état, la chaîne ne peut jamais se terminer, et le résultat met en évidence le saut où la boucle se referme.

Comme TrueURL conserve les cookies à la manière d’un navigateur, il sait distinguer une vraie boucle d’un simple échange de cookies, où un site définit un cookie et vous renvoie une fois vers la même URL. Si l’état change à chaque passage, la chaîne continue jusqu’à la limite du nombre maximal de sauts définie dans les Paramètres avancés (50 au maximum). Une chaîne qui atteint cette limite est généralement, elle aussi, une boucle sans fin, par exemple une boucle qui ajoute un nouveau paramètre de requête à chaque saut.

Causes fréquentes des boucles de redirection

  • HTTP et HTTPS derrière un proxy ou un CDN : le CDN se connecte à votre serveur en HTTP (comme avec le mode SSL Flexible de Cloudflare) alors que le serveur redirige toutes les requêtes HTTP vers HTTPS. Le navigateur redemande la page en HTTPS, le CDN la récupère de nouveau en HTTP, et ainsi de suite. Utilisez le mode Full (strict), ou confiez la redirection HTTPS à une seule couche.
  • Règles www contradictoires : une règle ajoute www tandis qu’une autre, souvent dans le CMS ou le panneau d’hébergement, le supprime.
  • Règles de slash final contradictoires : le serveur ajoute un slash et l’application le retire.
  • Réglages d’adresse du CMS : dans WordPress, par exemple, une Adresse web de WordPress (URL) ou une Adresse web du site (URL) qui ne correspond pas au domaine ou au protocole sur lequel le site est réellement servi.
  • Redirections de connexion, de consentement et de région : une page envoie les visiteurs qui n’ont pas un certain cookie vers une page de connexion, de consentement ou de choix du pays, qui les renvoie à leur tour, mais le cookie n’est jamais défini ou jamais accepté.

Comment corriger une boucle de redirection

  1. Vérifiez l’URL ici et notez quelles URL se répètent et quel saut vous renvoie en arrière.
  2. Examinez les en-têtes de réponse de ce saut, comme Server, Via, CF-Ray ou X-Powered-By, pour savoir quelle couche a envoyé la redirection : le CDN, le serveur web ou l’application.
  3. Corrigez ou désactivez cette règle précise, puis vérifiez de nouveau. Ne modifiez qu’une couche à la fois.
  4. Avant de tester dans votre navigateur, videz son cache et ses cookies pour le site. Des 301 en cache et des cookies obsolètes peuvent entretenir une boucle même après sa correction.

Guides

Questions fréquentes

Que signifie ERR_TOO_MANY_REDIRECTS ?

C’est l’erreur qu’affiche Chrome lorsqu’une chaîne de redirections ne s’est pas terminée au bout de 20 redirections, ce qui correspond presque toujours à une boucle : les règles de redirection du site se contredisent. Vérifiez l’URL ci-dessus pour voir quelles URL se répètent.

Une boucle de redirection peut-elle ne toucher que certains visiteurs ?

Oui. Les boucles qui dépendent des cookies, de la langue, de la localisation ou de l’appareil ne touchent que les visiteurs qui se trouvent dans cette situation. Reproduisez-les avec les Paramètres avancés : ajoutez le cookie, un en-tête Accept-Language ou un User-Agent mobile, puis vérifiez de nouveau. Les boucles qui dépendent de la localisation du visiteur ne peuvent pas être reproduites, car la requête provient toujours du réseau de Cloudflare.

Pourquoi la suppression des cookies corrige-t-elle la boucle dans mon navigateur ?

Dans ce cas, la boucle était liée aux cookies : un cookie obsolète ou contradictoire poussait le site à vous faire tourner en rond. Supprimer les cookies réinitialise votre état, mais le bug reste présent pour chaque visiteur qui reçoit le même cookie. Utilisez le champ Cookies des Paramètres avancés pour le reproduire ici.

Pourquoi TrueURL trouve-t-il une boucle alors que la page fonctionne dans mon navigateur ?

Votre navigateur est peut-être connecté au site, possède des cookies de consentement, ou dispose d’une entrée HSTS ou d’une redirection en cache qui lui évite l’un des sauts. TrueURL part sans cookies ni historique, comme un nouveau visiteur ou un robot d’exploration. S’il trouve une boucle, les nouveaux visiteurs et les robots la rencontrent probablement aussi, sauf si le site traite différemment les requêtes provenant de centres de données.

Quelle est la différence entre une boucle et la limite de sauts atteinte ?

Une boucle signifie que TrueURL est revenu à une URL déjà interrogée dans le même état : la chaîne ne peut donc jamais se terminer. La limite de sauts atteinte signifie qu’il s’est arrêté après le nombre de redirections configuré, sans répétition exacte. Cette chaîne finirait peut-être par se terminer, mais une chaîne aussi longue pose problème dans tous les cas. Vous pouvez porter le nombre maximal de sauts à 50 pour aller plus loin.

Un CDN peut-il provoquer une boucle de redirection ?

Oui, c’est même l’une des causes les plus fréquentes. Si le CDN communique avec votre serveur en HTTP alors que le serveur impose HTTPS, ou si le CDN et le serveur redirigent entre www et sans www dans des sens opposés, ils se renvoient chaque requête indéfiniment. Les en-têtes de réponse de chaque saut indiquent quelle couche a répondu.