charles09-telechargement
  Le guide des redirections pour le referencement
 

Le guide des redirections pour le référencement

charles09, Lundi 28 mars 2009

Il arrive fréquemment que, sur un site web, des pages web disparaissent ou changent d'adresse. Lorsque cela arrive, il est nécessaire d'en aviser les moteurs afin de leur indiquer la marche à suivre et notamment leur soumettre la nouvelle adresse d'une page déjà référencée (et parfois bien positionnée). Or il existe plusieurs façons de mettre en place cette signalisation, certaines méthodes étant à éviter. Voici donc une revue de ces procédures et nos conseils pour mettre en place une redirection efficace pour votre référencement…

Note : Cet article complète mon article d'initiation aux différents types de redirections.

Il est bien rare que l'on habite au même endroit pendant toute sa vie : régulièrement, on est amené à déménager. Il faut alors préparer ce changement, et penser à prévenir tous ceux qui connaissaient l'ancienne adresse, pour qu'ils envoient désormais le courrier à la bonne adresse. Pour gérer tous les cas oubliés, on utilise souvent un service de la Poste qui redirige tout le courrier de l'ancienne vers la nouvelle adresse, pendant une période donnée.

Il en est exactement de même sur le web : il est bien rare qu'une page web ne change jamais d'adresse (URL). Parfois même, c'est tout un site qui change d'adresse. Ces perpétuels changements gênent les internautes qui ont du mal à retrouver leurs pages favorites (bookmarks) ; ils posent problème également aux moteurs de recherche qui parcourent le web pour indexer les pages.

Les standards du web ont bien entendu prévu ce cas de figure et mettent à disposition des webmasters un dispositif tout à fait similaire à celui fourni par la Poste : les redirections. Le principe est tout simple : si un internaute tente d'accéder à une page pour laquelle le webmaster a prévu une redirection, son navigateur lui affichera la nouvelle page au lieu de l'ancienne, sans même qu'il ne s'en rende compte (nous verrons qu'il y a des exceptions).

Utilité d'une bonne redirection

Pour que les robots des moteurs de recherche interprètent correctement la redirection, il faut que l'entête HTTP envoyé avec la page corresponde au statut de cette dernière (l'entête HTTP est envoyé par le serveur web avec chaque page, il contient des informations sur la page utilisées par les navigateurs ou les robots ; vous pouvez utiliser mon analyseur d'entête HTTP).

Voici un exemple d'en-tête (pour le site www.lemonde.fr) :

HTTP/1.0 200 OK
Server: Apache
Content-Length: 150654
Content-Type: text/html
X-Auth-Control: mod_auth_lemonde
ETag: "33737b-18787-48689d68"
Cache-Control: max-age=40
Date: Mon, 30 Jun 2008 08:55:32 GMT
Connection: close

Le code renvoyé ici a une valeur de 200 (première ligne), signifiant que “tout est OK”.

Si une page a changé d'emplacement dans votre site, il faut que l'ancienne URL fasse une redirection vers la nouvelle en utilisant un entête HTTP qui précise que cette page a changé définitivement d'adresse (code 301 ou “redirection permanente”). Cela permettra au robot de ne plus venir indexer l'ancienne URL, et de mettre à jour son index en affectant la nouvelle URL à la page.

Si vous ne mettez pas de redirection depuis l'ancienne URL, le robot obtiendra une erreur 404 et ne sera pas forcément au courant de la nouvelle adresse. Dans ces conditions, vous risquez de rester des mois avec un site mal indexé…

Les différents types de redirection

On distingue deux grandes familles de redirections :

  • Les redirections serveur
  • Les redirections client

Redirections serveur

Les redirections serveur sont entièrement gérées par le serveur web, et non par le logiciel client (le navigateur). Si vous souhaitez optimiser votre référencement, utilisez uniquement des redirections serveur.

Il existe 2 types de redirection serveur :

  • Les redirections définitives ou permanentes (code 301)
  • Les redirections temporaires (code 302)

Si vous déplacez une page dans votre site de manière définitive, il faut absolument utiliser une redirection 301. En PHP, vous pouvez par exemple utiliser ce code tout en haut du fichier PHP situé à l'adresse de la page ayant bougé (si vous n'utilisez pas PHP, voir la suite de cet article) :

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.votresite.com/
nouvelle-page.htm");
exit();

