How-to-use-Google-indexing-API-in-bulk-with-Python-250px

Comment utiliser l’API d’indexation de Google en masse avec Python

7 mars 2023 - 7  min de lecture - par Morteza Najafi
Accueil > SEO Technique > Utiliser l'API d'indexation de Google avec Python

Fini (enfin presque) le temps où il fallait attendre que le Googlebot crawle votre site, découvre vos nouvelles pages ou celles fraîchement mises à jour, puis procède à leur indexation. Initialement lancée en 2018, et réservée aux URLs d’offres d’emploi, l’API d’indexation de Google permet aux propriétaires de sites d’informer directement Google lorsqu’ils ont ajouté ou supprimé des pages sur leur site.

L’API d’indexation peut être utilisée pour :

  • Mettre à jour les URLs dans l’index et maintenir les résultats de recherche à jour pour un trafic utilisateur de meilleure qualité.
  • Supprimer les anciennes URLs ou les URLs inutiles de l’indexation.
  • Envoyer des requêtes par lots pour réduire le nombre d’appels à l’API.

 

Comme vous le savez peut-être, dans Indexing API QuickStart, Google recommande d’utiliser l’API d’indexation plutôt qu’un sitemap, car par rapport aux sitemaps, l’API reçoit plus rapidement les demandes de mise à jour ou la publication d’une nouvelle page. 

Sitemaps and Indexing

Dans cet article, nous allons voir comment utiliser Python pour élaborer un script permettant d’envoyer en masse les demandes d’indexation d’URL de votre site à Google et de demander à Google de crawler vos pages plus rapidement. 

En plus, vous pouvez également utiliser ce script pour envoyer des requêtes pour les pages que vous avez mises à jour ou que vous souhaitez supprimer de Google. 

Les bibliothèques dont nous aurons besoin

Afin de réaliser ce script en Python, nous utiliserons Google Colab et nous aurons également besoin des bibliothèques suivantes :

  • oauth2client
  • GoogleApiClient
  • httplib2
  • JSON
  • Google Colab
  • OS

Pour installer ces bibliothèques sur Google Colab, vous pouvez utiliser la commande suivante :

 !pip install oauth2client

Si vous souhaitez installer les bibliothèques dans Windows, vous devrez saisir la commande suivante dans « Command Prompt » ou dans « Terminal » si vous utilisez MacOS :

 pip install oauth2client

Utilisation des bibliothèques

Après l’installation des bibliothèques nécessaires, pour les utiliser et les appeler, vous devrez utiliser les codes suivants :

from oauth2client.service_account import ServiceAccountCredentials
from googleapiclient.discovery import build
from googleapiclient.http import BatchHttpRequest
import httplib2
import json
from google.colab import files
import os

Préparation des URLs

Ensuite, nous devons copier nos URLs dans un fichier texte à partir duquel vous pourrez informer Google de vos modifications, nouvelles versions et pages supprimées. N’oubliez pas que vous êtes limité à 100 liens ou moins par jour lorsque vous utilisez l’API d’indexation. Le fichier texte doit ressembler à ceci :

URL Notepad

Dans Google Colab, vous pouvez utiliser le code suivant pour télécharger et appeler le fichier texte correspondant à vos URLs :

uploaded_file = files.upload()

Après cela, nous devons créer un dictionnaire et préparer les URLs pour l’envoi de requêtes. Nous pouvons le faire en utilisant le code suivant :

list=[]
for filename in uploaded_file.keys():
lines = uploaded_file[filename].splitlines()
for line in lines:
list.append(line.decode('utf-8'))

requests ={}
for i in list :
requests[i]="URL_UPDATED"
print(requests)

Il est nécessaire de mentionner que dans le code, pour la mise à jour ou la publication de nouveaux contenus, le dictionnaire nécessaire sera créé. Si vous avez besoin de supprimer des URLs, vous pouvez simplement utiliser la commande  URL_DELETED au lieu de URL_UPDATED.

Création et activation de l’API d’indexation

La procédure de création et d’activation de l’API consiste à se rendre dans la Google Developer Console, puis à cliquer sur ‘Select a project’ et à choisir l’option ‘New project’ pour créer un nouveau projet.

Google Cloud_Creating and activating Indexing API step 1

Google Cloud_Creating and activating Indexing API step 2

Ensuite, vous aurez à choisir un nom pour votre projet et à cliquer sur ‘Create’.

Google Cloud_Creating and activating Indexing API step 3

Après avoir créé le projet, vous devrez le sélectionner dans la section projet du menu, puis sélectionner IAM & ADMIN dans le menu de gauche et enfin choisir ‘Service Accounts’.

Google Cloud_Creating and activating Indexing API step 4

Après cette étape, cliquez sur ‘Create service account’ et procédez à la création de votre compte. Dans la première rubrique, choisissez un nom pour votre compte, puis cliquez sur ‘Create and continue’. Une fois terminé, vous pouvez passer à la deuxième étape.

Dans le champ ‘Grant this service account access to project’, choisissez un rôle pour votre compte et assurez-vous de choisir ‘Owner’ dans le menu d’accès rapide, suivi de la section ‘Basic’. Ensuite, cliquez sur ‘Continue’ et dans l’étape suivante, vous n’aurez pas besoin de changer quoi que ce soit, cliquez simplement sur ‘Done’.

Google Cloud_Creating and activating Indexing API step 5

Sur la page ouverte, enregistrez l’adresse électronique qui se trouve dans le champ ‘Email’, car nous en aurons besoin plus tard. Cliquez sur ‘Actions’, puis sur ‘Manage Keys’.

Google Cloud_Creating and activating Indexing API step 6

Dans la page ouverte, depuis la section ‘Add Key’, cliquez sur ‘Create new key’, puis créez un fichier JSON et enregistrez le fichier téléchargé.

