Join our community of websites already using SEOJuice to automate the boring SEO work.
See what our customers say and learn about sustainable SEO that drives long-term growth.
Explore the blog →TL;DR : Un déplacement vraiment permanent passe en 301, un déplacement réellement temporaire passe en 302. Faites le mauvais choix et Google indexera la mauvaise URL. Utilisez le tableau de décision ci-dessous, puis lisez la section sur la canonicalisation si vous voulez comprendre le mécanisme.
Avant toute chose : voici la correspondance scénario → code. Si vous êtes pressé, cet article est votre boussole.
| Scénario | Code | Pourquoi |
|---|---|---|
| Migration de site / changement de domaine | 301 | Permanent. Vous voulez que Google réindexe le nouveau domaine. |
| Consolidation HTTP vers HTTPS | 301 | Permanent. Les anciennes URLs sont définitivement remplacées. |
| Test A/B (retour à l’URL d’origine) | 302 | Temporaire. Conservez l’URL d’origine comme canonique. |
| Page de maintenance | 302 | Temporaire. La vraie page revient. |
| Produit indisponible (qui revient) | 302 | Temporaire. Préservez le classement associé à l’URL produit. |
| Produit supprimé (définitivement) | 301 | Permanent. Transférez l’équité vers l’équivalent le plus proche. |
| Routage géographique / linguistique | 302 | Temporaire. L’URL d’origine sert encore la majorité des utilisateurs. |
| Landing page de campagne marketing | 302 | Temporaire. La campagne se termine, l’URL revient à la normale. |
| Flux POST de connexion / checkout | 307 | Préservation de méthode. Conserve le corps POST ; un 302 basculerait vers GET. |
| Consolidation d’URLs dupliquées (permanent) | 301 | Permanent. Une seule URL canonique désormais. |
Si vous vous demandez si c’est « suffisamment permanent » pour un 301, c’est probablement le cas. La question réelle : comptez-vous garder l’URL de destination sur le long terme ? Si vous êtes sûr que oui, utilisez un 301.
Quand un navigateur ou un robot demande une URL, le serveur peut répondre avec un code d’état 3xx au lieu du contenu de la page. Ce code dit : « La ressource que vous cherchez est ailleurs. » L’en-tête Location dans la réponse indique au client où aller ensuite.
La famille 3xx couvre plusieurs cas : 301 (Moved Permanently), 302 (Found / Moved Temporarily), 303 (See Other), 307 (Temporary Redirect), 308 (Permanent Redirect) et quelques autres. Pour le SEO, les codes qui comptent sont 301, 302, 307 et 308. Le reste correspond à des cas plus spécifiques.
Un 301 signale au navigateur et au pipeline d’indexation que l’ancienne URL est définitivement partie. La documentation officielle de Google le formule sans détour : « Si vous devez modifier l’URL d’une page telle qu’elle apparaît dans les résultats des moteurs de recherche, nous vous recommandons d’utiliser une redirection serveur permanente dans la mesure du possible. »
Le pipeline d’indexation traite le 301 comme un signal canonique. Google suit la redirection, puis marque l’URL de destination comme celle à conserver dans l’index. Avec le temps, l’ancienne URL cesse d’apparaître dans les résultats de recherche et la nouvelle la remplace. Les classements, les pages mises en cache et les signaux consolidés basculent vers la destination.
Un point important, d’après l’expérience : permanent veut dire permanent. Google recommande d’utiliser des redirections permanentes « lorsque vous êtes sûr que la redirection ne sera pas annulée ». Si vous mettez un 301 puis le démontez six mois plus tard, vous n’annulez pas le signal proprement. Googlebot doit réexplorer l’ancienne URL et tout reprocesser. J’ai vu des clients faire ça pendant un retour en arrière, puis passer des semaines à essayer de comprendre pourquoi les classements partaient en vrille. Gardez le 301 en place au moins un an, idéalement plus.
Un 302 dit à Google : conservez l’URL d’origine dans votre index, ce déplacement est temporaire. La recommandation de Google est directe : « Si vous voulez simplement envoyer temporairement les utilisateurs vers une page différente, utilisez une redirection temporaire. »
Googlebot suit un 302 comme il suit un 301. La différence se joue sur ce que le pipeline d’indexation fait ensuite. Avec une redirection temporaire, Google ne traite pas la destination comme canonique. L’URL d’origine reste celle qui est indexée. Pour une page de maintenance ou un test A/B, c’est exactement le comportement recherché.
Le piège, c’est d’utiliser un 302 pour un déplacement permanent, parce qu’on n’était pas sûr, ou parce que « c’était plus simple pour changer plus tard ». Google réinterprète parfois un 302 maintenu longtemps comme un 301, mais je ne compterais pas là-dessus. J’ai déjà vu des sites garder un 302 pendant des mois sur un domaine migré et constater que Google n’avait jamais réindexé complètement les nouvelles URLs. Ne vous reposez pas sur les heuristiques de Google ici : soyez explicite.
Voilà le problème que presque tous les articles sur ce sujet se trompent en beauté : les redirections 302 ne “fuitent” pas l’équité de lien.
En 2016, Gary Illyes, analyste Webmaster Trends chez Google, l’a écrit directement : « Les redirections 30x ne font plus perdre PageRank. » Le propos englobe les 301, les 302 et toutes les autres redirections 3xx. Tous passent le PageRank.
John Mueller a expliqué le mécanisme lors d’un Webmaster Hangout : « Nous pouvons transférer le PageRank via les redirections 301 et 302. Essentiellement, ce qui se passe, c’est que nous utilisons ces redirections pour sélectionner une URL canonique. En choisissant une URL canonique, nous concentrons tous les signaux qui iraient vers ces URLs vers l’URL canonique. »
Relisez attentivement : le mécanisme, c’est la consolidation canonique, pas un “tuyau” qui ferait passer la valeur d’une URL à une autre. Les signaux s’accumulent sur l’URL que Google considère canonique. Le type de redirection détermine quelle URL est retenue.
La vraie question est donc : quelle URL voulez-vous que Google traite comme canonique ? Un 301 rend la destination canonique. Un 302 garde la source canonique. C’est ça, la décision.
(À noter : la reconnaissance de l’équité n’est pas instantanée même avec un 301. Google doit d’abord réexplorer l’ancienne URL, puis la consolidation s’effectue sur plusieurs cycles de crawl. La pertinence de la destination compte aussi : un 301 depuis un blog de cuisine vers une landing page logicielle ne se consolidera pas proprement.)
| Propriété | 301 Moved Permanently | 302 Found |
|---|---|---|
| Signification HTTP | Ressource déplacée définitivement | Ressource déplacée temporairement |
| Signal canonique pour Google | L’URL de destination devient canonique | L’URL source reste canonique |
| Transmet PageRank ? | Oui | Oui |
| URL indexée par Google | Destination (nouvelle) | Source (originale) |
| Méthode préservée sur POST ? | Non (historiquement bascule vers GET) | Non (historiquement bascule vers GET) |
| Quand l’utiliser | Déplacements permanents, migrations, HTTPS, consolidation | Tests A/B, maintenance, routage géo, campagnes |
| Coût en cas de retour en arrière | Élevé : Google doit reprocesser du temps | Faible : l’URL d’origine reste indexée |
307 et 308 existent parce que 301 et 302 posent un problème de changement de méthode. Quand un navigateur suit un 301 ou 302 suite à une requête POST, la spécification Fetch autorise un basculement vers GET pour la requête redirigée. Cela peut casser de façon silencieuse des flux de connexion, des soumissions de checkout et des endpoints API.
307 corrige ce problème pour les redirections temporaires. MDN le dit clairement : « 307 garantit que le client ne changera pas la méthode ni le corps de la requête lors de l’appel de la requête redirigée. Avec 302, les anciens clients changent incorrectement la méthode vers GET. » Si vous routiez temporairement un formulaire basé sur POST et que vous avez besoin de conserver le POST, 307 est le bon code.
308 fait la même chose pour les redirections permanentes. Il interdit totalement le changement de méthode, contrairement à 301, où les clients, historiquement, ont contraint la requête à passer en GET. Si vous redirigez en permanence un endpoint d’API qui reçoit des données POST, 308 est plus strict et plus sûr.
Pour les pages basées uniquement sur GET (la plupart du contenu web), 307 et 302 se comportent pareil, et 308 et 301 se comportent pareil. La différence ne compte que lorsque des corps POST ou PUT sont impliqués.
Une dernière chose à mentionner : les redirections meta-refresh et les redirections basées sur JavaScript (window.location) existent aussi. Google traite un meta-refresh avec un délai de 0 seconde comme permanent (équivalent à 301), et celui avec n’importe quel délai comme temporaire. Les redirections via JavaScript, en revanche, racontent une histoire différente : Google peut les suivre lors du rendu de la page, mais c’est plus lent à traiter, potentiellement manqué lors de crawls sans rendu complet, et il n’y a pas de signal explicite permanent/temporaires. Les redirections côté serveur restent toujours le meilleur choix.
Les chaînes apparaissent quand vous redirigez A vers B, puis plus tard B vers C, sans mettre à jour A. L’utilisateur et Googlebot suivent A → B → C au lieu d’aller directement vers C.
Chaque étape ajoute de la latence. La latence réelle côté utilisateur, mesurable en millisecondes, impacte les Core Web Vitals sur mobile. Chaque étape ajoute aussi un point de défaillance : si une URL quelconque dans la chaîne renvoie une erreur 404, tout ce qui se trouve derrière casse.
La documentation Google sur les migrations de site indique que Googlebot peut suivre jusqu’à 10 sauts dans une chaîne, mais recommande aussi de rediriger directement vers la destination finale. John Mueller a été plus précis : « Le seul point à surveiller, c’est d’avoir moins de 5 sauts pour les URLs fréquemment crawlees. » Googlebot tolère jusqu’à 10 avant de signaler une erreur ; la limite pratique de Mueller, c’est 5 ; l’objectif réel, c’est 1.
Les chaînes s’accumulent discrètement au fil des années de migrations. Un site qui est passé de .com à .io puis à nouveau à .com, qui a modifié sa structure d’URLs deux fois et qui a mené des tests A/B sur des pages catégories peut accumuler des chaînes sans que personne ne s’en rende compte. (Lors des audits avec SEOJuice, la découverte la plus fréquente : une chaîne en quatre étapes, assez ennuyeuse, sur une URL à fort trafic laissée derrière par une migration non mise à jour. Les chaînes liées aux campagnes et aux tests A/B sont le deuxième coupable le plus courant, souvent parce que le 302 temporaire n’a jamais été nettoyé après.) Puis un jour, quelqu’un lance un crawl et constate que la homepage est à trois sauts de profondeur.
Le correctif est toujours le même : identifiez la destination finale et mettez à jour la première redirection pour pointer directement vers elle. Écrasez la chaîne. N’attendez pas que Google fasse la navigation à votre place.
Les boucles sont le cas pathologique. A redirige vers B, B redirige vers A, et le navigateur affiche ERR_TOO_MANY_REDIRECTS. Il s’agit généralement d’une règle HTTPS mal configurée ou d’une redirection gérée par le CMS qui crée un cycle. Les outils d’audit détectent ça immédiatement.
Ce qu’il faut chercher :
ERR_TOO_MANY_REDIRECTSPour un contrôle manuel rapide, curl -I https://votredomaine.com/vielle-url vous indique le code d’état et l’en-tête Location sans charger toute la page. Les outils de développement du navigateur (onglet Réseau, « Conserver le journal » activé) affichent la séquence complète de redirections pour n’importe quelle URL. C’est bien pour des vérifications ponctuelles. Pour une couverture systématique, il vous faut un crawler.
Le SEO audit de SEOJuice explore votre site et signale les chaînes de redirection, les boucles, les redirections avec code incorrect et les sauts vers des destinations 4xx. C’est le moyen le plus rapide d’obtenir une vue complète sans tester manuellement des centaines d’URLs avec curl. À vérifier aussi : toutes vos URLs à fort trafic issues de votre audit SEO hygiene. C’est souvent là qu’une chaîne enterrée vous coûte vraiment.
Les applications single-page exigent une attention supplémentaire. Le routage basé sur JS peut créer un comportement de type redirection que les crawlers côté serveur ne voient pas du tout. Si vous utilisez un site React ou Next.js, consultez les notes sur la gestion des redirections pour les SPAs. Les cas limites avec window.location et le routage côté client interagissent avec l’exécution JavaScript de Google de façon moins évidente qu’on ne l’imagine.
Oui. Google a confirmé que le PageRank circule via les redirections 301, 302 et toutes les redirections 3xx. Gary Illyes a déclaré en 2016 que « les redirections 30x ne font plus perdre de PageRank », et John Mueller a expliqué que les 301 et 302 transfèrent les signaux via la consolidation canonique. Le type de redirection détermine quelle URL Google conserve dans l’index, pas si l’équité circule.
Aucun des deux n’est intrinsèquement meilleur. Le bon code dépend de si le déplacement est permanent ou non. Utilisez un 301 quand l’URL de destination est celle que vous voulez indexer à l’avenir. Utilisez un 302 quand l’URL d’origine doit rester indexée et que vous avez réellement l’intention de la restaurer. Se tromper ne vous “coûte” pas l’équité de lien : cela met juste la mauvaise URL dans l’index de Google.
Il n’existe pas de délai fixe. Google doit réexplorer l’ancienne URL avant de pouvoir traiter le signal, ce qui peut prendre de quelques jours à plusieurs semaines selon la fréquence de crawl. Gardez le 301 en ligne au moins un an. Le retirer trop tôt annule le signal canonique et vous devrez faire réexplorer et reprocesser tout depuis le début.
Oui, mais indirectement. Les chaînes de redirection ajoutent de la latence, gaspillent le budget de crawl et créent des points de défaillance. Google recommande de rediriger directement vers la destination finale ; la recommandation pratique de Mueller : moins de 5 sauts pour les URLs fréquemment crawlees. L’effet est cumulatif : temps de chargement plus lent, efficacité de crawl réduite, et risque qu’un saut cassé au milieu fasse tomber toute la séquence — pas une pénalité de classement directe.
À lire aussi :
Lancez un audit SEO gratuit pour repérer les chaînes, les boucles, les redirections incorrectes et les sauts vers des pages mortes sur votre site.
no credit card required
No related articles found.