Les redirections sont un élément essentiel et usuel dans la vie d’un site web. Que cela soit dans le cadre d’un changement isolé d’URL ou pour une migration plus massive, elles font partie de l’arsenal du gestionnaire de site et également du référenceur. Or, Google a changé sa façon de prendre en compte ces redirections 30x (301, 302 et autres) et le passage de PageRank que cela induit. Il était donc important de faire un point global et exhaustif à ce sujet.
En février dernier, John Mueller de Google a créé pas mal de remous dans le Landernau du SEO avec un simple commentaire sur Google+ : « c’est faux de dire que les redirections 302 ne transmettent pas de linkj Pagerank. C’est un mythe ».
Fig.1. Tweet de John Mueller.
Depuis, cette information a été confirmée à plusieurs reprises, ainsi que d’autres à propos des redirections. Google a clairement changé sa façon de les prendre en compte, et un certain nombre de recommandations traditionnelles concernant les « redirects » sont clairement obsolètes, parfois depuis des années.
Il était donc intéressant de faire le point à date sur la façon dont Google prend en compte les redirections. Mais commençons par quelques rappels techniques à leur sujet…
Les différents type de redirections
Une redirection consiste à renvoyer une requête d’un navigateur depuis une URL A vers une URL B. Certaines redirections sont actionnées par un code renvoyé par le serveur web : il s’agit des redirections « 30x », appelées ainsi car le serveur renvoie un code http de type 301, 302 etc.
D’autres sont gérées côté navigateur uniquement : il s’agit des redirections en Javascript, ou de type meta refresh.
Suivant le protocole utilisé (HTTP 1.0, ou HTTP 1.1), il existe différents types de redirection côté serveur.
301 Moved Permanently (http 1.0 et 1.1)
Il s’agit d’une redirection permanente. Le code 301 indique que la nouvelle URL est l’adresse définitive de la ressource.
302 Found (http 1.0), 302 Moved Temporarily (http 1.1)
La redirection 302 est une redirection temporaire. Le code indique que l’URL vers laquelle la requête du navigateur est renvoyée risque de changer à nouveau, ainsi que la ressource associée.
303 See Other (http 1.1)
Le code 303 a été créé pour des redirections pour lesquelles la méthode GET est imposée pour la deuxième requête de redirection. En fait, le code 303 correspond à l’ancien comportement des 302 sur de nombreux navigateurs. Les codes 303 et 307 (voir plus loin) permettent de gérer de manière précise le comportement attendu des redirections temporaires.
304 Not Modified
Ce code correspond à une redirection vers une page en cache. Il permet de gérer des requêtes dites « conditionnelles », en indiquant au navigateur si le fichier a été modifié depuis la dernière requête effectuée. Si ce n’est pas le cas, le navigateur recharge la copie de la ressource qu’il a téléchargée la dernière fois.
Notons que les requêtes conditionnelles sont utilisées par les bots des moteurs de recherche pour économiser de la bande passante, et que paramétrer son serveur web pour les gérer à bon escient est vivement recommandé pour faciliter l’exploration de son site, surtout s’il comporte beaucoup d’URL ou si vos serveurs sont régulièrement surchargés.
307 Temporary Redirect et 308 Permanent Redirect (http 1.1)
Ces codes correspondent au comportement des 302 et des 301 respectivement, mais avec une contrainte technique : la méthode (POST ou GET) utilisée lors de la requête initiale reste obligatoirement inchangée lors de la seconde requête.
Phlippe Yonnet
Directeur Général de l’agence Search-Foresight, groupe My Media (http://www.search-foresight.com)