Makina Blog
Drupal & SEO : améliorer le référencement naturel de votre site
Une vision subjective et argumentée des modules à utiliser pour améliorer le référencement naturel d'un site Drupal.
On retrouve régulièrement sur les internets des articles de blogs sur l'optimisation de référencement d'un site Drupal, mais ces articles se résument souvent à une liste de modules avec leurs fonctionnalités, sans aucun commentaire ou point de vue subjectif sur les modules, et nous constatons lors de nos audits techniques de référencement qu'on trouve effectivement tout et n'importe quoi dans ce domaine.
Nous allons essayer d'y remédier dans cet article. Attention, ce n'est pas une introduction au référencement, mais nous présentons quelques modules Drupal qui sont de bonnes pratiques.
Drupal "core"
Drupal sans aucun module communautaire additionnel permet finalement assez peu de choses : le module "Path" permet de réécrire des URLs "techniques" (comme node/1) en URL "humaines" (comme "mentions-legales"). Il est indispensable de le faire.
Modules recommandés
Pathauto
Pour profiter pleinement de la fonction de réécriture des URLs décrite ci-dessus, le module Pathauto est le compagnon indispensable. Il réécrit en effet automatiquement les URLs à partir de composants des contenus (le titre, la hiérarchie de menu, la date de création, …).
Sa configuration de base est d'utiliser "content/[node:title]" pour les URLs des contenus. Nous avons tendance à systématiquement la surcharger. Voici actuellement une configuration que nous utilisons régulièrement sur nos projets (en plus de translitérer systématiquement (en utilisant le module Transliteration) pour éviter la suppression des lettres accentuées) :
- le motif utilisé par défaut pour les contenus est "[node:content-type:machine-name]/[node:title]", permettant de séparer les URLs par type de contenu, et donc de contextualiser l'URL, de préciser l'information ;
- pour tous les types de contenus pour lesquels la date est importante (actualités, événements), le motif reprend la date : "actualites/[node:created:custom:Y]/[node:created:custom:m]/[node:created:custom:d]/[node:title]" (à noter que dans ce cas précis, enlever n'importe quelle partie de l'URL mène à une Views contenant des arguments de date permettant de renvoyer une page avec du contenu adapté quelque soit la modification de l'URL réalisée par l'utilisateur ;
- pour les pages basiques (mentions légales, à propos de nous, ou tout autre contenu composé principalement d'un éditeur de texte de riche), nous utilisons le motif "[node:menu-link:parents:join-path]/[node:title]". L'URL reprend alors exactement la hiérarchie de menu, permettant là encore aux visiteurs d'accéder à une page en modifiant manuellement l'URL (ce que Jakob Nielsen appelle des URLs "hackables" : http://www.nngroup.com/articles/url-as-ui/).
En Drupal 8, la configuration par défaut a disparu, et il faut donc penser à configurer le module. Le fonctionnement est sinon identique. À noter que le module Translitération est inclus dans le cœur de Drupal, et n'est donc plus à installer séparément.
Metatags
Historiquement réalisée en Drupal 6 par le module "Nodewords", Drupal 7 a vu dès le début la création du module "Metatags Quick". Cependant, depuis un peu plus d'un an, le module Metatag, beaucoup plus puissant, est la solution que nous préconisons.
Outre la plupart des balises META classiques, le module gère la balise TITLE (rendant le module "Page Title" inutile). Il offre de plus la possibilité de gérer toutes les balises OpenGraph / TwitterCards, permettant à vos sites de contrôler la façon dont ils sont partagés sur les principaux réseaux sociaux.
La configuration par défaut du module est plutôt bonne, mais elle peut être ajustée facilement dans l'écran de configuration si besoin, de façon globale, ou pour un type de contenu donné, ou enfin de façon ciblée pour un seul contenu.
Ce module est identique en terme d'interface et de fonctionnalités en Drupal 8.
Fil d'Ariane
Nous vous présentons l'ensemble des modules Drupal permettant de gérer le fil d'Ariane dans un autre article.
Modules possibles
Robotstxt
Le module RobotsTxt vous permet de contrôler via l'interface le fichier robots.txt, qui guide le crawling des robots des moteurs de recherche. D'un intérêt limité (voir nul) en mono-site, il prend tout son sens en multi-site où vous pouvez alors proposer un fichier différent pour chaque site / domaine.
Redirect
Le module Redirect permet de créer des redirections d'URLs vers une autre. Utilisé souvent lors d'une migration de site (pour conserver le référencement des URLs précédentes), il permet également, dès qu'il activé, de créer automatiquement un redirect dès qu'un alias d'URL est modifié (ce qui peut arriver si vous utilisez Pathauto et que vous modifiez un des composants de l'URL réécrite, notamment, le titre).
Schema.org
Le module Schema.org permet d'implémenter la norme http://schema.org/, permettant de fournir aux moteurs de recherches des informations additionnelles, sémantiques, sur votre contenu, et modifiant ainsi parfois l'affichage de vos résultats sur ces moteurs (incitant ainsi les gens à cliquer sur votre site).
Une grosse partie du module est intégrée au cœur de Drupal 8, seule l'interface pour permettre une configuration par le webmaster réside désormais dans le module RDF UI.
On trouve énormément d'autres modules liés au web sémantique : knowledge_graph, sdm (Structured Data Markup), efb (présenté dans un article précédent), microdata), mais certains sont incompatibles entre eux. Ici, pas le choix, il va falloir tester, en fonction de votre besoin précis.
Site Verification
Le module Site Verification, s'il ne joue pas sur votre référencement, vous permet d'ajouter les vérificateurs demandés par Bing / Google Webmasters Tools. Là encore, c'est utile pour les multi-sites.
Les fonctionnalités de ce module ont été intégrées dans le module Metatag sur Drupal 8.
Search 404
Le module Search 404 permet d'effectuer directement une recherche sur les mots de l'URL en cas de page 404, et d'éventuellement rediriger vers une page existante, diminuant le nombre de pages 404s sur votre site, et surtout, faisant économiser quelques clics aux utilisateurs qui utiliseraient de vieilles URLs de votre site (un apport plus ergonomique qu'en terme de référencement donc).
Autres modules
XMLSitemap
Pour générer un fichier sitemap.xml, il existe un module XMLSitemap. Ce module fonctionne, mais est composé de nombreux sous-modules, la configuration n'est pas forcément très intuitive (avec des duplications générées par les modules XMLSitemap Menu et XMLSitemap Node, par exemple), et il était historiquement assez lourd. De plus, nous considérons que sur un site de taille modeste, c'est l'organisation hiérarchique du contenu qui doit guider les robots des moteurs de recherche, la sitemap ne constituant alors qu'un palliatif à un site mal organisé.
Sur un site de taille plus conséquente, la sitemap se justifie, pour des stratégies de longue traine notamment. Mais il est tout à fait possible de la générer de façon externe, sans surcharger votre Drupal. Voir à ce sujet par exemple l'article http://technosophos.com/2010/02/15/5-differences-moving-xml-sitemap-module-googles-sitemap-generators.html.
À noter que la version Drupal 8 n'est pas encore fonctionnelle, et qu'il est possible d'utiliser l'alternative plus légère Simple XML Sitemap.
GlobalRedirect
Souvent recommandé dans les listes de modules orientés "référencement", GlobalRedirect force la redirection d'une page accédée par "node/1" vers sa version réécrite "mentions-legales". Si votre site est bien conçu, dans le respect des APIs Drupal, l'URL node/1 ne devrait jamais être présente, et jamais accédée. Le module représente alors là aussi un palliatif à des problèmes de conception ou de réalisation du site. De plus, le module Metatag implémente les balises META Canonical indiquant la bonne version de la page, et il est possible de modifier le fichier robots.txt pour empêcher le crawling des pages en node/*, user/*, …
Il est cependant courant de trouver ce module activé sur un site Drupal, et il fonctionne très bien. Cette fonctionnalité a été intégrée au module Redirect, présenté plus haut, lors de sa refonte pour Drupal 8.
Plan du site
Pour générer une page "plan du site", le module site_map existait historiquement. Depuis 2 ans, on trouve aussi le module MenuTree. Les 2 fonctionnent de façon identique, aucun n'est maintenu à l'heure actuelle. Le module MenuTree possède l'avantage d'avoir dans l'issue queue un patch assurant la compatibilité avec i18n_menu (patch réalisé par Makina Corpus).
Pour Drupal 8, le module site_map a été porté sous le nom sitemap, et aucune alternative n'existe à l'heure actuelle.
Internationalisation
La gestion de l'internationalisation est plutôt bien faite par une suite de module en Drupal 7, et directement par le cœur en Drupal 8. Cependant, d'un point de vue SEO, il manque la gestion de la balise hreflang, fournie par le module du même nom. Il est également possible d'utiliser en Drupal 7 le module i18n_contrib.
Les nouveautés de 2016
Accelerated Mobile Pages (AMP)
Une des grandes nouvelles de l'année, c'est bien sûr la proposition par Google d'un nouveau standard, AMP (sous-ensemble des balises HTML / CSS / Javascript), permettant à certains logiciels clients d'afficher plus rapidement les pages web compatibles. Il existe naturellement un module AMP pour Drupal permettant le support automatique du format par Drupal.
Vous trouverez plus d'informations sur l'article de blog rédigé par les auteurs du module (en anglais).
YoastSEO
Vous aurez peut-être suivi avec attention la sortie pour Drupal de ce module bien connu des utilisateurs de Wordpress. Je n'ai malheureusement pas encore de retour d'expérience à vous proposer.
Conclusion
Comme on le voit, il existe de nombreux modules implémentant directement certaines fonctionnalités, et il est assez facile d'implémenter beaucoup de bonnes pratiques du référencement dans Drupal. Cependant, ces modules apportent des fonctionnalités techniques pour mettre en valeur le contenu adapté au public que vous visez. Connaissez votre cible, apportez leur du contenu pertinent, ayez un site techniquement propre avec les modules que nous conseillons ici, et le reste suivra.
Vous pouvez également venir poser vos questions à nos experts Drupal lors d'une formation Drupal administrateur.
Formations associées
Actualités en lien
Matomo, l'alternative open source à Google Analytics
Le 10 février 2022, la CNIL a mis en demeure un gestionnaire de sites web qui utilise Google Analytics. Nous vous proposons ici des alternatives Open Source parmis lesquelles Matomo, l'outil de mesure d'audience que nous utilisons sur notre site makina-corpus.com !
Démystifions le référencement
Une présentation du SEO pour les développeurs qui n'y croient pas.
SEO : introduction technique au référencement
Le référencement (ou Search Engine Optimization) est un (très) vaste sujet. Voici une introduction à sa partie technique.