Redirection 301 : définition et conseils pratiques
Les redirections font partie intégrante de la vie d’un site internet. Les redirections 301 sont les plus courantes et peuvent nuires à votre référencement si elles sont mal effectuées. Dans cet article nous allons voir ensemble en quoi consiste réellement une redirection 301, dans quels cas de figure peuvent-elles être pertinentes et comment les corriger si elles sont problématiques.
Rédigé par Nicolas Bouchand
Qu’est-ce qu’une redirection 301 ?
Une redirection est déclenchée par le serveur d’un site internet pour renvoyer une url A vers une URL B. Les internautes et les robots d’exploration ne peuvent plus accéder à l’url A, ils atterrissent automatiquement sur l’url B.
La redirection 301 a la particularité d’indiquer aux robots d’exploration des moteurs de recherche comme Google que celle-ci est définitive. Autrement dit, l’url A ne sera plus amené à être accessible et la redirection ne sera (logiquement) jamais retirée. La seconde redirection la plus répandue est la redirection 302 qui est temporaire contrairement à la 301. Nous abordons en détails ce sujet dans notre formation SEO technique orientée algorithmie et fonctionnement des moteurs.
Ci-dessous un exemple d’une redirection 301 effectuée de l’url en http de la page d’accueil du site de SEOlympe vers l’url en https :
Comment mettre en place une redirection 301 ?
Plusieurs manières sont possibles pour mettre en place une redirection 301 sur son site internet.
Si vous êtes sur le CMS WordPress, le plugin Redirection fera largement l’affaire et sera très simple d’utilisation. Vous n’aurez qu’à renseigner l’url A et l’url B de redirection puis le tour sera joué.
Si vous souhaitez aller plus loin et mettre en place des directives plus poussées et conséquentes vous devrez aller directement dans le fichier Htaccess de votre site. Il se trouve généralement dans votre Cpanel proposé par votre hébergeur.
Il est également possible de configurer vos redirections 301 dans le fichier PHP ou encore en utilisant le JavaScript. Cette dernière option n’est pas recommandée d’un point de vue SEO car les robots d’exploration des moteurs de recherche ne réagissent pas toujours bien à ce langage.
Dans quels cas faire une redirection 301 ?
Rupture de stock définitive d’un produit
Les redirections 301 sont très utilisées sur les sites ecommerce. En effet c’est une arme redoutable dans la gestion des produits. Lorsqu’un produit est en rupture de stock définitive ou ne sera plus jamais vendu; la redirection 301 est la solution parfaite car pour rappel elle est permanente. Le but est de rediriger cette url vers une url similaire à savoir : un produit identique mais d’une autre couleur ou la page catégorie du produit en question. Si vraiment aucune page n’est thématiquement liée à votre url, vous pouvez la rediriger vers la homepage.
Page obsolète supprimée
Lorsque vous supprimez une page, quelle que soit la raison, il faut absolument la rediriger à l’aide d’une redirection 301 vers une autre url en statut 200 (une url valide). Si vous ne mettez pas en place cette redirection 301, vous allez générer une erreur 404 !
Changement de nom de domaine
Un changement de nom de domaine peut faire partie de la vie d’une société. Le branding change, le nom de marque est modifié et donc logiquement le nom de domaine aussi. Mais vous n’allez pas garder deux sites pour une seule et même marque ? Ce serait beaucoup trop néfaste d’un point de vue contenu dupliqué en SEO ! De ce fait vous devez absolument rediriger grâce à des redirections 301 TOUTES les urls de votre ancien site vers une url équivalente du nouveau site.
Version HTTP vers HTTPS
Depuis quelques années, la plupart des sites sont passés en protocole HTTPS pour assurer plus de sécurité à leurs internautes. Pour autant, ce n’est pas encore le cas pour tous les sites.
2 problèmes peuvent se présenter dans ce cas de figures :
La version HTTPS n’a pas été créée donc le site est toujours en HTTPS
La version en HTTPS a bien été créée mais la version HTTP est toujours accessible : vous avez donc un site qui est en double ! Je vous laisse imaginer la cannibalisation interne.
De ce fait, vous devez vous assurer que la redirection 301 est bien effectuée de vos urls en HTTP vers vos urls en HTTPS.
Cas concrets pour implémenter des redirections 301 dans le fichier HTACCESS :
Rediriger la version HTTP vers HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
– RewriteEngine On : Cette ligne active le moteur de réécriture, nécessaire pour effectuer des redirections et des réécritures d’URL.
– RewriteCond %{HTTPS} off : Cette condition vérifie si HTTPS n’est pas activé pour la requête actuelle. %{HTTPS} est une variable d’environnement qui indique si la connexion est sécurisée. Si elle vaut “off”, cela signifie que la requête est faite via HTTP.
– RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] : Cette règle redirige toutes les requêtes HTTP vers HTTPS en utilisant une redirection 301, qui est permanente. ^(.*)$ est une expression régulière qui capture toute l’URL après le nom de domaine. %{HTTP_HOST} représente le nom de domaine du site, et %{REQUEST_URI} l’URI demandée par le client. [L,R=301] indique que la règle est la dernière (L) à s’appliquer et que la redirection doit être de type 301.
Rediriger une url quelconque vers une autre
Redirect 301 /ancienne-page.html /nouvelle-page.html
Dans cet exemple, /ancienne-page.html est l’URL de la page originale que vous souhaitez rediriger, et /nouvelle-page.html est le chemin vers lequel vous voulez que les visiteurs et les moteurs de recherche soient dirigés. Assurez-vous de remplacer ces chemins par les chemins réels de votre site.
Rediriger un ancien nom de domaine vers un nouveau
RewriteEngine On
RewriteCond %{HTTP_HOST} ^anciendomaine\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.anciendomaine\.com$
RewriteRule ^(.*)$ http://www.nouveaudomaine.com/$1 [R=301,L]
– RewriteEngine On : Active le moteur de réécriture, nécessaire pour les redirections et réécritures d’URL.
– RewriteCond %{HTTP_HOST} ^anciendomaine\.com$ [OR] : Cette condition vérifie si l’hôte (le domaine) de la requête est anciendomaine.com. Le drapeau [OR] est utilisé pour indiquer qu’une autre condition suivra.
– RewriteCond %{HTTP_HOST} ^www\.anciendomaine\.com$ : Cette condition vérifie également l’hôte, mais cette fois pour la version www du domaine.
– RewriteRule ^(.*)$ http://www.nouveaudomaine.com/$1 [R=301,L] : Cette règle applique la redirection. ^(.*)$ est une expression régulière qui capture toute la partie de l’URL après le nom de domaine. $1 est utilisé dans la nouvelle URL pour insérer cette partie capturée. http://www.nouveaudomaine.com/$1 spécifie que toutes les requêtes à l’ancien domaine sont redirigées vers www.nouveaudomaine.com avec le chemin d’accès original préservé. [R=301,L] indique que c’est une redirection 301 (permanente) et que cette règle doit être la dernière traitée.