3 juillet 2019

Le succès de Drupal est fondé en partie sur sa modularité, c’est-à-dire sa capacité à étendre ses fonctionnalités en ayant recours à des modules ou des hooks. De base, Drupal n’est pas optimisé pour le référencement naturel, mais de nombreux modules peuvent être installés pour optimiser différents leviers SEO (En 2019, 141 modules SEO sont disponibles pour Drupal 8 sur drupal.org).

Cet article présente les modules populaires et répondant à de nombreuses problématiques SEO appliquées à Drupal. La seule installation de ces extensions ne permettra pas d’améliorer le référencement naturel. L’aide d’un consultant SEO ou d’un webmaster averti est nécessaire, certaines fonctionnalités pouvant entrainer une chute de trafic et de positionnement sur les moteurs de recherche si mal configurées.

referencement-seo-drupal.png

Vous souhaitez confier l’optimisation du référencement naturel de votre site Drupal ? Contactez-nous !

 

Sommaire de l'article :

 

SEO Checklist

Le module SEO Checklist propose une to-do list avec checkbox à cocher lorsque les optimisations ont été effectuées. L’extension propose plusieurs modules et tâches à réaliser, organisées par fonctionnalités (exemple : URL SEO friendly, Meta tag, contenu…). Pour les modules SEO installés et recommandés par SEO checklist, les liens de téléchargement, d’installation et de configuration sont proposés, pour gagner en efficacité.

Les modules proposés ne sont pas forcément tous nécessaires et ils ne remplacent pas le consultant SEO. Une mauvaise configuration pouvant impacter de manière négative le référencement naturel. Il s’agit plus d’un module destiné aux professionnels du référencement naturel et aux utilisateurs avertis.

 

seo-checklist-drupal.png

SEO on-page

Path (Alias d’URL)

Intégré au core de Drupal, ce module à activer permet de réécrire les URL Drupal par défaut (nodes, taxonomy terms, users) en créant des alias d’URL SEO friendly : compréhensibles par les internautes et optimisés pour les moteurs de recherche. Une fois activé, il est alors possible de personnaliser les URL dans les pages d’administration des contenus.

Exemple, L’URL http://www.example.com/?q=node/67 non optimisée peut être personnalisée en http://www.example.com/ma-page.

 

path-alias-url-drupal.png

Pathauto

Le module SEO pathauto va permettre d’automatiser la réécriture des URL de base de Drupal. Les alias sont générés à partir de modèles (patterns) utilisant des jetons (tokens) que l’utilisateur peut configurer. Généralement, le titre des pages basiques est utilisé pour générer l’URL. C’est une solution intéressante lorsque le nombre de pages est important. L’extension nécessite les modules Token et CTools.

pathauto-alias-url-drupal.png

Meta tag

Le module meta tag va permettre de modifier différentes balises indispensables pour le référencement naturel. Ces balises sont configurables de manière globale et par types de contenus comme les taxonomies par exemple. Il est possible d’affiner le paramétrage par entité, c’est-à-dire page par page.

  • Les balises de base : meta description, title et keywords….
  • Les balises avancées : données géographiques, url canonique, langue, robots, meta news kewords…
  • Les apps links : liens vers des applications android, ios et windows, sur les stores respectifs.
  • Les favicons et Apple touch icon
  • Open graph (accepté par différents réseaux sociaux) & Open graph Products
  • Twitter Cards
  • Drupal site verification (Google, Bing, Baidu, Yandex, Norton, Pinterest)
  • Hreflang Google Custom Search Engine (CSE)
metatag-drupal.png

Schema.org Meta Tag

Schema.org Meta Tag permet d’étendre les fonctionnalités de Meta Tag en offrant la possibilité d’intégrer les données structurées au format JSON LD, intelligible pour les moteurs de recherche. Le volume de propriétés proposé par Schema.org étant trop important et en augmentation, le module ne fournit qu'un sous-ensemble de ces propriétés.

metatag-schema-org-drupal.png

Real-time SEO for Drupal (Drupal Yoast SEO)

