Redirections 301 (noyau de Joomla vs .htaccess)
La mise en place de redirections ad hoc est souvent une activité essentiel de tout consultant en référencement. C'est la solution à de nombreuses erreurs de paramétrages de site. Voici quelques exemples de problèmes qui nous amènent à mettre en place des redirections :
- Refonte de sites avec modification de la structure d' URL
- Modifications d'un suffixe, par exemple passage d'URL se terminant par .html à des URLs propres
- Liens morts qui provoquent des erreurs 404
- Changement de l'alias d'un article ou d'un élément de menu
- URLs dupliquées dont nous voulons nous débarrasser
- Etc.
Comme expliqué dans l'article précédent, vous devez éviter autant que possible les erreurs 404 (page non trouvée). Bien sûr, nous ne pouvons pas toutes les éviter. Par exemple si un utilisateur se trompe en écrivant mal une URL, il est difficile de le prévoir (à moins d'être au courant des fautes de frappe commises par les internautes). Mais dans beaucoup d'autres cas, elles peuvent être évitées facilement. En particulier, si vous migrez d'un ancien site vers un nouveau, vos URLs changeront. Lorsque les utilisateurs ne mettent pas à jour leurs boomarks, ils se retrouvent sur les anciennes URLs, qui n'existent plus. En outre, l'index de Google mettra un certain temps à se mettre à jour et continuera à envoyer les utilisateurs des résultats de recherche vers vos anciennes URLs. Cela peut avoir un impact considérable sur votre classement dans les moteurs de recherche ! Il en va de même pour les changements de moindre importance. Si vous changez l'alias d'un article ou d'un élément de menu, l'URL changera également.
La solution consiste à déterminer quelles sont vos anciennes URLs et à les re-router vers les nouvelles. Techniquement, cela doit se faire par le biais d'une redirection 301. Une telle redirection est accompagnée d'un code de déplacement permanent (301). Ce code indique à Google et aux autres moteurs de recherche que l'ancien lien ne doit plus être utilisé et les informe également de la nouvelle URL. Vous devez veiller à ce que la nouvelle URL corresponde le plus possible à l'ancienne. Dans l'exemple d'une refonte de site, où toutes les URL sont modifiées, vous pouvez mettre en place des redirections de deux manières :
- Si vous êtes peu motiver, vous pouvez choisir de laisser de rediriger tous les liens automatiquement vers la page d'accueil. Vous aurez alors au moins informé Google que l'ancienne URL a été redirigée, mais vous risquez de perdre tous les classements que vous avez obtenus pour ces pages.
- Il est préférable de rediriger les liens page par page. Cela représente beaucoup plus de travail, mais donne de bien meilleurs résultats.
Ensuite, il faut également se demander quand appliquer les redirections. Dans le cas de situations planifiées (comme une refonte), l'ancienne et la nouvelle structure URL sont connues. La meilleure solution consiste alors à déterminer et à corriger ces URLs avant de procéder à la modification de votre site. Mais tant que vous les corrigez rapidement après le changement d'URLs, tout devrait bien se passer : dans ce cas, il vous suffit de surveiller vos pages 404 et de les corriger une à une.
Le composant de Redirections de Joomla
Joomla est livré avec un mécanisme de surveillance des erreurs 404 qui vous permet également de définir une cible de redirection. Notez que cela ne fonctionne que pour les erreurs 404 effectives, vous ne pouvez pas rediriger une URL valide, car elle ne génère pas une erreur 404.
Pour utiliser le gestionnaire de redirections, allez dans Système -> Gérer -> Redirections et vous les verrez listées dans le Gestionnaire de Redirections . La première fois que vous l'utiliserez, vous serez informé que vous devez d'abord activer le plugin Système Redirection dans le Gestionnaire de Plugins. Bien sûr, il doit d'abord être activé, et vous avez également la possibilité d'activer l'option Collecte d'URLs.
La raison pour laquelle il est désactivé par défaut est que la base de données pourrait être saturée d'URLs de redirection si vous ne les surveillez pas. Tous les sites ont des redirections, même les sites correctement configurés. Cela est principalement dû aux bots et aux pirates qui parcourent votre site à la recherche "d'exploits". C'est pourquoi je vous conseille de surveiller régulièrement (sur une base mensuelle) ou de ne surveiller les URLs qu'à des moments où vous savez que vous pouvez vous attendre à des problèmes d ' erreur 404 (par exemple, après une refonte du site) et de désactiver la collecte par la suite. Je choisis généralement cette dernière option.
Dans le gestionnaire de redirections, vous verrez maintenant une liste des URLs qui ont générées des erreurs 404 :
Les erreurs étranges comme celles mentionnées ci-dessus peuvent être ignorées, elles proviennent probablement de robots d'indexation ou de bots. Mais il peut aussi s'agir de véritables erreurs. Si vous en voyez une, cliquez dessus :
L'ouverture d'un élément spécifique vous permettra d'entrer la nouvelle URL (relative ou absolue) et d'activer l'enregistrement.
Redirections groupées
La méthode décrite jusqu'à présent vous permet de définir des redirections une par une. Cependant, il existe également une option permettant d'acheminer plusieurs URLs groupées vers une même URL de destination. Pour ce faire, sélectionnez les URLs que vous souhaitez modifier et définissez une nouvelle destination dans le champ situé sous la liste :
Cela peut vous faire gagner beaucoup de temps. Notez que les URLs sont activées immédiatement, il n'est pas nécessaire de les paramétrer séparément.
Gestionnaire de redirections : stopper de l'enregistrement de nouvelles URLs
Il y avait un petit inconvénient au composant de redirection : En effet tant que le plugin était activé, il continuait à enregistrer toutes les erreurs 404. Certains sites souffrent d'erreurs 404 étranges (souvent générées par des pirates et des bots) en permanence, ce qui peut sérieusement remplir les logs, il vous faut être vigilant sur ce point. Cela peut même remplir votre base de données jusqu'à la saturer ! Vous pouvez bien sûr nettoyer manuellement les enregistrements erronés, mais cela peut s'avérer très long & difficile. Auparavant, la seule alternative consistait à désactiver le plugin, mais cela rendait également les redirections existantes inactives. Cependant, depuis Joomla 3.4, il existe un nouveau paramètre dans le plugin Système - Redirection (accessible depuis le gestionnaire de Plugin ). Il s'agit du paramètre Collecte d' URLs :
Tant qu'il est activé, il continue à collecter les URLs, mais s'il est désactivé, il cesse de le faire, mais les redirections configurées précédemment restent actives. C'est vraiment la seule fonctionnalité qui manquait au composant, et maintenant c'est un composant extrêmement utile que je vais vraiment utiliser !
Par ailleurs, une autre fonction un peu cachée est le bouton Activer le mode avancé dans les Paramètres générales du Gestionnaire de redirections. Il ne vous indique pas immédiatement ce qu'il fait, mais il vous donne la possibilité de spécifier le code de réponse HTTP dans vos redirections individuelles. La valeur par défaut est une redirection 301, mais vous avez désormais la possibilité de la modifier à votre guise. Je ne vois pas la nécessité directe de le faire, mais au moins vous avez la possibilité de le faire maintenant.
Une alternative au Gestionnaire de Redirections consiste à les créer manuellement dans le fichier .htaccess
Créer ses redirections avec le .htaccess
Souvent, il peut être tout aussi facile d'effectuer vos redirections 301 dans le fichier .htaccess. Cette méthode est souvent utilisée, en particulier par les personnes plus compétentes sur le plan technique. De plus, ces redirections ont un léger gain de performance, car elles sont exécutées avant l'activation de Joomla. Pour les utiliser, définissez vos URLs de source et de destination, et entrez l'exemple de code suivant
RewriteRule ^oldpage1$ "http://newsite.com/newpage1" [R=301,L] RewriteRule ^oldpage2$ "http://newsite.com/newpage2" [R=301,L] etc.
L'avantage est qu'il s'agit d'une méthode très précise pour gérer vos redirections. Aucune extension n'est nécessaire, pour autant que vous sachiez ce que vous faites. De plus, les performances sont moins affectées, car ces redirections sont exécutées par le logiciel du serveur Apache avant même que Joomla ne soit activé.
Vous pouvez également rediriger des URLs en masse à l'aide de patterns. Par exemple, le code suivant peut être utile lorsque vous modifiez le paramètre d'ajout d'un suffixe .html (dans la configuration globale) de Oui à Non. Le bloc de code suivant redirigera alors toutes les URLs avec un suffixe .html vers l'URL correspondante sans ce suffixe :
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\.html$ /$1 [L,R=301]
(Notez que la première ligne est généralement présente par défaut, placez donc les 3 autres lignes après celle-ci).
Consultez cette URL pour un grand nombre d'exemples avancés : www.gist.github.com/ScottPhillips/1721489
Enfin, n'oubliez pas vos images ! Elles doivent être redirigées au même titre que les pages « normales ». Voir cet article de blog ici : www.gsqi.com/marketing-blog/how-to-redirect-images-during-website-redesign-or-migration.
Inconvénients possibles des redirections 301 pour le référencement
Notez que lorsque vous redirigez une URL, la « valeur » de l'ancienne URL est en grande partie transférée à la nouvelle, mais pas à 100 %. Dans cette étude réalisée par Moz, il a été constaté que 10 à 15 % des classements moyens étaient perdus lorsque les URLs étaient redirigées. C'est un point à prendre en considération, en particulier lorsque la redirection n'est pas indispensable, par exemple lorsque vous souhaitez simplement une URL légèrement plus propre que l'URL existante (par exemple /swimming-pool au lieu de /swimmingpool-constructor). Lorsque je redesign un site, j'essaie toujours d'utiliser exactement les mêmes URLs de l'ancien site, dans la mesure du possible.
Extensions de redirections
Bien sûr, il y a des extensions pour cela aussi. Il y en avait quelques unes de bien pour Joomla 3, mais il semble que beaucoup d'entre elles ont été abandonnées et ne sont plus supportées. Personnellement, j'utilise principalement l'outil Redirects de l'extension 4SEO pour les situations où le gestionnaire de redirection de base ne fournisse pas de solution.
Cet article est une traduction libre du tutoriel de Simon Kloostra : 301-redirects (Joomla core vs .htaccess)