Tutoriel Google Indexing API avec Node JS

Par WebForGood

Voici un tutoriel accessible aux gérants de sites web débutants et chevronnés, et pour ceux qui souhaitent tester l'API d'indexation de Google.

Read this tutorial in English 🇬🇧 🇺🇸 / Version anglaise disponible

De quoi s'agit-il :

Pour savoir plus sur le concept de cette technique de référencement naturel, c'est par ici sur la page du service Google Indexing API, ou sur la documentation Google

Si vous avez des questions ou vous ne trouvez pas les bonnes ressources, n'hésitez pas à me contacter 👇 : question exemple, "comment paramétrer la Google Search Console" ou autre aide SEO technique.

Remerciements à Steve de Journey Further pour le code source.

Le principe

Faire indexer multiple URLs (pages) en masse sans avoir recours à la demande manuelle sous la Google Search Console.

Les limites ou quotas

200 URLs par jour (et 100 URLs par lot de requêtes envoyées)

Avant de commencer

Vous aurez besoin de ces outils :

Pour les agences, webmasters et développeurs

Vous pouvez passer à la section grand public si les infos ici vous paraissent vagues
  • Cloner le repository depuis Github et lancer la commande "npm i"
npm i
  • Créer un compte puis un projet sur Google Cloud Platform > Console

  • Chercher dans la bibliothèque et créer l'API Indexing

  • Activer l'API et sa clé

  • Activer et créer le "Compte de service", de façon à obtenir sous la section "Identifiants" la clé et une adresse email Compte de service.

  • Ajouter cette même adresse email comme propriétaire au compte Google Search Console du site en question

  • Toujours dans Google Cloud Platform, aller sur la section "IAM et administration", sélectionner Comptes de services depuis le menu vertical à gauche

  • Sous la section CLÉS > ajouter une clé > créer une clé > format JSON

  • La clé privée est maintenant téléchargée sur votre ordinateur. Ouvrir le fichier JSON et copier / coller son contenu sur le fichier service_account.json obtenu depuis GitHub, en écrasant le contenu initial.

  • Vous êtes prêt à commencer les demandes de requêtes vers Google, il suffit d'ajouter les liens URLs des pages souhaitées à être indexée dans le fichier urls.txt

  • Ouvrir le terminal et lancer node index.js

Répéter l'opération pour les différents sites que vous gérez, avec de nouvelles instances.

Étapes détaillées pour débutants

Après avoir suivi l'étape avant de commencer, continuez avec les étapes ci-dessous.

1 - Obtenir le code source

a) Télécharger le code source depuis ce lien Github

b) Créer un dossier sur l'ordinateur et appelons-le "google-indexing-api" par ex, peu importe le nom du dossier.

c) Cliquer sur Download ZIP dans Github, et sauvegarder dans ce dossier créé sur l'ordinateur, et finalement faire décompresser le dossier ZIP pour obtenir le dossier modifiable. Le dossier doit contenir 5 fichiers et 1 dossier node_modules.

Voici un exemple du contenu :

d) Ouvrir le dossier avec Visual Studio Code

Après avoir ouvert le dossier dans Visual Studio Code, lancer le terminal des commandes.

Ensuite saisir la commande npm i pour installer les modules.

Il est normal que ça prenne un peu de temps, assurez-vous que vous êtes connecté à internet.


2 - La Google Cloud Platform

C'est là que nous allons créer un nouveau projet, demander l'API, et obtenir les clés publiques et secrètes afin de pouvoir les "brancher" dans notre projet sur l'ordinateur et commencer à faire les requêtes d'indexation - ou suppression - vers Google.

Vous l'avez déjà bien compris, le script s'exécute depuis votre ordinateur même (à condition d'être connecté sur internet évidemment).

a) Créer un compte Google Cloud Platform

Cliquer sur Console après connexion avec un compte Google dans la plateforme Google Cloud

b) Créer un nouveau projet

Le nom du projet est essentiel, mais l'organisation peut très bien suivre la valeur par défaut "Aucune organisation".

c) Naviguer vers API et services

Sous le menu vertical à gauche, cliquer sur API et services et puis "Bibliothèque".

Faites la recherche du mot clé "Indexing" et choisissez "Indexing API" .

Bien entendu, il faudra activer l'API :

d) Créer des identifiants

