Qu'est-ce qu'une redirection d'URL ?
Redirections HTTP
Les redirections HTTP, également connues sous le nom de redirection d'URL, de redirection web ou d'autres noms similaires, sont un mécanisme de serveur web qui permet d'indiquer à un visiteur que la page web qu'il recherche a été déplacée à une adresse différente.
Le Protocole de Transfert Hypertexte (HTTP), le protocole à l'origine du Web, définit une liste de codes de statut de réponse, qui sont associés à chaque Réponse envoyée par les serveurs web. Ces codes de statut sont des nombres qui ont été standardisés dans plusieurs RFC. Par exemple, une requête réussie reçoit une réponse avec un code de statut 200
, tandis qu'une erreur "Non trouvé" obtient le célèbre code 404
. Pour les réponses de redirection, la spécification HTTP définit plusieurs codes de statut, plus ou moins largement utilisés : 301
, 302
, 303
, 307
ou 308
. Tous ces codes de statut ont des significations et des implications différentes :
301
et308
sont destinés aux redirections permanentes ;302
,303
et307
sont utilisés pour les redirections temporaires.
Redirections permanentes vs temporaires
Les redirections permanentes et temporaires produisent le même effet visible pour les visiteurs, qui sont redirigés vers d'autres pages. Cependant, il existe des différences importantes :
- les redirections permanentes ont un effet permanent. En d'autres termes, l'utilisation d'une redirection permanente est la bonne façon d'indiquer à un client que le contenu original a été déplacé vers une nouvelle adresse, et que ce changement est permanent et ne changera pas à l'avenir. typiquement, les navigateurs web mettront en cache les redirections permanentes afin d'accélérer la résolution du contenu, et les moteurs de recherche peuvent mettre à jour leurs index pour enregistrer la nouvelle URL de destination. Du point de vue du SEO, les redirections permanentes ont également l'avantage de transférer le poids SEO vers l'URL de destination.
- d'autre part, les redirections temporaires sont la bonne façon d'indiquer au navigateur que la redirection doit être effectuée, mais que le contenu pourrait être à nouveau disponible, ou que sa cible est temporaire et pourrait changer à l'avenir. Les redirections temporaires n'ont pas d'effet sur le poids SEO.
Lors de l'élaboration de votre plan de redirection, vous pouvez choisir des redirections permanentes ou temporaires. Gardez simplement à l'esprit que les redirections permanentes sont une zone de danger, car une erreur ne peut pas être annulée et peut nuire à votre SEO. En contrepartie, une redirection permanente aide les moteurs de recherche à mettre à jour leur base de données pour donner plus de poids à la nouvelle URL, un phénomène appelé "link-juice".
Notre fonctionnalité "impact de la règle" aide à évaluer l'effet d'une nouvelle règle de redirection. Avant de publier une règle, vous pouvez vérifier qu'elle n'affectera pas votre trafic web réel de manière incorrecte !
Si vous n'êtes pas sûr de la validité d'une règle de redirection, une bonne stratégie pourrait d'abord être de créer une redirection temporaire et, une fois que vous avez testé son effet, de modifier le code de statut pour choisir le plus approprié.
Comment choisir le code de statut de redirection ?
Les différents codes de statut de redirection ne produisent pas le même comportement dans les navigateurs web :
301
signifie Déplacé définitivement : la requête actuelle et toutes les requêtes futures doivent être redirigées vers la nouvelle URI, et cette redirection est cachable ;302
était initialement défini comme Déplacé Temporairement (RFC 1945) mais a depuis été redéfini comme "Trouvé" (RFC 2616) dans HTTP/1.1. Un tel code de réponse invite le navigateur web à faire une seconde requête vers l'URL cible, et leur permet de réécrirePOST
enGET
303
signifie Voir Autre et est généralement utilisé lorsque le serveur n'a pas de représentation de la ressource cible. Dans ce cas, le navigateur doit effectuer une requêteGET
vers l'URL cible (même si une méthode différente a été utilisée dans la requête initiale) ;307
est une Redirection Temporaire et est disponible pour les requêtes effectuées en utilisant HTTP/1.1. Le comportement est le même qu'un302
, sauf que la méthode est conservée. Ainsi, si une requêtePOST
reçoit une réponse307
, le navigateur tentera une nouvelle méthodePOST
vers la nouvelle localisation ;308
indique Redirection Permanente et a été défini assez récemment, dans RFC 7538, bien qu'il soit compatible avec la plupart des navigateurs modernes.
Les recommandations SEO varient sur le sujet. D'un point de vue purement technique, vous devriez maintenant utiliser les codes de statut HTTP 307
/308
, à condition que l'agent utilisateur le supporte et que les requêtes aient été faites en utilisant HTTP/1.1
. Autrement, vous devriez préférer les plus classiques 301
/302
, mais ceux-ci n'offrent pas le même confort pour l'utilisateur final (particulièrement lors de soumissions de formulaires).
À ce jour, la littérature générale sur le SEO recommande de s'en tenir aux codes de redirection 301
et 302
. D'un point de vue purement SEO, préférez le code de statut 301
, en gardant à l'esprit que les réponses 301
sont mises en cache par les navigateurs web, et ne sont donc pas adaptées aux redirections qui pourraient changer à l'avenir.
Que sont les chaînes et les boucles de redirection ?
Lorsqu'une redirection normale se produit, le navigateur du visiteur est invité à changer l'URL de la requête et à effectuer une nouvelle requête vers cette nouvelle URL :
Les chaînes de redirection se produisent lorsqu'une requête vers une URL donnée de votre site web est redirigée vers une autre URL qui est elle-même redirigée. Une chaîne de redirection peut avoir 2 "sauts" (il y aura deux redirections successives), ou parfois plus (3, 4, 5, etc. redirections consécutives) :
Si l'une des localisations de redirection successives est l'une des URL précédemment demandées dans la chaîne, alors il y aura une boucle de redirection :
C'est évidemment une situation que vous voudrez vraiment éviter, car :
- le navigateur du client enverra une nouvelle requête à chaque "saut", ce qui entraîne de nombreux transferts réseau ;
- le navigateur refusera de continuer après plus de 10 à 20 redirections (selon le navigateur). Après cela, l'utilisateur final verra un message d'erreur du navigateur indiquant le dysfonctionnement des redirections ;
- chaque requête passe par la plateforme d'hébergement de votre site web, et de nombreux problèmes de ce type pourraient entraîner une charge élevée et finalement ralentir votre site web.
redirection.io aide à éviter de telles situations, grâce au "test d'Impact" qui s'affiche chaque fois que vous créez une nouvelle règle. Si une chaîne de redirection ou une boucle de redirection est détectée sur l'un des exemples attachés à la règle, vous verrez un avertissement comme