Redirections 301 : votre atout SEO ultime en cas de refonte de site

La mise en place de redirections 301 est un passage indispensable lors d'une refonte de site web. Mais leur mise en place est parfois complexe et demande de la rigueur pour éviter tout dommage collatérale qui pourrait nuire au trafic.

Une migration SEO, c’est comme un déménagement, ça se prépare. Il sera donc nécessaire de déménager en priorité ce dont on se sert le plus, pour être certain de bien le retrouver par la suite.

Une certaine organisation est indispensable. Si on numérote chaque carton, avec son contenu et son emplacement initial pour retrouver facilement ses affaires dans son nouvel environnement, il en est de même avec une migration SEO : une table de correspondance des URL permettra à Google de retrouver chacun des contenus, sans perdre leur trace.

C’est aussi l’occasion de faire du tri : notamment avec les anciennes URL. Ainsi, afin d’optimiser le crawl de Googlebot et l’espace qu’il doit indexer, il sera parfois utile de se débarrasser des URL non pertinentes pour permettre aux crawlers de se concentrer sur l’essentiel.

Refonte avec modification des URL

Avec un changement de CMS ou de technologie, il est fort probable qu’il soit complexe de conserver les URL existantes. Afin de permettre à Google de faire la correspondance entre les nouvelles et les anciennes URL, et pour conserver ses positions dans les pages de résultats, il sera nécessaire de mettre en place une table de correspondance. Les anciennes URL effectueront ainsi des redirections 301 vers les nouvelles URL.

Cela permettra à Google de transférer la popularité et évitera que les utilisateurs en provenance de sites externes n’atterrissent sur une page d’erreur 404. Pour éviter d’oublier des URL importantes, il est recommandé de rediriger en priorité les URL générant le plus de trafic et recevant des liens de qualité. Une mise à jour des redirections existantes pourra également être utile afin d’éviter des chaînes de redirections.

Inventaire des URL et outils

Un simple crawl ne permettra pas d’être exhaustif afin de mettre en place une table de redirections : il ne faut pas oublier que certaines anciennes URL sont peut-être toujours accessibles via Google, sans pour autant être maillées dans le site à migrer ; d’autres URL peuvent également recevoir des liens externes. Des outils comme Google Search Console, Google Analytics ou encore Ahrefs (analyse des liens entrants) permettront d’identifier ces URL.

Un crawl peut, en revanche, être utile pour récupérer des URL connues de Google mais ne générant pas de clics. Il sera pertinent de s’interroger pour en connaître la raison car c’est ainsi qu’il sera possible d’améliorer leur visibilité, ou de les supprimer s’il s’agit d’URL non pertinentes voire dupliquées.


Figure 1 - Table de correspondance entre les anciennes et nouvelles URL

Il est indispensable de prioriser les redirections pour éviter tout oubli. L'application des règles sera d’autant plus important sur le serveur qu’il les traitera dans leur ordre d’apparition. Ainsi, mettre en fin de fichier .htaccess la règle la plus sollicitée réduira les performances et obligera un parcours de l’ensemble des règles pour chaque appel d’URL.

Erreurs 404

Une URL non redirigée provoquera une erreur 404. Cela est problématique s’il s’agit d’URL ayant acquis de la visibilité dans les pages de résultats : une URL répondant en 404 va être déclassée pour éviter à Google de proposer des pages vides à ses internautes. Cependant une erreur 404 sur une page n’ayant jamais généré de trafic ne sera pas si néfaste.

Cela aura un impact sur le crawl et la pertinence des pages visitées par Google dans le temps machine qu’il accorde à chaque site Web, mais s’il s’agit d’une page qui n’est jamais visitée, cela ne pénalisera pas le trafic pour autant.  On préférera d’ailleurs renvoyer un statut HTTP 410 pour les URL dont on souhaite se séparer, afin de réduire leur crawl dans le temps (410 = Gone). Les pages seront encore crawlées pour vérifier qu’elles répondent toujours en 410, mais de façon moins fréquente comparativement à une erreur 404.

Pour les URL qui n’ont pas de correspondance, on pourrait penser que la meilleure solution serait de rediriger l’ensemble de ces URL vers une seule et même catégorie, ou vers la homepage, mais cela peut parfois être risqué ! En fonction du nombre d’URL sans correspondance, ces redirections massives peuvent s’apparenter à des tentatives de manipulation du PageRank et déclencher des pénalités algorithmiques.

