Comparatifs Web et HTTP

Redirections 301 vs 302

Un 301 indique qu'une page a déménagé pour de bon ; un 302 qu'elle est ailleurs pour l'instant. Comment moteurs de recherche, navigateurs et méthodes de requête les traitent, avec les variantes 307 et 308.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Un 301 (Moved Permanently) indique aux navigateurs et moteurs de recherche que l'ancienne URL est remplacée pour de bon : ils doivent utiliser et indexer la nouvelle. Un 302 (Found) indique que le contenu est à une autre URL seulement pour l'instant : l'ancienne doit donc rester en usage. Utilisez un 301 pour les changements de domaine, les migrations HTTPS et les URL restructurées ; utilisez un 302 pour les déplacements de courte durée, comme les pages de maintenance ou les tests.

En un coup d'œil

Code Nom Signification Méthode en suivant
301 Moved Permanently Permanent Peut changer POST en GET
302 Found Temporaire Peut changer POST en GET
303 See Other Aller chercher avec GET Toujours GET
307 Temporary Redirect Temporaire Même méthode et même corps
308 Permanent Redirect Permanent Même méthode et même corps

301 et 302 en pratique

301 302
Cache du navigateur Mis en cache agressivement Généralement pas mis en cache
Moteurs de recherche Traitent la nouvelle URL comme durable Gardent l'ancienne URL indexée
Usage typique HTTP vers HTTPS, changements de domaine ou d'URL Maintenance temporaire, tests A/B, routage selon la localisation
Coût d'une erreur Difficile à défaire à cause du cache Les moteurs peuvent ne pas passer à la nouvelle URL

Vérifiez ce que fait réellement une URL avec le traceur de chaîne de redirection HTTP, qui liste chaque saut et son code de statut, et cherchez les codes inconnus dans la recherche de code de statut HTTP. Pour écrire les règles de redirection d'un serveur Apache, utilisez le générateur de redirections .htaccess.

Lequel choisir ?

  • Le contenu a déménagé pour de bon : 301 (ou 308 pour les requêtes autres que GET).
  • Déplacement bref ou conditionnel : 302 (ou 307 pour conserver la méthode).
  • Après l'envoi d'un formulaire, orienter vers une page de résultats : 303.
  • En cas de doute : commencez par un 302 et passez à un 301 quand vous êtes certain, car les redirections permanentes sont mises en cache.
  • Évitez les chaînes : pointez les anciennes URL directement vers la destination finale, pas via plusieurs redirections.

La liste complète des codes se trouve dans Aide-mémoire des codes d'état HTTP et Redirection définit le terme.

Essayez ces outils

Voir aussi

  • Aide-mémoire Aide-mémoire des codes d'état HTTP
    Les codes d'état HTTP que vous rencontrerez vraiment, par classe, avec les paires qu'on confond (401 ou 403.
  • Glossaire Redirection
    Une redirection est une réponse du serveur qui envoie le navigateur vers une autre URL, avec un code d'état 3xx et un en-tête Location.
  • Glossaire HTTP
    Le HTTP (Hypertext Transfer Protocol) est le protocole que les navigateurs et les serveurs utilisent pour demander et envoyer des pages.
  • Glossaire URL canonique
    Une URL canonique est l'adresse préférée d'une page quand plusieurs URL affichent le même contenu, déclarée avec <link rel="canonical">.
  • Glossaire HSTS
    Le HSTS (HTTP Strict Transport Security) est un en-tête de réponse qui indique aux navigateurs de n'utiliser que HTTPS pour un site pendant.

Questions fréquemment posées

Un 302 indique aux moteurs que l'URL d'origine doit rester dans leur index : les signaux ne sont donc pas forcément transmis à la nouvelle adresse. Si le déménagement est définitif, utilisez un 301 ou un 308 pour que la nouvelle URL soit considérée comme durable.

Les deux sont permanents. Un 301 permet historiquement aux clients de changer un POST en GET en le suivant ; un 308 exige de répéter la même méthode et le même corps. Pour des déplacements de page ordinaires, ils se comportent pareil.

Les navigateurs peuvent mettre en cache un 301 ou un 308 très longtemps : une redirection permanente erronée peut donc être difficile à défaire. Testez d'abord avec un 302 en cas de doute.

AdSense Placeholder
Slot: footer_leaderboard