Créer ses propres outils et automatiser ses actions est un Graal pour beaucoup de SEO. Pour y arriver, il est nécessaire de maîtriser quelques « briques » de base et la récupération des données via une API est un de ces fondamentaux.
Comme vous le savez, j’utilise le langage R et je fais aujourd’hui la plupart de mes actions SEO grâce à ce langage qui me fait gagner un temps considérable. Si vous découvrez le langage R, je vous invite à lire mon article sur les usages du langage R pour le SEO et pour une initiation complète à la data science, à vous inscrire à la prochaine formation Labs on Mars « Data Science SEO ».
Dans ce tutoriel, vous verrez comment se connecter à l’API Search Console de Google en utilisant le langage R et deux exemples de scripts de récupération des données grâce à l’API.
Se connecter à l’API de Google Search Console
Si vous n’avez jamais utilisé d’API ou si vous connaissez peu la Search Console de Google, vous vous posez peut-être une question :
Pourquoi utiliser l’API de La Search Console de Google ?
En un mot : automatisation. En un peu plus qu’un mot : j’utilise principalement cette API pour récupérer l’intégralité des mots-clés de mes sites, les URL qui se positionnent sur ces mots-clés ainsi que les positions, les clics, les impressions et le CTR. Grâce à l’API, aucune limite quant au nombre de mots-clés récupérés, pas besoin de passer par l’interface, de cliquer sur plusieurs boutons et utiliser des filtres. Tout peut être automatisé. L’utilisation d’API est également très utile si vous envisagez des projets de Machine Learning x SEO, qui nécessiteront généralement de disposer de beaucoup de données.
Commençons tout de suite par un pré-requis à l’utilisation de l’API.
1. Créer un projet dans l’API de Google
-
- Pour pouvoir utiliser la Search Console de Google via l’API, connectez-vous à la page suivante grâce à vos identifiants Gmail, puis créez votre projet : https://console.developers.google.com/projectcreate.
Une fois le projet créé, vous serez redirigé vers la page Dashboard de votre projet. - Cliquez sur le bouton « → Accéder à l’aperçu des API » (lien sous la tuile API). La page « Tableau de bord » s’ouvre.
- Cliquez sur « + ACTIVER LES API ET LES SERVICES » Une nouvelle page s’ouvre.
- Cherchez « Google Search Console API » dans le moteur de recherche puis cliquez sur la tuile correspondante.
- Cliquez maintenant sur le bouton bleu ACTIVER.
L’API est maintenant en cours d’activation, l’opération peut prendre plusieurs secondes. Une fois l’activation terminée, la page de dashboard de la Google Search Console API s’ouvre.
- Pour pouvoir utiliser la Search Console de Google via l’API, connectez-vous à la page suivante grâce à vos identifiants Gmail, puis créez votre projet : https://console.developers.google.com/projectcreate.
À ce stade, vous êtes bien avancé mais ne pouvez pas encore utiliser l’API. Un peu de patience, nous avons bientôt terminé. Passons à l’étape suivante.
2. Créer vos identifiants
- Cliquez sur le lien « Identifiants » dans le menu de gauche
Une nouvelle page s’ouvre. - Cliquez maintenant sur Créer des identifiants, puis sélectionnez « ID client OAuth »
La page Créer un ID client s’ouvre. - Cliquez sur le bouton bleu « Configurer l’écran d’autorisation »
- Dans l’onglet « Ecran d’autorisation OAuth », remplissez les champs « Adresse e-mail » et « Nom de produit affiché pour les utilisateurs » par le nom de votre choix. Notez que vous pouvez écrire ce que vous voulez ici, il peut s’agir d’un nom totalement fictif.
- Cliquez sur Enregistrer. Une nouvelle page s’ouvre pour vous demander le type d’application. Sélectionnez « Autre », donnez là aussi le nom que vous souhaitez (par exemple « ScriptR ») puis cliquez sur le bouton bleu Créer.
Quelques secondes plus tard une pop-up apparait : vos identifiants de connexion à l’API de Google sont créés ! Ils vous serviront dans votre script R. Pensez à les sauvegarder quelque part (KeePass, note, …).
Exemple d’utilisation de l’API Search Console avec le package R searchConsoleR
Nous allons maintenant récupérer des données de l’API de Search Console.
Je vous vois déjà faire des triples saltos arrière dans vos sièges : vous aussi, vous allez faire partie de ces gens qui « tapent dans une API » !
Vous aurez donc besoin de R et R Studio. Veuillez suivre promptement mon tuto d’installation si vous ne les avez pas encore.
Commencez par copier-coller le script suivant dans un nouveau script sur R Studio (New File > R Script), puis remplacez https://xxxxxxxxxxxxxxxxx.com par le nom du site web dont vous voulez récupérer les données (attention aux « / », « www » ou « s » dans https car le nom doit être exactement le même que dans la Search Console). Remplacez ensuite les yyyyyyyy et zzzzzz par vos identifiants d’API Google créés précédemment.
install.packages("searchConsoleR") install.packages("googleAuthR") library(searchConsoleR) library(googleAuthR) #Setting your data website <- "https://xxxxxxxxxxxxxxxxx.com" # <-- Enter your website here nbrow <- 10000 #Number of rows you will collect from Search Console options("googleAuthR.scopes.selected" = c("https://www.googleapis.com/auth/webmasters", "https://www.googleapis.com/auth/webmasters.readonly")) options("googleAuthR.client_id" = "yyyyyyyyyyyyyyyyyyyyyyy") options("googleAuthR.client_secret" = "zzzzzzzzzzzzzzzzzzzzzz") googleAuthR::gar_auth()
Une fois les éléments remplacés, exécutez le script.
Concrètement, vous venez d’installer et de charger le package R « searchConsoleR » (créé par Mark Edmondson, illustre spécialiste des packages R pour utiliser les applications de Google).
Une nouvelle page de votre navigateur s’ouvre, vous demandant de copier un code et de l’ajouter dans la console de R Studio.
Voici votre premier ticket pour votre voyage en terre du Data SEO et pouvez maintenant « requêter » en toute décontraction l’API de la Search Console, paisible, à la fraiche.
C’est parti pour la première requête : récupérer l’ensemble des sites web que vous avez dans la Search Console. Nous utilisons ici la fonction list_websites() du package searchConsoleR, et grâce à un print(), nous affichons le résultat de la requête dans la console de R Studio.
#REQUEST 1. Getting all websites you have in Search Console websites <- list_websites() print(websites)
Bravo, c’est un excellent début ! Vous avez maintenant accès à l’ensemble des sites ainsi que votre niveau de permission pour chacun d’entre eux.
La seconde requête « va vous étonner » !
Nous allons ici utiliser la fonction search_analytics() issue elle aussi du package searchConsoleR. On s’en sert ici pour récupérer l’intégralité des mots-clés sur lesquels se positionne notre site, et cela par URL. Pour chaque ligne de notre tableau, nous récupérerons les clics, impressions, CTR et position : une excellente base pour de nombreuses analyses.
#REQUEST 2. Query search traffic keyword data start <- Sys.Date() - 93 #Start of analysis period (D-93) end <- Sys.Date() - 3 #End of analysis period (D-3) download_dimensions <- c('query', 'page') #Dimensions to dowload: data, query, page, device, country type <- c('web') #Search type: 'web', 'video', 'image' mydataset <- search_analytics(siteURL = website ,startDate = start ,endDate = end ,dimensions = download_dimensions ,searchType = type ,rowLimit = nbrow #,dimensionFilterExp = dimensions_filtres ,walk_data = "byBatch")
Il existe une multitude de requêtes que vous pouvez faire à la Search Console, n’hésitez pas à en tester d’autres en modifiant les paramètres. Vous pouvez par exemple remplacer le type ‘web’ par ‘image’ ou encore changer les paramètres du download_dimensions pour récupérer d’autres informations.
Pour voir l’intégralité des possibilités offertes par le package searchConsoleR, consultez l’aide en tapant ??searchConsoleR dans la console de R Studio.
À vous de jouer !
Merci à Guillaume Bot pour avoir beta-testé le tuto 😉
Bonus : Connexion via JSON : Notez qu’il existe une autre façon de se connecter à l’API de Search Console en mode « serveur à serveur ». Cela est par exemple très utile dans le cas du développement d’une application. Pour cela il faut recourir à l’utilisation d’un fichier JSON. Je vous invite à garder ce tuto sous le coude.
Merci pour le super tuto Rémi ! Le premier script R que j’ai réussi à faire fonctionner jusqu’au bout (vrai débutant sans notion de R).
Une étape qui paraît tellement triviale quand on le sait mais que vous n’avez pas précisé, il faut appuyer sur run à chaque ligne du script. J’ai bloqué quelques instants à cause de ça, si ça peut aider les autres lecteurs 😉
J’ai également rajouté les lignes suivantes en fin de script pour exporter le dataset dans un fichier csv :
#export vers csv
write.csv(mydataset, « c:/Users/xxxx/export.csv »)
Hello Rémi,
Très bon tuto, sais tu d’après toi, s’il est possible d’ajouter des utilisateurs en masse sur Search console avec l’API ?