vendredi 1er juillet 2005 — Dernier ajout lundi 9 octobre 2006

Garder son référencement en changeant d’adresse URL

301 Moved Permanently

Votre site a grandi, vous achetez un nom de domaine, prenez un hébergement professionnel et quittez votre hébergeur gratuit.

Et là, patatras ! Vous avez des gens qui continuent à aller sur l’ancien site et le Google Rank de votre site reste sur l’ancien au lieu de venir sur le nouveau.

La problématique est donc de signaler à tous, y compris moteurs de recherche que l’on a changé d’adresse.

Je vais partir du postulat (largement vérifié chez les hébergeurs gratuits) que le serveur web est apache et que PHP est installé/activé.

L’opération se fait en 3 mouvements :

  1. transférer le site sur le nouvel hébergeur (via FTP probablement)
  2. vider l’ancien site
  3. placer sur l’ancien site les fichiers nécessaires pour signaler le changement d’adresse

Retour Sommaire

Théorie du n’habite plus à l’adresse indiquée (301 Moved Permanently)

Dans sa documentation pour les webmasters, Google indique :

Si vos anciennes URL utilisent des redirections HTTP 301 (permanentes), notre robot d’exploration détectera les nouvelles URL. Pour plus d’informations sur les redirections HTTP 301, consultez la page http://www.ietf.org/rfc/rfc2616.txt (en anglais).

En français dans le texte : les normes des protocoles de communication du web (HTTP) ont prévu le cas du déménagement et Google en tient compte.

Retour Sommaire

En pratique, le 301 Moved Permanently

Nous allons mettre en place 3 fichiers :

  • index.php : la page par défaut du site
  • .htaccess : une directive pour le serveur web apache
  • erreur404.php : la page d’erreur du site pour renvoyer sur le nouveau site

Ces 3 fichiers sont à placer à la racine du site.

Retour Sommaire

index.php

La page par défaut du site.

Quelques lignes de PHP pour indiquer aux navigateurs et aux moteurs de recherche que la page a changé d’adresse :

  • Pour les visiteurs, la redirection est absolument transparente
  • Pour les moteurs de recherche, l’index est mis à jour et dans le cas de Google, le PR est transféré

Retour Sommaire

.htaccess

Il s’agit d’un fichier de configuration de votre serveur web apache qui peut changer le comportement de celui-ci.

Cette simple ligne indique au serveur web apache que s’il ne trouve pas une page, il doit afficher à la place la page erreur404.php (le nom est arbitraire).

Retour Sommaire

erreur404.php

La page d’erreur (déclarée dans le .htaccess) du site pour renvoyer sur le nouveau site.

Même fonctionnement que index.php à un détail près : on utilise header("Location: http://www.pyrat.net/.$_SERVER['REQUEST_URI']"); qui permet de renvoyer non plus sur la page d’accueil du nouveau site, mais sur la page demandée sur le nouveau site. Cela est à utiliser sur un site qu’on a simplement déplacé.

Si le site a été refondu dans l’opération (changement de technologie, passage d’un site statique à un site SPIP…), alors une redirection sur la page d’accueil fera l’affaire (idéalement, il faudrait établir une correspondance entre les anciennes URL et les nouvelles, mais c’est particulièrement fastidieux).

Retour Sommaire

Alternative avec .htaccess seul

Cette simple ligne peut être utilisée pour indiquer que toutes les pages de l’ancien site renvoient sur la page d’accueil du nouveau site.

Permet par contre de signaler que l’ancien site a changé de nom de domaine, mais que les URL des fichiers sont transmises à l’identique.

Retour Sommaire

Exemple de sites où l’opération est réalisée :

Vos témoignages

Participez à la vie du site !