Remarque : il ne faut pas aller à la ligne comme dans cet exemple où l'URL a été coupée en allant à la ligne pour des questions de mise en page

Les moteurs de recherche interprètent bien cette redirection, et mettent à jour automatiquement leur index en remplaçant l'ancienne URL par la nouvelle.

Si de manière temporaire une page, un répertoire ou même un site est inaccessible (pour maintenance par exemple), il peut être intéressant de définir une redirection vers une autre page (ou site) le temps que la maintenance soit terminée. Dans ce cas, il faut utiliser une redirection de type 302 :

header("Status: 302 Moved Temporarily", false, 302);
header("Location: http://www.votresite.com/
page-temporaire.htm");
exit();

Les moteurs de recherche n'interprètent pas tous cette redirection de la même façon. En règle générale, ils ne suppriment par de leur index la page qui est redirigée ; par contre ils associent à la page cible les caractéristiques de la page de départ. Ceci peut avoir de fâcheuses conséquences puisqu'un webmaster mal intentionné peut mettre en place sur son site une redirection 302 vers une page populaire, attendre que les moteurs considèrent que les 2 URL correspondent à la même page, puis supprimer la redirection pour mettre en place une page standard, bénéficiant alors parfois du PageRank et des backlinks (liens entrants) de la page “piratée”.

Ce problème de page hijacking est bien connu des référenceurs et des moteurs de recherche. Yahoo utilise depuis l'été 2005 une parade en considérant qu'une redirection 302 entre 2 pages de domaines différents doit être interprétée comme une redirection 301 (ce qui supprime tout intérêt pour les pirates).

De très nombreux webmasters utilisent des redirections 302 en pensant bien faire, alors qu'ils devraient utiliser une redirection 301. C'est le cas par exemple de très nombreux annuaires, qui au lieu de faire des liens “en dur” vers les sites inscrits (un lien en dur est un lien classique et non une redirection), font des redirections 302. Il y a alors parfois des confusions sur certains moteurs entre la page de redirection sur l'annuaire et celle du site inscrit (dans les résultats de recherche, l'URL du site de l'annuaire peut remplacer celle du site inscrit).

Il est déconseillé de s'inscrire dans de tels annuaires, surtout si votre site est récent. Vous pouvez utiliser mon outil de détection des redirections

Redirections client

Redirection par balise META Refresh

La redirection est définie par la balise META http-equiv=”Refresh”. Elle donne l'ordre au navigateur de rediriger l'internaute vers une URL spécifiée au bout d'un certain nombre de secondes.

Exemple (redirection vers la page “nouvelle-page.html” au bout de 5 secondes) :

<meta http-equiv="Refresh" content="5;URL=nouvelle-page.html">

Pour le référencement : il ne faut pas l'utiliser ! En effet, cette balise a trop souvent été utilisée en fixant le nombre de secondes à zéro, en général pour faire une page satellite. A proscrire si possible (nous avons rarement eu vent de problèmes liés à l'utilisation de ce type de redirection, mais il est de toutes façons préférable de passer par une redirection de type 301).

Redirection JavaScript (ou tout autre langage côté client)

La redirection est définie par une fonction JavaScript qui modifie l'URL de la page à afficher, sans modifier l'entête HTTP.

Exemple :

<script type="text/javascript">
<!--
window.location.replace("http://www.un-site.com/une-page.htm");
-->
</script>

Pour le référencement : il ne faut pas l'utiliser ! Les robots ignorent le JavaScript, ils ne suivront donc pas une telle redirection. D'autre part, ce type de redirection est également souvent le “signe” d'une page satellite, technique de plus en plus dangereuse en rapport à la “chasse au spam” des moteurs. A ne surtout pas utiliser donc !

Cas des pages ayant disparu de manière définitive

Si vous supprimez une page sur votre site mais que vous n'avez pas de nouvelle page qui la remplace, vous avez le choix entre deux options :

  1. Soit faire supprimer définitivement cette page de l'index des moteurs.
  2. Soit rediriger cette page vers une page d'explication (ou la page d'accueil du site).

