Nous allons donc parcourir dans cet article les bonnes pratiques pour référencer de manière optimale un site Drupal sur les moteurs de recherche. Pour cela, nous allons parcourir les différents modules qui permettent d’ajouter cette couche SEO à Drupal.
SEO Check List
http://drupal.org/project/seo_checklist
En guise d’introduction, nous allons aborder un premier module qui permet une vision globale de l’optimisation d’un site sur Drupal.
En effet, le but de ce module est d'obtenir une check list des bonnes pratiques SEO pour ce CMS. Nous allons reprendre l’ensemble de ces éléments que préconise ce module.
Page Title
http://drupal.org/project/page_title
Pour commencer, nous allons commencer par l’optimisation des titres des pages. En effet, le titre des pages a un poid considérable dans le référencement des différentes pages d’un site internet.
Le module Page Title permet de réaliser cette fonctionnalité en ajoutant une grande flexibilité dans la génération des titres des différents types de contenu. Ce module fonctionne parfaitement avec le module Token afin de configurer simplement cette partie avec des codes spécifiques : [page-title] | [site-name]
Figure 2. Configuration de la generation automatique des titres
Nodewords
http://drupal.org/project/nodewords
Ce module, bien qu'ayant un nom un peu bizarre, est indispensable sur Drupal. Il permet la génération des balises meta pour chaque type de contenu (aussi appelé node sur Drupal). Son action principal est donc de permettre l’ajout de balise Keyword et Description pour chaque contenu.
Cela m’étonne toujours que ce module n’ai pas encore été porté sur Drupal 7. Un autre module du nom de Metatags est en cours de développement mais la version alpha n'est pas encore disponible. De mon point de vue, cela représente encore un frein considérable pour basculer vers Drupal 7.
Nodewords se configure très simplement sur la page d’édition d’un contenu. En amont, il faut bien sur avoir activé la génération des balises Keyword et Description dans le menu de configuration de Nodewords.
Figure 3. Activation de la génération des metas tags
Une option intéressante de Nodewords est de permettre la génération des balises automatiquement. En effet, il est possible de générer automatiquement la balise meta description en fonction d’un champ particulier du contenu (ex: teaser).
Figure 4. Configuration de la génération automatique des metas tags
Clean URLs, Pathauto et Path redirect
http://drupal.org/project/pathauto
http://drupal.org/project/path_redirect
Nous allons maintenant aborder l’optimisation des URLs d’un site sur Drupal.
La première action à réaliser est bien sur d’activer l’option Clean URLs de Drupal. Cette option se configure dans le menu configuration de l’administration de Drupal. Votre serveur doit bien sur avoir un moteur pour réécrire les URLs. En cochant cette option, les URLs changent de cette manière :
http://localhost/akabia-drupal-6/?q=admin/settings/clean-urls
http://localhost/akabia-drupal-6/admin/settings/clean-urls
Ensuite, le module Pathauto permet un contrôle très flexible sur les URLs générées par Drupal. En effet, de la même manière que Nodewords, ce module va permettre de configurer manuellement les URLs de chaque module.
Il permet également de générer automatiquement les URLs en suivant les règles de gestion que vous avez défini. La configuration de cette fonctionnalité se fait simplement grâce à l’utlisation du module Token.
Figure 5. Configuration de la génération des URLs
Enfin, il peut être parfois nécessaire de réaliser des redirections d’anciens contenus vers de nouveaux contenus. Par exemple, dans le cadre d’un changement de nom de produit ou d’un changement de nom d’article important. L’intérêt est de pouvoir mettre en place une redirection pour ne pas perdre le référencement de l’ancienne URL.
Path Redirect est le module Drupal qu’il vous faudra pour mettre en place ce genre d’action. La configuration est très intuitive et permet de réaliser ces redirections de manière très simple.
XML Sitemap
http://drupal.org/project/xmlsitemap
Comme l’ensemble des CMS, Drupal dispose d’un module pour générer automatiquement le sitemap dans un format XML. Cela permet par la suite de le soumettre au différents moteurs de recherche. Par exemple, sur Google, il faut se rendre sur Google Webmaster Tools afin de soumettre le sitemap de l’ensemble du site.
Il est à noter que le sitemap se met à jour automatiquement en se regénérant via le CRON de Drupal. Il est possible d’automatiser l’exécution du CRON via le module Poormanscron.
http://drupal.org/project/poormanscron
Pour aller plus loin
En guise d’ouverture, je vais parler de 3 autres points qui me paraissent importants.
Souvent, le robot.txt reste délaissé or il est d’une importance considérable. En effet, il permet de définir précisément ce que les moteurs de recherche vont indéxer. De base, le robot.txt est bien configuré mais il présente cependant quelques problèmes. Par exemple, on retrouve la ligne suivante :
Disallow: /contact/
Cela précise de ne pas référencer cette page. J’insiste donc sur l’importance de bien configurer ce fichier suivant vos besoins. Afin de vérifier que ce fichier est bien pris en compte par Google, vous pouvez le retrouver sur Google Webmaster Tools.
Le .htaccess est aussi une pièce maîtresse du référencement. En effet, c’est ce fichier qui gère notamment la réécriture d’URLs au travers de la commande suivante :
RewriteEngine on
Ce fichier va permettre de définir de manière définitive si vous souhaitez ou non afficher les www devant le nom de votre site. Par exemple, pour ne pas les afficher, vous allez ajouter les lignes suivantes :
# To redirect all users to access the site WITHOUT the 'www.' prefix, # (http://www.example.com/... will be redirected to http://example.com/...) # uncomment and adapt the following: # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Enfin, la performance d’affichage d’un site est un critère important et Drupal est l’un des meilleurs sur ce domaine donc autant l’utiliser! Cela passe bien sur dans un premier temps par l’activation du cache de Drupal qui s’active dans la partie back office de Drupal. Par la suite, des modules permettent d’aller encore plus loin dans le caching du site. Pour des sites à forte affuence, Boost Module vous permettra de mettre en cache l’ensemble des pages pour un affichage optimal.
http://drupal.org/project/boost
Google met à disposition un outil dans Google Webmaster Tools afin de vérifier le temps de chargement du site. Vous allez le retrouver dans le menu Crawl stats. Il y a aussi le plugin de Firebug Page Speed qui va permettre d’avoir des conseils pour optimiser l’affichage des pages de votre site.
Conclusion
Au travers de cette article, nous avons vu l’ensemble des modules Drupal qui permettent d’ajouter la couche SEO à ce CMS. La liste de ces modules est résumée dans le module SEO Check List. Cependant, il en reste encore d’autres que nous n’avons pas abordé.
Nativement, Drupal n’est pas un CMS orienté SEO mais l’ensemble de ces modules permettent d’ajouter cette couche SEO d’une manière beaucoup plus flexible que sur d’autres CMS. La plupart de ces modules ne sont pas encore compatibles avec Drupal 7 et c’est pour cela que je n’utilise pas encore cette version en production. Cependant, la plupart des modules en sont déjà à leur version Beta sur Drupal 7 il va donc bientôt être possible de migrer sur Drupal 7 afin de profiter de l’amélioration considerable de son API.
http://api.drupal.org/api/drupal/7