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 voyezCause probableOù 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 wwwAdresse WordPress et règle serveur contradictoiresÉtapes 3 et 5
Boucle seulement sur /wp-adminFORCE_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.