ERR_TOO_MANY_REDIRECTS. Le navigateur affiche ce message en boucle, pour tous les visiteurs, sans exception, sur un site qui fonctionnait normalement avant son passage derrière Cloudflare quelques heures plus tôt. Aucune modification n’a été apportée côté WordPress lui-même : la mise en place initiale de Cloudflare, déjà documentée par ailleurs, n’est pas non plus en cause ici — seul le réglage du mode SSL choisi lors de cette mise en place explique la boucle.
Comprendre la boucle
La cause la plus fréquente tient au mode SSL/TLS configuré dans l’onglet correspondant du tableau de bord Cloudflare, réglé sur « Flexible » alors que le serveur d’origine force une redirection systématique de HTTP vers HTTPS via son bloc serveur ou un plugin comme Really Simple SSL.
En mode Flexible, Cloudflare accepte HTTPS depuis le navigateur du visiteur, mais contacte le serveur d’origine en HTTP simple, sans jamais établir de connexion chiffrée avec lui. Le serveur d’origine, configuré pour rediriger toute requête HTTP vers HTTPS, répond alors par une redirection, que Cloudflare retransmet en HTTPS au visiteur, qui la reçoit à nouveau comme une requête HTTPS — recontactant Cloudflare en HTTP côté origine, et ainsi de suite indéfiniment.

Diagnostic rapide
Une vérification en ligne de commande confirme immédiatement le mode en cause, en observant le nombre de redirections successives et leur alternance de protocole :
curl -IL https://exemple-site.fr
# HTTP/2 301, puis nouvelle requête, en boucle
Le tableau de bord Cloudflare, dans l’onglet SSL/TLS, affiche directement le mode actif — Flexible, Complet, ou Complet (strict) — ce qui confirme le diagnostic sans avoir besoin d’outils supplémentaires.
Correctif en cinq minutes
- Vérifier que le serveur d’origine possède bien un certificat TLS valide, même auto-signé pour le mode Complet
- Basculer le mode SSL/TLS de Cloudflare de « Flexible » vers « Complet » ou, idéalement, « Complet (strict) » si un certificat de confiance publique est en place côté origine
- Vérifier que la connexion se rétablit immédiatement après ce changement, sans purge de cache nécessaire dans la majorité des cas
Pourquoi le mode Complet (strict) reste préférable
Le mode Flexible n’a de justification que pour un serveur d’origine incapable de présenter un certificat TLS, ce qui reste rare aujourd’hui grâce à des solutions comme Let’s Encrypt. Le mode Complet (strict), qui vérifie la validité du certificat d’origine, garantit un chiffrement de bout en bout entre Cloudflare et le serveur, contrairement au mode Flexible qui laisse ce tronçon en clair.
- Flexible : chiffré uniquement entre le visiteur et Cloudflare, en clair ensuite
- Complet : chiffré de bout en bout, certificat d’origine non vérifié
- Complet (strict) : chiffré de bout en bout, certificat d’origine vérifié et valide exigé
Le mode Flexible est presque toujours activé par réflexe lors d’une mise en place rapide de Cloudflare ; c’est justement ce réflexe qui provoque la boucle dès qu’une redirection HTTPS existe déjà côté origine.
Le rôle de l’extension WordPress dans le diagnostic
Une extension comme Really Simple SSL détecte parfois le passage derrière un proxy (Cloudflare transmet l’en-tête X-Forwarded-Proto) et adapte son comportement de redirection en conséquence. Si cette détection échoue — souvent parce que le serveur web ne transmet pas correctement cet en-tête à PHP — l’extension continue de forcer une redirection HTTPS même quand la requête arrive déjà en HTTPS du point de vue de Cloudflare, aggravant la boucle même après correction du mode SSL.
// wp-config.php, à ajouter si l'en-tête n'est pas transmis nativement
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
$_SERVER['HTTPS'] = 'on';
}
Cette ligne, ajoutée avant le chargement du reste de WordPress, informe correctement l’application qu’elle est bien servie en HTTPS du point de vue du visiteur, même si la connexion locale entre Cloudflare et le serveur transite différemment selon le mode choisi.
En résumé
Une boucle de redirections juste après le passage derrière Cloudflare pointe presque systématiquement vers un mode SSL Flexible en désaccord avec une redirection HTTPS déjà forcée côté serveur d’origine. Basculer vers le mode Complet (strict), une fois le certificat d’origine vérifié valide, corrige la boucle dans la quasi-totalité des cas, à condition de vérifier également que l’en-tête de protocole transmis par Cloudflare est bien pris en compte côté WordPress.