Google Cloud_Creating and activating Indexing API step 7

Il est temps d’activer l’API d’indexation ; pour ce faire, dans la section ‘API & Services’, cliquez sur ‘Enable APIs & services’.

Google Cloud_Creating and activating Indexing API step 8

Sur la page suivante, recherchez ‘Indexing API’. Une fois que vous l’avez sélectionnée, cliquez sur ‘Enable’ pour activer votre API.

L’ajout d’un courriel à Search Console

Pour utiliser l’API d’indexation, vous devez créer un compte d’accès à celle-ci dans la Google Search Console de votre site Web. Pour cela, vous devez ouvrir votre Google Search Console et, dans la section ‘Settings’, cliquez sur ‘Users and permissions’, puis ajoutez un nouvel utilisateur dans la section ‘Add user’. Lorsque la nouvelle page s’ouvre, saisissez le mail que vous avez enregistré précédemment et changez son autorisation en ‘Owner’.

Adding an email to Search Console

Si vous n’avez pas enregistré votre e-mail, il vous suffit de retourner dans les comptes de service et de copier l’e-mail.

Votre e-mail devrait également se trouver dans le fichier JSON que vous avez téléchargé précédemment. Vous pouvez y accéder en ouvrant le fichier et en recherchant ‘client_email’.

[Étude de cas] Trouver et résoudre des problèmes d’indexation

D’un trafic nul à une croissance exponentielle : découvrez comment GroupM Turkey a utilisé Oncrawl pour résoudre les problèmes d'indexation d'Unilever.

Téléchargement du fichier JSON

Pour télécharger le fichier JSON dans Google Colab, vous pourrez utiliser le code suivant :

JsonKey = files.upload()

Ensuite, vous devrez trouver le chemin vers lequel les fichiers ont été téléchargés.  Ceci peut être fait en utilisant la bibliothèque OS. Vous pouvez utiliser le code suivant et pour vous assurer que le fichier a été téléchargé, nous utilisons un ‘if’ au début :

if JsonKey:
path_to_json = '/content'
json_files = [pos_json for pos_json in os.listdir(path_to_json) if pos_json.endswith('.json')]
path = "/content/" + json_files[0]

L’autorisation des demandes

Comme vous le savez peut-être, Google a annoncé que l’utilisation de l’API d’indexation nécessite que notre programme et notre script utilisent OAuth 2.0 pour autoriser les demandes.

About authorization protocols

Pour utiliser OAuth 2.0 et envoyer des demandes, vous devez rechercher certaines informations. Pour les obtenir, nous utilisons le lien suivant de l’API d’indexation. Pour plus d’informations à ce sujet, vous pouvez vous reporter à la page Authorize Requests.

SCOPES = [ "https://www.googleapis.com/auth/indexing" ]

L’envoi de requêtes

Google a expliqué dans la page Using the Indexing API (Utilisation de l’API d’indexation) que pour envoyer des requêtes, nous devons utiliser un point de terminaison qui présente les conditions suivantes et les requêtes doivent être envoyées à l’aide de la méthode post :

Si vous voulez envoyer une seule demande :

ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"

Si vous voulez envoyer des demandes par batch :

ENDPOINT = "https://indexing.googleapis.com/batch"

Dans ce script, nous envoyons les requêtes une par une, mais la différence est que nous avons déjà créé un dictionnaire qui contient 100 URLs afin que toutes les requêtes soient envoyées en une seule fois.

Maintenant, nous devons créer les variables de ‘Authorize credentials’ et nous le faisons en utilisant la bibliothèque oauth2client et ServiceAccountCredentials pour créer les variables en utilisant les codes suivants :

credentials = ServiceAccountCredentials.from_json_keyfile_name(path,scopes=SCOPES)
http = credentials.authorize(httplib2.Http())

Dans l’étape suivante, nous construisons des outils de service, puis une fonction. Après cela, nous traitons la requête finale. Pour plus d’informations sur le fonctionnement des codes, vous pouvez lire la page Class BatchHttpRequest.

Les codes finaux de cette section ressemblent à ce qui suit :

service = build('indexing', 'v3', credentials=credentials)

def index_api(request_id, response, exception):
if exception is not None:
print(exception)
else:
print(response)
if JsonKey:
batch = service.new_batch_http_request(callback=index_api)

for url, api_type in requests.items():
batch.add(service.urlNotifications().publish(
body={"url": url, "type": api_type}))

batch.execute()

Après avoir envoyé la demande, si tout a été fait correctement, les demandes seront imprimées comme dans l’exemple ci-dessous :

Final codes printed example

Vous pouvez consulter la version finale de Google Colab ici.

Conclusion

Python est un outil assez polyvalent qui peut aider à automatiser certaines tâches, il peut être utilisé pour extraire et analyser les données de votre site et, lorsqu’il est utilisé correctement, il peut aider à analyser et améliorer la façon dont nos sites sont crawlés et indexés. J’espère que vous pourrez faire bon usage de ce tutoriel la prochaine fois que vous utiliserez l’API de Google.

Bien que l’API soit encore réservée aux sites Web dont les pages se renouvellent rapidement, comme les sites d’offres d’emploi, elle reste un outil puissant. Et peut-être, qui sait, pourrait-elle être étendue à d’autres choses à l’avenir et ce tutoriel s’avérera encore plus utile.

Morteza Najafi Voir tous ses articles
Morteza Najafi est un spécialiste du SEO qui a une forte appétence pour l'automatisation des tâches et l'analyse des données avec Python. Il se concentre sur le SEO technique et sémantique et s'intéresse également à la création de scripts pour automatiser les tâches SEO répétitives.
Sujets en lien :