Cette extension met à disposition des outils permettant d’évaluer le contenu de chaque nœud selon des critères définis par Yoast. Une liste de suggestions est proposée pour un nœud analysé lorsqu’un contenu est édité. Mais certaines recommandations ne sont plus d’actualité, comme la densité recommandée pour une expression cible. Des recommandations sémantiques auraient été plus utiles (expressions en rapport, champ lexical, expressions utilisées par les concurrents, metamots…). En revanche, l’extrait de lien de résultats de recherche permettra aux éditeurs de contenus de vérifier l’affichage du Title et du contenu de la balise meta name description.

Voici un exemple de recommandations :

  • Présence d’images dans le contenu
  • Intégration du mot-clé cible dans l’URL
  • Taille de la balise TITLE
  • Score de lisibilité (flesh reading ease)
  • Nombre de mots recommandés
yoast-drupal-real-time-seo.png

Accelerated Mobile Pages (AMP)

Le projet AMP (Accelerated Mobile Pages ou pages mobiles accélérées en français) est une initiative open source soutenue par le moteur de recherche Google, dont l’objectif est d’améliorer les temps de chargement des pages web mobiles.

Cette extension permet de convertir les pages Drupal en pages conformes à la norme AMP. Le module nécessite d’autres extensions : AMP PHP Library, AMP Theme et Schema.org Metatag (pour la version 8.2).

module-amp-drupal.png

Image Lazyloader

Ce module permet de mettre en place le chargement progressif des images (lazyload). C’est une solution permettant de réduire la charge utile et le temps de chargement initial de la page, sans faire l’impasse sur le contenu.

Le chargement de ressources non critiques (généralement sous la ligne de flottaison ou hors écran) est différé au moment du besoin. La perception du temps de chargement par les internautes est améliorée. En plus d’améliorer les scores Lighthouse ou Pagespeed, l’objectif est de retenir l’internaute sur le site.

Ce module n’est pour le moment disponible dans sa version stable que pour Drupal 7, en espérant que le projet continue à être maintenu (il comptabilise tout de même près de 64 000 téléchargements).

Les fonctionnalités sont élémentaires :

  • Par défaut le module utilise la version « minimifiée » de la bibliothèque Javascript utilisée.
  • Pour de meilleures performances, il est possible de charger la bibliothèque depuis un serveur CDN.
  • L’image de rechargement peut être customisée.
image-lazyloader.png

SEO on-site

Simple XML sitemap & XML Sitemap

Les modules Simple XML sitemap & XML Sitemap permettent de générer un plan du site au format XML conforme au standard de http://www.sitemaps.org/.

Même si un maillage interne étudié permet aux robots des moteurs de recherche de trouver toutes les pages, cela peut être plus difficile pour les sites très volumineux et internationaux. Le sitemap XML permettra « d’aider » les bots des moteurs de recherche.

Ce fichier permet aussi de vérifier l’état d’indexation sur différents moteurs de recherche des pages choisies pour indexation depuis les consoles Google, Bing, Baidu ou encore Yandex.

 

Simple XML sitemap

Le module propose des fonctionnalités avancées comme la gestion de variantes de sitemap permettant de gérer le multilingue. Il est possible d’intégrer les nœuds, mais aussi d’autres entités comme les vues, les termes de taxonomies ou les utilisateurs. Les sitemaps peuvent être mis à jour régulièrement à l’aide de taches cron.Dans l’absolu, il n’y a donc pas besoin de reconstruire le fichier à chaque publication de contenu. Les sitemaps peuvent être scindés afin de répondre aux exigences de Google de 50 000 URL par fichier. Autres fonctionnalités : il est possible d’intégrer des liens personnalisés.

simple-xml-sitemap-drupal.png

XML Sitemap

Plus ancien que Simple XML sitemap, ce module intègre certaines fonctionnalités que son rival ne propose pas encore, comme l’envoi automatique du stiemap aux moteurs de recherche. Cependant, il n’intègre pas les standards relatifs au multilingue (intégration des attributs hreflang dans le sitemap), contrairement à Simple XML Sitemap. A noter qu’en juillet 2019, le module n’est toujours pas disponible en version stable pour Drupal 8.

xml-sitemap-drupal.png

RobotsTxt

Ce module sera particulièrement utile pour les installations Drupal multisite. Il permet de remplacer le fichier déposé à l’installation de Drupal et donc d’avoir des configurations différentes selon les sites.

