13 min de lecture
Codes de redirection HTTP expliqués : de 301 à 308
Ce que signifie chaque code de statut 3xx : 301, 302, 303, 307 et 308 comparés (permanence, méthode, cache, SEO), avec des exemples nginx, Apache et PHP.
Lire l’articleOutil de redirection gratuit
Découvrez si une URL redirige de façon permanente ou temporaire. TrueURL examine chaque saut et vous indique si les moteurs de recherche considéreront le déplacement comme permanent.
Appuyez sur Entrée pour vérifier
Le réseau edge de Cloudflare valide toujours les certificats : cette option ne permet donc pas de contourner la vérification. Les problèmes de certificat sont signalés dans le résultat.
Envoyé avec la première requête, 16 Ko maximum. Un corps JSON est envoyé en application/json, les autres sous forme de formulaire, sauf si vous définissez un en-tête Content-Type.
De 1 à 50. Les navigateurs s’arrêtent après 20 redirections.
Les sites peuvent rediriger différemment les téléphones, les robots d’exploration et les bots d’aperçu de liens.
Envoyés avec chaque requête de la chaîne.
Aucun en-tête personnalisé.
Saisissez une valeur pour envoyer cet en-tête. Les valeurs d’en-têtes ne sont jamais enregistrées.
Suivre les balises <meta http-equiv="refresh"> et les en-têtes Refresh trouvés dans les pages HTML.
Suivre les redirections simples et inconditionnelles, comme location.href = "…", dans les scripts de la page.
Les paramètres sont mémorisés dans ce navigateur. Les cookies, les valeurs d’en-têtes et le corps de la requête POST ne sont jamais enregistrés.
C’est par le code de statut qu’un serveur indique aux moteurs de recherche de quel type de déplacement il s’agit. Une redirection permanente (301 ou 308) signale que l’ancienne URL a définitivement disparu : les moteurs de recherche indexent alors la nouvelle URL et y regroupent les signaux comme les liens. Une redirection temporaire (302, 303 ou 307) signale que l’ancienne URL reviendra : celle-ci reste donc généralement indexée.
Les visiteurs ne voient jamais la différence, c’est pourquoi un mauvais code peut passer inaperçu pendant des mois. De nombreux outils envoient une redirection temporaire, sauf indication contraire : header('Location: ...') en PHP, res.redirect() dans Express et la directive Redirect d’Apache utilisent tous une 302 par défaut.
TrueURL vérifie chaque saut de la chaîne, pas seulement le premier :
Les codes 301 et 308 sont tous deux permanents, et Google les traite de la même façon. La différence porte sur la méthode de requête : après une 301, les navigateurs peuvent transformer un POST en GET, alors qu’une 308 garantit que la méthode et le corps sont conservés. Utilisez une 301 pour les pages classiques et une 308 pour les points de terminaison d’API ou les cibles de formulaires qui doivent continuer à recevoir des requêtes POST. La paire temporaire fonctionne de la même manière : une 302 peut changer la méthode, une 307 jamais.
Pour une comparaison complète de tous les codes 3xx, consultez notre guide des codes de redirection HTTP.
Dans tous les autres cas, en particulier pour les migrations et les URL modifiées, utilisez une 301.
13 min de lecture
Ce que signifie chaque code de statut 3xx : 301, 302, 303, 307 et 308 comparés (permanence, méthode, cache, SEO), avec des exemples nginx, Apache et PHP.
Lire l’articleSaisissez l’ancienne URL dans le champ ci-dessus. TrueURL l’interroge sans suivre automatiquement les redirections et affiche le code de statut exact de chaque saut. En ligne de commande, curl -I https://example.com/old-page n’affiche que la première réponse si vous n’ajoutez pas -L, et ne détecte pas les redirections meta refresh ou JavaScript. Notre guide pour vérifier les redirections d’une URL explique les options de curl.
Google a indiqué que les redirections 301, 302 et autres redirections côté serveur ne font pas perdre de PageRank. Ce qui diffère, c’est le signal de canonicalisation : une 301 indique à Google d’indexer la nouvelle URL, tandis qu’une 302 l’incite à conserver l’ancienne. Les classements se stabilisent généralement sur la nouvelle URL une fois les deux pages explorées à nouveau.
Google recommande de conserver les redirections pendant au moins un an, et il est plus sûr de les garder indéfiniment : les anciens liens, les favoris et les références sur d’autres sites continuent d’utiliser l’ancienne URL pendant des années. Une règle de redirection ne coûte presque rien à maintenir.
Les causes les plus courantes sont une extension ou un framework qui utilise une 302 par défaut, une règle de CDN ou d’hébergeur qui s’exécute avant la vôtre, ou une ancienne réponse mise en cache. Examinez chaque saut : si la 302 provient d’un autre hôte ou d’un autre chemin que ceux gérés par votre règle, c’est une autre couche qui l’ajoute.
Oui. Les navigateurs peuvent mettre en cache les redirections 301 et 308 très longtemps, souvent jusqu’à ce que le cache soit vidé : une 301 erronée peut donc persister pour les visiteurs qui l’ont déjà suivie. Pendant que vous testez une nouvelle règle, utilisez une 302 ou un Cache-Control: max-age court, puis passez à la 301 une fois la règle au point. TrueURL ne met aucune réponse en cache : il affiche donc toujours ce que le serveur envoie à l’instant présent.
Pas pour le SEO, puisque Google les traite de la même façon. Une 308 n’est préférable que si la méthode de requête doit être conservée, par exemple pour un point de terminaison d’API qui reçoit des requêtes POST. Certains clients très anciens ne comprennent pas la 308 : la 301 reste donc le choix par défaut le plus sûr pour les pages web.
Seulement si la page d’accueil est vraiment le meilleur remplacement. Google peut traiter les redirections de pages supprimées vers la page d’accueil comme des erreurs soft 404. Redirigez plutôt vers la page équivalente la plus proche, ou renvoyez un code 410 Gone ou 404 Not Found s’il n’en existe pas.