Redirection 301
La redirection 301 est définie dans le document RFC2616 qui dit qu’”une nouvelle adresse a été définitivement allouée à la ressource demandée et toute référence future à cette ressource DEVRAIT utiliser la nouvelle adresse inidiquée“.
Les navigateurs modernes suivent automatiquement ces redirections 301. Ils affichent également la nouvelle adresse dans la barre d’adresse.
Conformément à RFC2616, cette même nouvelle adresse sera celle éventuellement ajoutée aux favoris du navigateur.
La norme recommande donc d’utiliser la redirection 301 quand le changement d’adresse d’une page est permanent.
Redirection 301 et moteurs de recherche
Selon RFC2616, les moteurs de recherche devraient remplacer automatiquement l’URL qui fait une redirection 301 par l’adresse destinataire de la redirection et ils devraient sauvegarder cette dernière comme adresse officielle du contenu concerné.
Quand une page a changé d’adresse de manière permanente, Google recommende d’ailleurs d’utiliser une redirection 301. Bizarrement, le numéro 1 des moteurs de recherche a parfois besoin de plusieurs semaines, voire de plusieurs mois, pour prendre en compte cette information dans les résultats de recherche.
Quand utiliser une redirection 301
La redirection 301 est la meilleure technique de redirection quand une page a changé d’adresse et que vous souhaitez que les moteurs de recherche remplace l’ancienne adresse par la nouvelle dans leur index. La nouvelle adresse bénéficiera de la réputation existante de l’ancienne. Le contenu de la nouvelle page peut être différent, mais le thème de la page devrait être identique.
Redirection 301 avec un fichier .htaccess
Si votre serveur permet l’utilisation d’un fichier .htaccess, plusieurs techniques sont disponibles pour définir une redirection 301:
- redirection permanente définie simplement
“Redirectpermanent“, “Redirect permanent” et “Redirect 301” sont des commandes équivalentes. Elles sont suivies du nom de fichier ou de répertoire à rediriger et de l’adresse de destination de la redirection.
- redirection permanente définie au moyen d’expressions régulières
“RedirectMatch 301 regex URL-destination” et “RewriteRule regex URL-destination [L,R=301]” permettent d’utiliser des expressions régulières pour préciser l’origine et la destination de la redirection.
Ces techniques peuvent être utilisées pour éviter le “duplicate content”, comme dans les cas présentés ici:
Voici quelques autres exemples simples:
- Rediriger une page
RedirectPermanent /ancien-dossier/ancienne-adresse.html http://www.domaine.com/nouveau-dossier/nouveau-fichier.html - Rediriger tout un dossier (chaque page de l’ancien dossier est redirigée vers la page de même nom dans le nouveau dossier)
RedirectPermanent /ancien-dossier http://www.domaine.com/nouveau-dossier - Rediriger tout un site (chaque page de l’ancien site est redirigée vers la page de même nom dans le nouveau site)
RedirectPermanent / http://www.domaine.com/
Puis deux exemples équivalents utilisant des expressions régulières:
- Rediriger les adresses .html vers les adresses .php correspondantes
RedirectMatch 301 (.*)\.html$ http://www.domaine.com$1.phpRewriteEngine on
RewriteRule ^(.*)\.html$ http://www.domaine.com$1.php [L,R=301]
Et un exemple un peu plus complexe d’une redirection fonction de la “query string” (variable après le point d’interrogation). Elle redirige:
- /index.php?couleur=bleu vers http://www.domaine.com/bleu.html
- /index.php?couleur=rouge vers http://www.domaine.com/rouge.html
- /index.php?couleur=jaune vers http://www.domaine.com/jaune.html
- …
RewriteEngine on
RewriteCond %{QUERY_STRING} ^couleur=(.*)$
RewriteRule ^index\.php$ http://www.domaine.com/%1.html? [L,R=301]
Redirection 301 par un script
On a vu que les expressions régulières dans le .htaccess permettait d’adapter la redirection à des besoins spécifiques. On peut aller encore plus loin en exécutant la redirection à l’intérieur d’un programme exécuté sur le serveur (PHP, Perl, ASP ou autre).
- Exemple en PHP:
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.domaine.com/nouveau-dossier/nouveau-fichier.html");
exit();
?>
Test d’une redirection 301
annuaire-info vous propose gratuitement son outil de test des redirections. Cet outil analyse l’en-tête HTTP et le contenu de la page pour identifier en quelques secondes les redirections 301, 302 et HTML (meta refresh).
Il manque juste une information à l’article : combien de temps est-ce que google peut mettre pour prendre en compte la redirection 301 dans ses résultats ?
Ecrit le 5 décembre 2007 à 18h58 par EEE
Avec une redirection 301, l’ancienne adresse sera remplacée par la nouvelle adresse, dans les pages de Google, quelques jours après la visite de l’ancienne adresse par Googlebot. Cela va donc très vite pour les pages crawlées fréquemment et nettement plus lentement pour des pages crawlées rarement.
Ecrit le 12 décembre 2007 à 10h56 par Jean-Luc
oui ça depend de la fréquence de passage du robot de google sur la page concernée
Ecrit le 1 juin 2008 à 5h29 par enzo
Je viens de faire la redirection 301 ce matin, mais qlq chose qui m’étonne c’est que google reconnaissait mon nouveau nom de domaine avant la redirection, puis il l’a ignorée et ensuite il l’a reconnue dans les résultats de recherche, puis encore une fois il l’a ignorée. Maintenant ça fait deux jours que mon nouveau nom de domaine est en attente de revenir sur les pages des résultats. J’espère que Monsieur Google fasse vite cette fois-ci.
Ecrit le 2 août 2008 à 22h07 par coursgratuits.net
Un peu de patience. Monsieur Google
a des milliards de pages à traiter et mettre à jour le plus souvent possible !
Ecrit le 2 août 2008 à 22h21 par Jean-Luc
Merci pour toute cette documentation concernant les redirection… C’est vrai que c’est important de les mettre en place lorsqu’on change des urls pour conserver son positionnement et l’indexation des pages!!!
Ecrit le 15 décembre 2008 à 10h49 par Sun location
Aaaah; bien, je cherchais comment rediriger mon site j’ai enfin la réponse, je ne comprenais pas très bien avec les multiples solutions qui existe mais ton explication (par répertoire, un site entier…) est très claire, je bookmark, merci !
Biz,
Estelle
Ecrit le 2 avril 2009 à 14h03 par Estelle