Projet web Drupal : anticiper le SEO et appliquer les bonnes pratiques
Le SEO est une des facettes de tout projet web pour laquelle nos clients ont des objectifs forts. Ce n’est donc pas par hasard que Drupal est souvent plébiscité pour démarrer un projet : ce CMS permet de répondre à un grand nombre de besoins requis par un site web d’envergure, doté d’une forte volumétrie de contenus, d’utilisateurs et souvent connecté à des services tiers.
Comment inscrire son projet Drupal dans une démarche « SEO friendly » ?
Comme dans tout projet web, c’est dès la conception que les aspects SEO doivent être anticipés. Pour cela, on trouve une multitude d’articles sur le sujet, notamment sur la meilleure façon de mettre en place une stratégie webmarketing (par exemple en fonction des mots clés et du positionnement souhaité…). Ici, nous abordons les aspects techniques d’une mise en place SEO. La stratégie de mise en place est souvent définie par une équipe dédiée au SEO. À l’issue de la définition des attentes SEO, il est bienvenu de fournir un cahier des charges dédié à destination des équipes de réalisation (UX/UI et dev). Ce cahier des charges se doit d’être orienté sur les exigences attendues par les moteurs de recherches (principalement Google).
Lors de la réalisation, les principaux éléments à anticiper sont les suivants :
Lors des phases UX/UI
Il est crucial d’identifier dès la conception du site, le découpage des éléments permettant de définir la sémantique du contenu, comme par exemple le niveau des titres par rapport à la profondeur des pages et à la hiérarchisation de l’information, ou encore la présence d’un fil d’ariane et de l’arborescence. Tout cela doit s’inscrire de manière homogène par rapport à l’ensemble du produit.
Lors des développements
Voici maintenant une liste d’exigences non exhaustive qui peut constituer un socle de bonnes pratiques lors de la conception technique de son applicatif web :
- Assurer la compatibilité avec Google en favorisant le crawl
- Utiliser le fichier robots.txt
- Définir le plan de site XML et HTML Pour Drupal, prévoir l’utilisation d’alias url, afin de ne pas indexer les url construites avec node/[nid]
- Donner accès au site avec ou sans « www »
- Valider le site via la Google Search Console
- Assurer la qualité du code HTML
- Prévoir la mise en place automatique de la contribution des balises meta description d’un contenu (title, meta, open graph…), tout en laissant la main à l’utilisateur pour optimiser ces éléments
- Optimiser la gestion des images et vidéos (médias compréhensibles par les robots en utilisant les bonnes balises et attributs)
- Limiter le contenu dupliqué en identifiant le contenu référent sur un sujet traité, à l’aide de l’url canonique
- Pour les contenus trop pauvres et n’ayant pas vocation à être référencés, utiliser la meta rel noindex Pour les contenus faisant référence (par exemple) à un PDF qui reprend ce contenu, mettre en place la meta rel nofollow pour éviter le contenu dupliqué
- Optimiser la gestion de la structure de pages niveaux de titres (Hn) Côté Drupal, bien concevoir le rendu de ses entités afin de générer une sémantique optimisée
- L’accessibilité sert le SEO à travers le complément d’information qu’il apporte (attributs alt, aria-label…)
- Assurer l’accès au contenu
- Concevoir des patterns cohérents afin de générer des url propres
- Prévoir la réécriture des url (alias vs node/[nid])
- Redirection 301 : permet lors d’une refonte de « transférer » les acquis SEO d’un domaine existant
- Privilégier l’accès vers une page 404 à 403 si un contenu est dépublié
- Attention à un fil d’ariane trop personnalisé ; il doit permettre d’identifier l’arborescence du site (plutôt que l’historique de navigation)
- En fonction du type contenu, privilégier l’utilisation des micro-formats (actualités, shopping, localisation, …)
- Configuration côté serveur et optimisation de la performance
- Privilégier le protocole HTTPS
- Prévoir un seul point d’entrée au niveau du domaine (ex : http://monsite.com > https://www.monsite.com)
- Les ressources JS et CSS doivent être servies de manière performantes (CDN, agrégation, HTTP2...)
- Mesurer la performance, en fonction du temps de chargement des pages, en donnant une attention particulière au mobile, via notamment l’optimisation et le support AMP (sur les contenus à vocation éditoriale)
- Privilégier le chargement des assets de manière asynchrone (lazy loading) : css, images, vidéos, scripts...
- Configurer la gestion des caches (applicatif, memcached, varnish)
En multi-langue
Il est important de gérer les aspects liés au SEO lorsque le site propose plusieurs langues de consultation. Les bons réflexes à avoir sont principalement de :
- Définir les patterns de langue du site en fonction de la norme iso 639
- Déclarer la langue du contenu dans le DOM
- Définir les attributs hreflang
- Rediriger automatiquement vers les contenus traduits en fonction de la langue courante
- Veiller à ne pas intégrer des contenus dans plusieurs langues sur une même page.
- Veiller à traduire les éléments masqués tels que les attributs alt, title, aria-label...
Et du côté des modules de la communauté Drupal ?
Voici une liste des modules à paramétrer pour répondre aux besoins SEO du site. Encore une fois il s’agit d’une liste non-exhaustive, basée sur Drupal 8 :
- Metatags et ses sous-modules : gestion des métadonnées et d’autres règles avancées (metatags hreflang, favicon, microformat product…)
- Redirect : gestion des redirections
- Pathauto : gestion des alias
- Simple Sitemap : génération du sitemap.xml
- Sitemap : génération du sitemap html (page plan du site)
- Easy Breadcrumb : génération du fil d’ariane
- Glossify : glossaire de mot clé, pour le maillage des contenus
- Token : gestion de token à destination des contenus
Comment obtenir un aperçu de ses performances SEO ?
Le navigateur Chrome met à disposition des développeurs dans sa console, la partie “Audit”, basée sur l’outil Lighthouse. Cet outil permet d’avoir un aperçu sur différents aspects :
- Performance SEO
- Performance liée au chargement : il permet d’émuler plusieurs types de connexion internet rapides et lentes sur mobile et desktop
- Audit des bonnes pratiques web (sémantique, validation du code source...)
- Accessibilité
Enfin, même si les aspects techniques sont bien en place, c’est sur les contenus que reposent l’efficacité de la stratégie SEO. C’est enfin au Content Manager de s’assurer que les éléments fondamentaux sont bien contribués dans le CMS, à l’aide des outils mis à sa disposition. Pour conclure, cette approche qualité / SEO permet avant tout de se poser les bonnes questions lors de la mise en place d’un projet web. Bien que cet article soit orienté Drupal, ces bonnes pratiques sont tout à fait compatibles avec d’autres CMS ou technologies, lorsque les objectifs définis dans la stratégie SEO sont atteints.
Franck Fernandez - Expert technique Drupal - Digital Solutions & Vincent Lachambre - Chef de projet web - Digital Solutions