Accueil / Blog / Métier / 2013 / Drupal & SEO : améliorer le référencement naturel de votre site

Drupal & SEO : améliorer le référencement naturel de votre site

Par Simon Georges publié 20/06/2016
Une vision subjective et argumentée des modules à utiliser pour améliorer le référencement naturel d'un site Drupal 7 ou 8.
Drupal & SEO : améliorer le référencement naturel de votre site

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 7 et Drupal 8 sont traités.

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)

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.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Gérer ses dépendances Drupal 7 avec Composer Gérer ses dépendances Drupal 7 avec Composer 08/12/2016

Drupal.org distribue maintenant les modules et thèmes dans son propre dépôt Packagist, voyons ...

Utiliser Migrate en Drupal 8 Utiliser Migrate en Drupal 8 20/12/2016

Trucs, astuces et points d'attention pour l'import de données avec Migrate en Drupal 8.

Utiliser des bundles Symfony dans Drupal 7 Utiliser des bundles Symfony dans Drupal 7 19/12/2016

Notre module Drupal Symfony DIC permet d'apporter la puissance de Symfony, dans Drupal, ...

Utiliser le DIC de Symfony dans Drupal 7 Utiliser le DIC de Symfony dans Drupal 7 14/12/2016

Afin de préparer la compatibilité vers Drupal 8, il est possible de créer des composants avec le ...

Développer avec Twig dans Drupal 7 Développer avec Twig dans Drupal 7 25/06/2015

Utiliser Twig dans Drupal 7, c'est possible ! Découvrez comment prendre de l'avance sur Drupal 8, ...