Il sera aussi utile pour les référenceurs, qui ne devront pas demander l’intervention de développeurs pour la mise à jour de directives, comme l’intégration de l’adresse du ou des sitemaps XML (pas besoin de commit pour un changement de ligne dans un fichier texte). La modification des fichiers robots.txt se fait par une interface web depuis le back-office.

Pour que le module remplace le fichier robots.txt existant, il faut renommer ou supprimer l’existant à la racine de l’installation Drupal.

robotstxt-drupal.png

Breadcrumb

Easy Breadcrumb

Ce module permet de mettre en place un bloc plug-and-play à intégrer dans les pages. Il permettra d’automatiser le maillage interne et de proposer une expérience utilisateur (UX) satisfaisante. Le module utilise l’URL actuelle (pour être SEO Friendly, l’utilisation des path alias est indispensable) et le node title actuel pour extraire les segments qui permettront de générer automatiquement le fil d’ariane.

easy-breadcrumb-drupal.png

Menu Breadcrumb

Ce module permet de gérer le fil d’ariane à l’aide des menus définis pour le site. Il est possible de sélectionner les menus à utiliser pour la génération du fil d’ariane. Le titre de la page courante peut être inclus, avec possibilité de le rendre cliquable ou non.
Pour Drupal 8, si aucun menu ne permet de construire le fil d’ariane, celui-ci est construit d’une autre manière (construction par défaut, basé sur le chemin et le titre de la page). Si une page ne contient que le lien de la page d’accueil, une option est disponible pour le pas afficher le breadcrumb.

Si l’option « Taxonomy Attachment » est sélectionnée pour un menu, et si la page en cours appartient à une taxonomie figurant dans ce menu, elle héritera du fil d'Ariane du menu de la page de taxonomie. Option intéressante pour les entrées de blog qui ne figurent dans aucun menu par exemple.

 

menu-breadcrumb-drupal.png

Redirect


Le module redirect permet de mettre en place des redirections 3XX. Les différents codes pris en charge sont les suivants :

  • 300 Multiple Choices
  • 301 Moved Permanently - utile en SEO lorsqu’une ressource a définitivement changé d’URL
  • 302 Found - utile en SEO lorsqu’une ressource a changé d’URL temporairement
  • 303 See other
  • 304 Not Modified
  • 305 Use Proxy
  • 307 Temporary Redirect

Associé au module Pathauto, il permet de rediriger automatiquement une URL ayant été modifiée (lorsqu’un pattern ou un token a été modifié par exemple).

À partir de Drupal 8, le module intègre les fonctionnalités du module Global Redirect, comme la redirection automatique vers les URL canoniques et le retrait des trailing slash.


Pour un référencement naturel optimisé, il peut être nécessaire d’avoir recours à des développements permettant notamment de mettre en place des règles de redirection, notamment pour les sites e-commerce, afin de gérer la fin de vie de produits. Attention également aux redirections en cascades.

 

redirect-drupal.png

Path redirect import

Cette extension permet d’importer une liste de pages à rediriger à l’aide de fichiers CSV ou txt. Idéal pour importer en masse des URL à la suite d’une migration partielle par exemple. Path redirect import est compatible avec le module Redirect.

À partir de Drupal 7, le format de données à charger doit être de la forme suivante : « 'old url', 'new_url', 'redirect_code' = 301, 'language' = '' », le champs langage étant optionnel.

path-redirect-Import-drupal.png

Hreflang

Les balises hreflang permettent de signaler les versions traduites ou localisées de pages aux moteurs de recherche Google et Yandex.
Le module hreflang était surtout utile pour les versions inférieures à Drupal 8. Depuis la version 8, le module intégré au Core « content translation » ajoute automatiquement les balises hreflang sur les entités.

Avec la gestion des balises intégrée au « module content translation », lorsqu’un contenu est disponible dans deux langues, les balises hreflang pointant vers les deux langues sont intégrées sur les deux entités. Lorsque certains contenus ne sont pas traduits, il n’y a qu’une seule balise intégrée, pointant vers la page elle-même.

