Référencement instantané sur les moteurs avec Index Now sur Drupal

Index Now qu’est-ce que c’est ?

Index Now est un protocole permettant aux propriétaires de sites web d’informer instantanément les moteurs de recherche des dernières modifications apportées à leurs contenus. En envoyant des requêtes aux moteurs de recherche dès qu’un contenu est créé, modifié ou supprimé, il permet de ne pas attendre plusieurs jours, semaines, mois que les robots des moteurs de recherche indexent le contenu d’un site.

Ça vous fait surement penser à PubSubHubBub qui avait été mis en place par Google il y a quelques années.

A l’heure où nous rédigeons cet article seuls les moteurs de recherche Microsoft Bing et Yandex utilisent le protocole. Google de son côté le teste depuis plusieurs mois et il a fort à parier qu’il rejoigne l’aventure.

Comment utiliser le protocole IndexNow avec Drupal ?

Choosit a développé un module mis à disposition de la communauté Drupal qui permet en quelques clics de prendre en compte les créations, mises à jour et suppressions de contenus (nodes), termes de taxonomie et également des produits de la brique commerce.

Le module est compatible Drupal 9 / 10 et est disponible ici : https://www.drupal.org/project/index_now

Une fois qu’il est installé, il suffit d’accéder à l’interface de configuration du module par le biais du menu d’administration “Configuration” > “Services Web” > “Index Now”

Cette page de configuration est accessible aux utilisateurs qui ont la permission “Configure Index Now”  (définissable en accédant à “Utilisateurs” > “Droits” depuis le menu d’administration)  :

Menu d’administration Index Now

Configuration du module Index Now :

Configuration module Index Now

Il suffit de générer une clé d’API en haut du formulaire pour que le module soit réellement actif (si vous ne générez pas de clé d’API, le module ne fera rien).

Nous vous conseillons de ne générer une clé d’API que sur vos environnements de production ; Il n’y a en effet aucun besoin d’indexer vos pages sur des environnements locaux ou de pré-production qui ne seront de toute façon pas accessibles par les moteurs de recherche. Enfin, on a déjà vu quelques preprod indexées, mais c’est une autre histoire 🙂

Exclure des types de contenu : 

Il est ensuite possible d’exclure des types de contenus, vocabulaires de taxonomie et/ou types de produits pour lesquels on ne voudrait pas utiliser ce protocole.

Enfin on peut choisir le moteur de recherche avec lequel on veut interagir en sachant que les moteurs de recherche qui utilisent le protocole partagent entre eux les informations de créations, mises à jour et suppressions d’une page.
Si vous interagissez avec un moteur de recherche, vous interagissez en fait avec tous les moteurs de recherche utilisant le protocole.

Une fois le formulaire soumis, rien de plus à faire.
Si vous dépassez la limite de 10 000 URLs sur une journée, un warning s’affiche lorsque vous enregistrez, modifiez ou supprimez un contenu.
Le reste du temps, le module est transparent. Des lignes sont néanmoins ajoutées à vos logs pour confirmer que la requête a bien été envoyée (vous pouvez retrouver ces lignes dans “Rapports” > “Entrées récentes du journal”).

Aller plus loin avec Index Now

Un service est mis à disposition des développeurs dans le cas où vous auriez besoin d’utiliser ce protocole sur des pages qui ne seraient pas prises en compte par le module.
Exemple : une page créée avec Views remonte les 10 articles les plus récents ; je souhaite envoyer une notification aux moteurs de recherche si je modifie ou supprime cet affichage de vue, si j’ajoute / modifie ou supprime un contenu article.

Le service est relativement simple d’utilisation puisqu’il s’appelle comme suit :

\Drupal::service(‘index_now.indexnow’)->sendRequest($your_url);  

Charge au développeur de :

  • construire la variable $your_url transmise au service ; cette URL doit être l’URL absolue de la page à indexer,
  • vérifier que l’URL transmise au service est accessible aux utilisateurs non connectés,
  • utiliser le service en se pluggant sur les événements souhaités (si l’on reprend l’exemple précédent, il faut se plugger sur la mise à jour et suppression d’une vue, ainsi que sur la création / modification / suppression d’un contenu article) tout en respectant une certaine logique (toujours sur le même exemple, si je modifie ou supprime un contenu article qui ne fait pas partie des 10 plus récents, je n’ai pas besoin d’envoyer de requête pour ma page).

Index Now est-il fait pour moi ?

Le plugin fonctionne à partir de la version 9 de Drupal. Si vous êtes encore sur un D7 ou D8 et que vous avez besoin d’un accompagnement pour passer sur du Drupal 9, contactez-nous.

A moyen terme : 

C’est un peu comme l’arrivée des flux RSS, on inverse la direction, ce n’est plus le moteur de recherche qui crawle votre site, mais le site qui informe d’une mise à jour.

On peut espérer que ceci va réduire le trafic internet, car c’est bien pour la planète et surtout permettre aux éditeurs de contenu de faire indexer leur contenu en temps 0 (Même si on est déjà très proche de ce temps pour les gros sites d’actu)

Nous suivons bien entendu l’évolution et notamment l’intérêt de Google pour implémenter Index Now.

Voir l’étude de cas
Lire l’article