Ce qu'est une boucle de redirection
L'adresse A redirige vers B, qui redirige vers A. Le navigateur suit une vingtaine de fois, puis affiche
ERR_TOO_MANY_REDIRECTS (Chrome), « La page n'est pas redirigée correctement » (Firefox) ou
« Trop de redirections » (Safari). La panne apparaît presque toujours juste après un passage au HTTPS, l'ajout
de Cloudflare, un changement de domaine ou l'installation d'une extension SSL ou de redirection.
1. Écarter les cookies
Ouvrez le site en navigation privée. S'il fonctionne, un cookie ancien relance la boucle : effacez les cookies du site dans votre navigateur. S'il ne fonctionne pas, la boucle est côté serveur — continuez.
2. Voir la boucle de vos propres yeux
Depuis un terminal :
curl -sIL https://votresite.fr | grep -i -E "^(HTTP|location)"
Vous verrez la succession d'adresses. Le motif vous dit où chercher :
| Ce que vous voyez | Cause probable | Où corriger |
|---|---|---|
https:// → https:// → https://… (même adresse) | WordPress croit être en HTTP derrière un proxy ou Cloudflare | Étape 4 |
http:// ↔ https:// | Le serveur force HTTPS, WordPress est réglé en HTTP (ou l'inverse) | Étape 3 |
www. ↔ sans www | Adresse WordPress et règle serveur contradictoires | Étapes 3 et 5 |
Boucle seulement sur /wp-admin | FORCE_SSL_ADMIN sans HTTPS correctement détecté | Étape 4 |
3. Vérifier les deux adresses de WordPress
WordPress stocke deux adresses : « Adresse web de WordPress » (siteurl) et « Adresse web du
site » (home). Elles doivent correspondre exactement à l'adresse finale voulue, protocole et
www compris. Sans accès à l'administration, forcez-les dans wp-config.php :
define( 'WP_HOME', 'https://www.votresite.fr' );
define( 'WP_SITEURL', 'https://www.votresite.fr' );
Vous pouvez aussi les corriger dans phpMyAdmin, table wp_options, lignes
siteurl et home.
4. Corriger le HTTPS derrière Cloudflare ou un proxy
C'est la cause numéro un. Avec Cloudflare en mode SSL « Flexible », Cloudflare parle à votre serveur en HTTP ; WordPress, réglé en HTTPS, redirige vers HTTPS ; Cloudflare rappelle en HTTP… et ainsi de suite. Dans Cloudflare : SSL/TLS → Vue d'ensemble, passez en Full (strict), à condition que le serveur ait un certificat (Let's Encrypt suffit).
Derrière un autre proxy ou répartiteur de charge, indiquez à WordPress que la connexion d'origine est en
HTTPS, en haut de wp-config.php :
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
$_SERVER['HTTPS'] = 'on';
}
5. Contrôler le .htaccess et les extensions
Les redirections HTTPS ou www peuvent être déclarées à trois endroits : chez l'hébergeur (une
option « Forcer HTTPS »), dans .htaccess et dans une extension (Really Simple SSL, Redirection,
Yoast Premium, Rank Math…). Deux règles légèrement différentes suffisent à créer une boucle.
Gardez-en une seule.
Renommez .htaccess pour tester sans ses règles, puis renommez les dossiers des extensions de SSL
et de redirection dans wp-content/plugins/. Quand la boucle disparaît, vous avez trouvé l'une des
deux moitiés. Pensez aussi aux caches : une redirection mise en cache par l'extension ou le CDN peut survivre à
la correction.
La boucle continue ?
Envoyez-moi l'adresse du site et le nom de votre hébergeur. Une boucle de redirection se règle souvent en moins d'une demi-heure, sans toucher à vos contenus.
Questions fréquentes
Pourquoi le site fonctionne en navigation privée mais pas dans mon navigateur ?
Un cookie ou une redirection mise en cache par votre navigateur relance la boucle. Effacez les cookies et les données du site, puis réessayez.
Le problème est apparu après l'activation de Cloudflare. Que faire ?
Passez le mode SSL de Cloudflare de Flexible à Full (strict), après avoir vérifié que votre serveur dispose d'un certificat SSL. C'est la cause la plus fréquente.
Je ne peux plus accéder à l'administration. Comment changer l'adresse du site ?
Ajoutez WP_HOME et WP_SITEURL dans wp-config.php avec l'adresse exacte voulue, ou modifiez les lignes siteurl et home dans la table wp_options via phpMyAdmin.
La boucle n'apparaît que sur une page. Pourquoi ?
Une règle de redirection précise la vise : vérifiez l'extension de redirection, les règles du .htaccess et le champ « slug » de la page, qui peut entrer en conflit avec une ancienne redirection.