Dans une configuration où certaines pages sont traduites et d’autres non, le module hreflang ajoute des balises de gestion des langues même lorsque des pages ne sont pas traduites. Les pages pointées ne renvoient pas vers une page en erreur 404, mais vers une URL existante reprenant le contenu non traduit. Ce qui est assez problématique, puisque le même contenu est disponible depuis différentes URL (duplications de contenu). Sans oublier que le balisage hreflang ne permet pas de résoudre les problèmes de duplication de contenu.

À noter que pour le moment, seuls les codes langue sont gérés par les modules (metag, content translation et hreflang), les codes région nécessitent un développement spécifique.

module-hreflang-drupal.png

Sitemap

Ce module permet de créer un plan du site au format html. Une solution simple à mettre en place pour créer du lien vers les pages les plus pertinentes. Il permet aussi d’afficher les flux RSS pour les blogs et les catégories. Le module permet d’afficher en plus des contenus, les vocabulaires avec leurs termes et la profondeur des termes. Les menus existants peuvent être sélectionnés et être affichés en listant les éléments.

sitemap-drupal.png

Search 404

Ce module permet de remplacer la page 404 basique. Lorsqu’un internaute accède à une URL renvoyant une erreur 404, le module réalise une recherche à l’aide des expressions présentes dans l’alias URL et propose une liste d’URL internes pouvant être en rapport avec la ressource non disponible.

Le module permet de renvoyer une liste de résultats de recherche ou de rediriger l’utilisateur vers le premier résultat de recherche (possible dans le cas où il y a un ou plusieurs résultats). Dans le cas où les résultats sont pertinents, le module peut aider à améliorer le taux de rétention. Dans le cas ou l’utilisateur est redirigé, les redirections sont gérées avec envois de statuts http 301 ou 302. C’est une solution « fallback » dans le cas où les redirections de pages supprimées ne sont pas gérées (mais une gestion pas optimale).

L’option de redirection est compatible avec Core, Apache Solr, Lucene et Xapian.

search-404-settings-drupal.png

Outils d’analyses

Google Analytics

Le module Google Analytics ne permet pas seulement de mettre en place l’outil d'analyse d'audience de la firme de Mountain View. Il offre des fonctionnalités avancées :

  • Suivi de domaine unique, avec sous-domaine(s) et multiples domaines de premier niveau
  • Tracker de manière sélective ou exclure certains utilisateurs, rôles et certaines pages
  • Suivi des liens (téléchargements, liens sortants et mailto)
  • Suivi des fichiers téléchargés sur les pages
  • Prise en charge des dimensions et métriques personnalisées avec les tokens
  • Extraits de codes personnalisés
  • Support de recherche sur site
  • Suivi des publicités AdSense
  • Prise en charge des données démographiques et des centres d'intérêt (ex-remarketing DoubleClick)
  • Anonymisation possible les adresses IP des visiteurs
  • Prise en charge de DoNotTrack (contenu non mis en cache uniquement)
  • Suivi des messages Drupal (état, avertissement, erreur)
  • Suivi des contenus affichés dans les de fenêtres « modal » (Module Colorbox – affichage d’images en overlay, contenu inline…)
  • Tracking des codes réponses autres que 200 : accès refusé (403) et page introuvable (404)
  • Mise en cache du code de suivi en local pour améliorer les temps de chargement des pages
  • Prise en charge améliorée de Link Attribution
  • Suivi des Users ID sur différents terminaux
  • Les Fragments d’URL peuvent être trackés en tant que pages vues (pageviews)
  • Mode de débogage avec analytics_debug.js

Universal Analytics (UA) est supporté à partir des versions 7.x-2.x, 8.x-2.x. Global Site Tag (gtag.js) est supporté à partir de la version 8.x-3.x.

google-analytics-drupal.png

GoogleTagManager

Ce module permet de mettre en place le gestionnaire de balise GTM sur les sites Drupal. L’ID de conteneur doit simplement être renseigné pour utiliser le module. Il est possible de conditionner la pose de tags sur les pages. Les conditions sont possibles sur les URL (paths), les rôles utilisateurs et les codes d’états http (404 ou 403 par exemple).


Le module peut être associé aux extensions Commerce Google Tag Manager et dataLayer.

  • La première permet de mettre en place le suivi Enhanced Ecommerce pour Drupal Commerce.
  • Le second permet de créer des couches de données qui seront envoyées à Google Tag Manager.
google-tag-manager-drupal.png