Une erreur 404 sur une page n’ayant pas d’historique SEO est parfois préférable à une redirection 301. Il est utile de se mettre à la place de l’utilisateur lorsque l’on effectue les redirections. Ainsi l’internaute qui s’attend à arriver sur une actualité précise en cliquant dans les pages de résultats sera-t-il satisfait d’atterrir sur une page d’accueil ? Probablement pas… 

Paramètres d'URL

Une attention toute particulière sera nécessaire concernant les paramètres d’URL (partie située derrière le « ? » dans une URL), ces derniers étant souvent la source de contenu dupliqué. Par ailleurs, il se peut que certains paramètres d’URL n’aient plus d’utilité sur la nouvelle version du site : les redirections devront être effectuées en tenant compte de ces éléments, pour supprimer les paramètres devenus obsolètes.

Les indications qui suivent sont à lire attentivement par la DSI ou le service en charge des redirections.


Figure 2 - Structure de la chaîne de paramètres d'une URL

Il faut garder à l’esprit qu’aux yeux d’un crawler, l’URL index.php?cat=32&page=4 est différente de l’URL index.php?page=4&cat=32 bien que ces 2 pages proposent exactement le même contenu.

Par défaut, sur les serveurs Apache qui sont les plus utilisés, les directives RedirectPermanent, RedirectMatch ou RewriteRule ne tiennent pas compte des chaînes de paramètres. S’il est nécessaire d’effectuer des redirections en fonction des éléments présents dans la Query_string, il faudra passer par la directive RewriteCond pour identifier les éléments de la chaîne de paramètres.

Exemple pour rediriger en fonction d’une catégorie (cat=) :

RewriteCond % ^cat=231$
RewriteRule ^index.php /categorie/231 [L,R=301]

De la même manière, s’il est nécessaire de supprimer la chaîne de paramètres lors des redirections 301, la syntaxe ne sera pas la même entre les différentes version d’Apache :

Apache 2.2 et inférieur : RewriteRule ^ancienneurl$ /nouvelleurl? [R=301,L]
Apache 2.4 et supérieur : RewriteRule ^ancienneurl$ /nouvelleurl [R=301,L,QSD]

Cette partie de l’URL doit donc être traitée avec précision pour éviter la duplication de contenu.

Passage en production

Lors du passage en production, Google va découvrir de nouvelles URL. De façon temporaire, des contenus seront dupliqués entre le contenu des nouvelles pages et celui des anciennes pages qui n’ont pas encore été re-crawlées par Google (pour la prise en compte des redirections 301). Cette phase de digestion du nouveau site peut prendre de plusieurs jours à quelques semaines, en fonction du nombre de pages à traiter et ainsi engendrer une baisse de 15% à 20% du trafic SEO dans les semaines qui suivent.

L’objectif est de permettre à Google de découvrir les nouvelles URL via les redirections 301, pour limiter la duplication temporaire (ancienne URL avec redirection non re-crawlée, nouvelle URL crawlée). Pour cela, il est recommandé de ne pas soumettre le nouveau sitemap trop tôt, mais plutôt de le proposer avec les anciennes URL, afin que ces dernières soient rapidement visitées avec les redirections 301.

Un suivi quotidien des erreurs rencontrées par Google post-refonte (via Google Search Console, Google Analytics, ou encore via une analyse des logs) permettra de redresser la barre rapidement en cas de problème. Plus les problématiques seront détectées tardivement, plus il sera fastidieux de remonter la pente pour compenser la perte de trafic. 

Technique et précision pour une migration en douceur

Au-delà des éléments on-site et de la structure d’un site web lors d’une refonte, les modifications d’URL demandent une attention tout particulière pour limiter au maximum la perte de trafic liée au SEO. Une migration mal gérée peut avoir des conséquences directes sur le chiffre d’affaires d’une entreprise.

Les URL sans correspondance ou supprimées pourront être redirigées vers des pages équivalentes quand cela est possible et cohérent pour l’internaute. Plus le plan de migration sera exhaustif, en prenant en compte les différents pièges que peuvent tendre les spécificités de vos URL (ex : paramètres, encodage), moins le risque sera élevé.

Il est cependant nécessaire de garder à l’esprit qu’au fil des refontes, les redirections risquent de s’accumuler dans le temps et qu’il est préférable parfois de privilégier des erreurs 404 sur des pages sans potentiel, plutôt que de devoir faire face à des performances désastreuses à long terme. Quant aux redirections 301 sur les pages pertinentes, Google recommande de les laisser actives au moins un an, mais certaines de ces URL étant crawlées parfois des années plus tard, il est conseillé de les conserver à vie : « URL d’un jour, URL toujours ».