Dans la même fenêtre API et services, cliquer sur Identifiants (menu vertical à gauche). Au milieu de l'écran en haut, on va cliquer sur "+ Créer des identifiants" et ensuite "Clé API" que vous pouvez sauvegarder mais ce n'est pas nécessaire (il n'est pas nécessaire de la sauvegarder mais il est obligatoire de la créer).

e) Créer un Compte de service

Une étape cruciale, c'est celle de la création du "Compte de service". Pourquoi ?

Parce-que cela va nous générer l'adresse email que nous allons utiliser ensuite dans la Google Search Console pour autoriser la demande des requêtes pour votre site.

Donner un nom identifiable au nom du compte afin de le distinguer.

Pour l'ID, elle se génère automatiquement en cliquant la petite icône à droite.

Cliquer "Créer et continuer". La fenêtre des autorisations s'ouvre. Choisir l'option du rôle comme "propriétaire".

A ce stade on peut cliquer sur le bouton bleu "OK" pour finaliser et une page pareille à celle ci-dessous apparaît.

Sous la section "Comptes de service", il faudra copier l'adresse email et de préférence la sauvegarder d'une façon sécurisée, pour ensuite l'ajouter à la Google Search Console en tant que rôle "propriétaire".

Mais avant de passer à cette étape, il nous faut la clé publique en format JSON que nous allons utiliser dans le fichier service_account.json.

f) Obtenir la clé JSON

Sous la même fenêtre des identifiants, cliquer sur l'adresse email, une nouvelle fenêtre s'ouvrira.

Cliquer sur l'onglet "clés".

Cliquer Ajouter une clé > puis sur Créer une clé > ensuite choisir le format JSON.

C'est alors qu'un fichier JSON va se télécharger sur votre ordinateur. Vous verrez le message "Clé privée enregistrée sur votre ordinateur".

g) Le contenu de la clé JSON

Copier tout le contenu de ce fichier JSON (en l'ouvrant avec Visual Studio par ex OU notepad mais surtout pas Word ou Pages). Voici un exemple du contenu de ce fichier JSON.

Je sélectionne tout le contenu et je l'écrase (donc en remplaçant le contenu existant par défaut) dans Visual Studio sur le fichier service_account.json

Le fichier service_account.json doit ressembler à ceci :

Bravo si vous êtes à cette étape, on est presque prêt ⭐️


3 - La Google Search Console

Notre but c'est d'ajouter l'adresse email récupérée ci-haut dans la Google Search Console, comme "propriétaire" du compte.

a) Ouvrir la console

Accéder à la Google Search Console et choisissez le site en question.

b) Paramètres

Sous le menu vertical à gauche, défiler vers le bas et cliquer sur Paramètres.

c) Section Utilisateurs et associations

Cliquer sur Utilisateurs et associations > Ajouter un nouvel Utilisateur (bouton en bleu à droite en haut de l'écran).

d) Le compte de service

Ajouter l'adresse email copiée auparavant et cliquer sur Ajouter.

💫 Félicitations, le paramétrage est fait 🏆


4 - Exécuter le script d'indexation

L'exécution du script, donc la demande d'indexation (ou suppression) de plusieurs pages se fait depuis votre ordinateur, dans votre Visual Studio Code.

a) Récolter les URLs

Récolter les URLs des pages qu'on aimerai faire indexer et les coller sur le fichier urls.txt

Exemple :

b) Exécuter le code

Donc à présent nous avons les URLs qu'on souhaite faire indexer dans le fichier urls.txt.

En exécutant le fichier index.js, l'environnement que vous venez de créer va faire les demandes à Google pour faire indexer ces pages. Je simplifie par soucis de brièveté.

Sous la fenêtre du terminal de commandes, saisir node index.js

Et voici un exemple d'une "réponse" positive du serveur :

Dans quelques minutes / heures, les URLs demandées seront indexées ! ✨


Questions, commentaires ? Venez en discuter sur Discord

Merci 🚀

Questions fréquentes

Google Indexing API

Je suis sur WordPress, Shopify, Prestashop, Gatsby, Next JS, etc. … Est-ce je peux utiliser cette méthode ?

Combien cela me coûtera-t-il ?

Est-ce que c'est du White Hat SEO (référencement complètement dans les règles et meilleurs pratiques ?)

J'ai des erreurs…

Besoin de réponses ?