Chaînes de redirections : détecter et éliminer les sauts inutiles
Votre site fait deux ou trois redirections avant de charger? Repérez la chaîne, évitez les boucles et redirigez directement.
Qu’est-ce qu’une chaîne de redirections?
Une chaîne survient lorsque l’adresse visitée redirige vers une deuxième, puis une troisième adresse avant d’atteindre la page finale.
Exemple à améliorer :
http://www.mon-site.example/produit → https://www.mon-site.example/produit → https://mon-site.example/produit → https://mon-site.example/produits/
Objectif :
http://www.mon-site.example/produit → https://mon-site.example/produits/
Chaque saut supplémentaire ajoute du délai. Google recommande de diriger les anciennes adresses vers la destination finale et d’éviter les chaînes inutiles, surtout lors d’une migration.
Étape 1 — Examiner les redirections existantes
Dans Redirect Audit, lancez l’analyse du domaine et regardez la carte de la variante concernée. Notez l’adresse de départ, chaque code 301, 302, 307 ou 308, l’en-tête Location et la destination finale.
Un code 301 ou 308 convient généralement à un déplacement permanent. Un 302 ou 307 indique un déplacement temporaire. Ils ne sont pas interchangeables sans tenir compte du contexte de l’application et des méthodes HTTP.
Étape 2 — Trouver la règle responsable de chaque saut
Les causes fréquentes :
- le passage de HTTP à HTTPS fait par une première couche;
- le passage de www à sans www fait par l’application;
- la réécriture de l’ancien chemin faite par une troisième règle;
- un changement de domaine ou une redirection ajoutée par WordPress;
- des règles contradictoires entre le CDN et le serveur d’origine.
Ne supprimez pas les règles au hasard : repérez d’abord quelle couche crée chaque saut.
Étape 3 — Diriger l’ancienne adresse directement vers la cible
Pour une ancienne page précise sur Cloudflare, utilisez Rules → Redirect Rules avec le chemin source exact ou un motif adapté, une cible permanente et un code 301. Pour un grand nombre d’anciennes pages, utilisez plutôt Bulk Redirects avec une table de correspondance.
Avec Apache, une redirection de chemin simple ressemble à ceci :
Redirect 301 /ancien-produit https://mon-site.example/nouveau-produit
Attention : la directive Redirect d’Apache s’applique aussi aux sous-chemins (/ancien-produit/photos, par exemple). Pour cibler seulement l’adresse exacte, utilisez une règle adaptée et testez les sous-chemins. Vérifiez aussi que la destination ne redirige pas à son tour.
Avec Nginx, une route ciblée peut utiliser :
location = /ancien-produit {
return 301 https://mon-site.example/nouveau-produit$is_args$args;
}
$is_args$args conserve les paramètres d’adresse (par exemple ?ref=infolettre) : sans cet ajout, Nginx les supprime. Apache, lui, les conserve automatiquement avec Redirect.
Derrière un CDN, il peut être préférable de centraliser la première redirection au niveau du CDN. Évitez les règles qui renvoient alternativement entre HTTP et HTTPS, ou entre deux noms d’hôte.
Étape 4 — Tester plusieurs chemins
Vérifiez au minimum la page d’accueil, une ancienne page, une page interne active et une adresse avec paramètres. Une correction sur / ne prouve pas que toutes les anciennes pages aboutissent au bon contenu. Après une migration, évitez de rediriger toutes les anciennes pages vers la page d’accueil sans correspondance pertinente : Google peut les traiter comme des erreurs « soft 404 ».
Étape 5 — Vérifier le résultat
L’ancienne adresse doit mener directement à la nouvelle destination HTTPS, et la page finale doit répondre en 2xx. Refaites le test dans Redirect Audit pour comparer le nombre de sauts et le temps de réponse.
Ces exemples sont un point de départ : adaptez-les à votre configuration et testez-les avant de les appliquer à un site en production.