Le principe d'une redirection 301 est de rediriger de façon permanente une URL vers une autre.
Par exemple, on souhaite que si l'internaute tape dans la barre d'adresse www.lamaisondezelie.net ou lamaisondezelie.net, ces deux actions doivent aboutir au chargement de l'URL www.lamaisondezelie.net.
Les cas les plus fréquents de redirections 301 visent à changer le nom de diomaine d'un site, orienter une page vers une autre ou gérer les différentes syntaxes des URLs.
Pourquoi est-ce important?
Cette démarche est essentielle car elle garantit :
- une bonne expérience du visiteur sur le site (on évite l'affichage de la pages 404 ou "URL inconnue"),
- de conserver le Page Rank/Trust Rank d'une ancienne page et d'en faire bénéficier la nouvelle page équivalente,
- surtout cela permet d'éviter de dupliquer du contenu de façon involontaire et ne pas pénaliser de façon dommageable le positionnement du site sur les moteurs de recherche. Eviter le contenu dupliqué est une préoccupation essentielle de toute stratégie SEO.
Pourquoi ne pas privilégier les outils de redirection intégrés à Joomla (plug in et composant) ?
- Le composant intégré à Joomla permet de gérer des redirections d'une page vers une autre, son utilisation est donc restrictive,
- Cela reste à prouver, mais le fichier .htaccess étant l'un des tout premiers fichiers chargés losr d'une connexion, il semble logique que son exécution soit plus rapide qu'une lecture de la base de données de Joomla (les paramétrages de redirection sont stockées dans des tables spécifiques),
- D'un point de vue sécurité, un fichier .htaccess est théoriquement plus sécurisé qu'une base de données (voir ci-après un code de sécurisation de son accès).
- Pour être certain de ne pas être considéré par Google comme un site de redirection.
Ces raisons sont mineures dans la grande majorité des configurations (sauf bien entendu le premier point qui est restrictif); donc l'utilisation du composant natif de redirection de Joomla est parfaitement justifiée notamment par sa simplicité. Il existe des composants complémentaires qui permettent de gérer tous les cas de redirection, notamment le très largement SH404SEF, payant mais très puissant.
Exemples de redirections à mettre en place:
- monsite.com vers www.monsite.com
Solution dans le fichier .htaccess :
RewriteEngine on
RewriteCond %{HTTP_HOST} ^monsite.com$
RewriteRule ^(.*) https://www.monsite.com/$1 [QSA,L,R=301]
NB: par souci de cohérence, ne pas oublier de paramétrer comme domaine favori www.monsite.com dans Google Webmaster Tools. - www.monsite.com/index.php vers www.monsite.com
Si votre template le permet, une solution existe dans le fichier index.php , tout en haut du fichier :
<?php
if($_SERVER['REQUEST_URI'] == '/index.php') {
header("Location: /",TRUE,301);
exit();
}
?> - www.vieuxsite.com vers www.nouveausite.com
Solution dans le fichier .htaccess de www.vieuxsite.com :
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nouveausite.com/$1 [R=301,L]
- www.monsite.com/url-ancienne vers www.monsite.com/url-nouvelle (lorsqu'on renomme une page déjà indexée)
Solution dans le fichier .htaccess :
RewriteCond %{HTTP_HOST} ^www.monsite.com/url-ancienne
RewriteRule ^(.*) http://www.monsite.com/url-nouvelle [QSA,L,R=301] - www.monsite.com/dossier-ancien vers www.monsite.com/dossier-nouveau (lorsqu'on renomme une arborescence déjà indexée, par exemple une catégorie)
Solution dans le fichier .htaccess :
RewriteRule ^dossier-ancien/(.*)$ /dossier-nouveau/$1 [QSA,L,R=301]
- www.monsite.com/dossier-ancien (et toutes les pages qu'il contient) vers www.monsite.com/nouvelle-url
Solution dans le fichier .htaccess :
RedirectMatch 301 ^/dossier-ancien.* http://www.monsite.com/nouvelle-url
Cas particulier qui n'est pas une redirection : l'URL canonique
www.monsite.com/url-detail-articles soit n'a pas besoin d'être indexée soit doit être indexée avec les paramètres d'une URL globale (exemple : www.monsite.com/url-globale-categorie ).
L'avantage de cette URL globale dite "canonique" est que les moteurs de recherche lisent ce paramètre dans le code source et ne considèrent pas ces nombreuses URLs comme des contenus dupliqués.
Dans le code source de la page "détail" on a <link href="/url-globale-categorie " rel="canonical" /> .
Le composant SH404SEF, évoqué plus haut permet ce paramétrage.
Le composant gratuit TAG META est amplement suffisant pour ce type de notion de base.
Sécurisation du fichier .htaccess (et configuration.php)
Code à placer en début de de .htaccess en-dessous de "## Mod_rewrite in use"
RewriteEngine On
<Files .htaccess>
order allow,deny
deny from all
</Files>
<Files configuration.php>
order allow,deny
deny from all
</Files>
Quelques liens utiles:
Autres exemples de codes de redirection http://forum.webrankinfo.com/des-codes-pour-redirection-htaccess-t110832.html
Une bonne synthèse des causes techniques de contenu dupliqué et des solutions pour y remédier http://forum.webrankinfo.com/des-codes-pour-redirection-htaccess-t110832.html
Documentation Apache pour comprendre la syntaxe du fichier .htaccess et les expressions rationnelles.
Cpanel :
L'espace de paramétrage des "Redirections" est le reflet du fichier ".htaccess" Cela signifie qu'une modification (ou une erreur) dans le fichier ".htaccess" sera affichée dans cet espace.
Les hébergeurs conseillent de modifier, si on sait le faire, le fichier ".htaccess" qui est lu en premier lors du chargement d'un site.
C'est une subtilité, ne pas toucher au fichier ".htaccess" et uniquement paramétrer les redirections par Cpanel, n'est pas pénalisant.