L'actualités et les conseils Inbound Marketing

La redirection web : comment faire ?

Rédigé par Jean Boucher | 19 janvier 2016

La complexité de la redirection web réside dans le fait de manipuler votre site internet tout en conservant un bon référencement SEO et en n’impactant pas l’expérience utilisateur.
Même les experts du SEO savent qu'il y a toujours une poussière dans l'engrenage à un moment ou un autre qui peut mettre en péril tous les efforts consentis dans votre stratégie marketing digital. Je me suis dit qu'il serait pertinent d'écrire une sorte de mémo pour ceux qui souhaitent faire une redirection 301 ou tout autre manipulation sur leur fichier htaccess ou ailleurs. Alors bookmarkez cet article, il peut servir plus d'une fois !

Quels sont les différents cas d’usage de la redirection web ?

 

Venir à bout du contenu dupliqué

Il est très probable qu’une page de votre site internet soit accessible via plusieurs URLs. Le risque de laisser plusieurs URLs différentes renvoyer vers une même page et de créer du contenu dupliqué est que cela impacte négativement votre référencement naturel. Dans ce cas, il convient de mettre en place une redirection de ces différentes URLs vers une URL commune renvoyant vers cette même page.

Changer votre nom de domaine 

Vous avez changé votre activité ou votre nom de domaine ne vous convient plus ? Il faudra alors rediriger vos visiteurs vers le nouveau nom de domaine de votre site web à l’aide de redirections web.

Optimiser vos URLs 

Si vous trouvez que vos URLs sont trop longues ou qu’elles ne comportent pas le mot clé principal de la page, vous pouvez décider de modifier ces URLs. Il est important de comprendre que des modifications d’URLs sans redirection peuvent toucher votre site internet car les liens hypertextes associés vont désormais générer une erreur 404 (page introuvable).

La redirection web

 

Juste avant de préciser tous les modes de redirection précisons qu'il existe différentes redirections :

  • La redirection 301 ( ou redirection permanente ) indique au navigateur web et aux robots des moteurs de recherche que la page visitée a définitivement changé d’adresse. Cette redirection est à choisir la plupart du temps car il sera assez rare que vous souhaitiez changer d'URL pour vos pages tous les mois.
  • La redirection 302 ( ou redirection temporaire ) indique au navigateur web et aux robots des moteurs de recherche que la page visitée a temporairement changé d’adresse. Ce mode est à utiliser uniquement si vous ne voulez pas que les moteurs de recherche modifient leurs index. Cela peut être utile si vous modifiez votre page pour une opération particulière ou pour une maintenance relativement longue.

Il existe bien d’autres types de redirection (Balise meta refresh, Javascript ou html, Plugin Wordpress, etc.) mais je vous conseille de privilégier la redirection 301 qui est bien plus efficace en terme de référencement naturel puisqu’elle a l’avantage de transmettre le Pagerank (algorithme utilisé par Google pour noter la popularité des pages Web et les classer).

 

Le fichier htaccess

 

Le fichier .htaccess est ce genre de fichier qu'il faut connaitre pour le trouver, je m'explique. Ce fichier est caché, il sera donc nécessaire de faire une petite manipulation pour le dénicher à la racine de votre site (ou de certains de vos fichiers). De plus vous remarquerez qu'il n'a pas de nom, ce qui n'est pas courant. Pourtant il s'ouvre très bien et s'édite avec un éditeur de texte le plus basique qu'il soit.

A quoi sert-il ? C'est lui qui explique aux robots des moteurs de recherche et aux navigateurs :

  • comment il doit écrire les URL dans le cas de réécriture automatisée
  • et, c'est ce qui nous intéresse ici, où il doit renvoyé les demandes d'URL

C'est lui que nous allons manipuler ici.

Redirection d'une ancienne adresse vers une nouvelle page

 

C'est la base de la redirection, elle est très utile et répondra à de nombreux cas. 

RedirectPermanent /repertoire/page-1 http://www.exemple.net/page-2

En bref, je dis au moteur de recherche que l’ancien site qui se trouvait à cette URL a été redirigé et se trouve à un autre endroit. Dans la majorité des cas, cette page initiale n'existe plus ou a été refondue sous le nouveau site et son URL a pu être modifiée pour être optimisée. Théoriquement avec cette méthode vous êtes bons pour faire toutes vos redirections mais si vous avez plus de 20 pages à rediriger cela devient assez lourd ... Même si avec un coup de main d'excel cela peut aller très vite pour générer les lignes de redirections. C'est alors que d'autres méthodes prennent le relai.

 

 

Redirection d'un répertoire complet

 

Vous avez vos 200 pages de la catégorie "produits anciens" à rediriger vers la nouvelle catégorie "produits vintage", c'est facile avec la redirection de répertoire toujours au niveau du fichier .htaccess.

RedirectPermanent /produits-anciens http://www.exemple.net/produits-vintage

Redirection d'un répertoire vers un sous domaine

 

Cette fois-ci vous avez décidé de passer en sous-domaine la totalité de votre répertoire. Cela peut se produire dans le cas où vous avez décidé de faire un site spécifiquement pour votre catégorie de produits vintage si on reprend notre exemple. Mais cela peut être un morceau ou la totalité du site que vous voulez basculer sous un sous-domaine ...

RewriteCond %{REQUEST_URI} ^/produits-vintage/(.*)
RewriteRule $ http://vintage.exemple.net/%1 [L,R=301]

Dans le cas d'un changement vers un nouveau domaine :

RedirectPermanent / http://www.exemple.net/ 

Redirection 301 en PHP 

 

Il peut être pertinent de faire des redirections en PHP dans certains cas même si, selon moi, idéalement c'est à éviter. Dans le cas d'articles de blog qui passeraient tous sous un nom de domaine cela peut être l'unique solution. Imaginez que vos articles soit structurés ainsi : http://www.exemple.net/titre-article-1 et que vous souhaitez utiliser un sous domaine blog.exemple.net pour des raisons aussi simples qu'avoir un template différent pour le blog que pour le reste du site.

Prenons l'exemple de Wordpress qui est un CMS que j'affectionne particulièrement. Dans le cas des blogs, un article (ou post) est de type "single", pour exercer en PHP la redirection 301 vers le sous-domaine uniquement pour les articles du blog on ajoutera ce code dans le fichier header.php qui pilote entre autres la partie <head> où doit se trouver notre morceau de code.

if(is_single())
{
    global $post; 
    // nous utilisons la variable globale qui permet d'agir sur un article
    
    $slug = $post->post_name; 
    // on va chercher la valeur du nom de l'article
    
    header("Status: 301 Moved Permanently", false, 301); 
    // on définit notre redirection 301
    
    header("Location: http://blog.exemple.net/".$slug); 
    // on indique la redirection et on génère à la volée la nouvelle URL à partir de celle de l'ancien article
    
    exit();
} 

Encore ?

 

Je vous propose de m'indiquer les redirections que j'ai oubliées et je les rajouterai au fur et à mesure, l'idée est que ce mémo devienne de plus en plus exhaustif. J'ai volontairement vulgarisé les méthodes, si vous voulez que j'apporte des précisions, n'hésitez pas à demander !