Pour supprimer une page définitivement, le plus simple est de renvoyer un code HTTP 410 (”ressource plus disponible”). Si vous ne faites rien de spécial, un code 404 sera renvoyé, et les robots reviendront pendant longtemps voir si cette page est toujours introuvable (code 404). En PHP, vous pouvez par exemple utiliser ce code tout en haut du fichier PHP situé à l'adresse de la page supprimée :

header("Status: 410 Gone", false, 410);
exit();

Ou, pour rediriger une page supprimée vers une page d'explications :

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.votresite.com/explications.htm");
exit();

Utiliser des directives sur le serveur

Ecrire un petit code PHP au début de chaque page supprimée ou déplacée peut vite devenir fastidieux. Il est donc souvent plus efficace de définir les redirections directement sur le serveur., au travers d'un fichier nommé “.htaccess”. Voici quelques exemples pour le serveur Apache (notez qu'il faut mettre un ou plusieurs espaces entre la directive, la page à rediriger et la page redirigée, et qu'il ne faut pas aller à la ligne) :

Rediriger de manière définitive la page /test/actu.html vers la page /actualites/index.html :

RedirectPermanent /test/actu.html  http://www.votresite.com/actualites/

Rediriger de manière définitive le répertoire /articles (et toutes ses pages) vers le répertoire /actualites/articles/ :

RedirectPermanent /articles   http://www.votresite.com/actualites/articles

Autre façon de faire :

RewriteRule /articles  /actualites/articles [R=301]

Rediriger de manière temporaire le répertoire /outils vers la page /maintenance.htm :

RewriteRule /outils  /maintenance.htm [R=302]

Rediriger de manière définitive le répertoire /archives vers le site http://www.mes-archives.net/ :

RedirectPermanent /archives   http://www.mes-archives.net/

Définir une page d'erreur 404 personnalisée :

ErrorDocument 404   /erreur-404.php

Attention, ne mettez surtout pas une adresse commençant par http sinon le code serait 302 au lieu de 404. Le code suivant n'est pas bon :

ErrorDocument 404 http://www.votre-site.com/erreur-404.php

Le plus simple est ensuite d'insérer ces lignes dans un fichier nommé .htaccess situé à la racine de votre site.

Vous pouvez également utiliser un fichier .htaccess dans chaque répertoire, et n'y indiquer que ce qui concerne le répertoire en question (et éventuellement ses sous-répertoires).

Attention : le nom de ce fichier est particulier : il n'a pas de nom mais uniquement une extension (si on raisonne avec la logique Windows…). Pour créer ce fichier, ouvrez un éditeur de texte (Notepad fera l'affaire) et enregistrez-le sous le nom htaccess.txt ; ensuite, une fois que vous l'aurez transféré par FTP sur votre site, utilisez le logiciel de FTP pour le renommer en .htaccess uniquement.

Attention également : en cas d'erreur de syntaxe à l'intérieur du fichier, vous pouvez bloquer entièrement votre serveur (erreur 500). Dans ce cas le mieux est d'annuler les derniers changements, de remettre en ligne l'ancien fichier .htaccess et de réfléchir à ce qui peut causer problème.

Si vous avez accès au serveur (serveur dédié et non mutualisé), il est possible de définir ces directives dans le fichier de configuration d'Apache directement (httpd.conf) ; ceci dépasse le cadre de cet article et ne sera donc pas détaillé ici.

Conclusion

Un site web est en perpétuelle mutation. Il est quasiment certain qu'un jour ou l'autre vos pages web changent d'adresse ou disparaissent. Pour ne pas perdre le bénéfice d'un référencement, vous devrez absolument prendre en compte ces redirections et signaler aux moteurs de recherche la nouvelle situation. Tout devrait alors bien se passer si vous utilisez notamment les redirections 301 à bon escient, comme indiqué dans cet article. Votre situation, en termes de référencement, ne devrait pas en pâtir et la transition s'effectuer en douceur… Raison de plus pour apporter le plus grand soin à cette procédure…

RewriteRule /outils  /maintenance.htm [R=302]
 
  deja 98421 visiteurs faite tournné se lien http://charles09-telechargement.fr.gd/Page-d-h-accueil.htm  
 
Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement