vendredi 1er juillet 2005 — Dernier ajout mardi 22 décembre 2009

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

Retour Sommaire

Situation générale

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

En cas de SPIP mutualisé

En cas, de SPIP mutualisé, le .htaccess est commun à tous les sites. Il faut donc être plus spécifique :

  • La première ligne correspond au domaine que l’on souhaite rediriger
  • La deuxième ligne permet de rediriger en conservant la page demandée

Retour Sommaire

Documents à télécharger

Vos réactions

Participez à la vie du site !