L’API Google Search Console avec R
Comment se connecter à l'API Google Search Console avec R
L'un des gros avantages du langage R est de pouvoir recouper de grands volumes de données et ainsi effectuer des opérations massives sur ces volumes. Ainsi, sont utilisation en SEO peut être un énorme atout pour étudier rapidement les données issues de plusieurs services différents.
Pour aborder cet aspect, nous allons nous concentrer dans un premier temps sur l'étude d'un outil indispensable à bon nombre de SEO : l'API Search Console.
Pourquoi utiliser R pour explorer l'API Search Console ?
L'avantage d'utiliser l'API est de pouvoir définir extraire les dimensions et metrics adaptées à votre projet. Cela permet d'intégrer de manière automatique les données de visibilité de vos pages dans vos dataframes.
De plus, nous allons voir que cet usage permet également de recouper des dimensions qui ne sont pas disponibles dans l'application web Search Console. Ainsi, si celle-ci vous limite à ne choisir qu'une dimension (requête ou page par exemple), l'API vous permet d'obtenir une granularité beaucoup plus importante.
Pour explorer la Search Console, nous allons utiliser principalement deux librairies :
- googleAuthR : une librairie qui vous permet de vous authentifier sur les service Google
- searchConsoleR : la librairie créée pour parcourir les données de la Search Console
Ces packages ont été créés par Mark Edmonson et sont disponibles dans le dépôt CRAN, configuré par défaut sur RStudio. La première étape sera donc d'installer ces packages, puis de les charger dans votre environnement grâce aux lignes suivantes.
install.packages("googleAuthR") install.packages("searchConsoleR") library(googleAuthR) library(searchConsoleR)
Authentification à l'API Search Console en R
Une fois chargé, la première étape sera de spécifier les services pour lesquels vous souhaitez avoir les droits, puis vous authentifier auprès des services de Google. Une méthode simple pour se connecter via l'API est de passer par une authentification depuis votre navigateur web. Pour cela utilisez la fonction scr_auth().
options(googleAuthR.scopes.selected = "https://www.googleapis.com/auth/webmasters") scr_auth()
Cette commande aura pour effet d'ouvrir une fenêtre vous demandant d'authoriser l'accès la Search Console R.
Votre token sera ensuite stocké à la racine de votre répertoire de travail dans le fichier sc.oauth.
Une fois authentifié, vous pouvez retourner vers RStudio.
Notez qu'il est également possible de vous authentifier grâce à une clé de service. Cela vous permet d'automatiser au maximum votre script. Pour cela, une fois votre clé de service créée, utilisez la commande suivante
gar_auth_service("cheminDeMaCléDeService.json")
Cette méthode plus complexe peut être vite indispensable pour lancer automatiquement vos scripts en limitant autant que possible les manipulations.
Paramétrage de l'exploration de l'API Search Console
Maintenant que vous êtes authentifié, nous allons pouvoir explorer les données des sites associés à votre compte.
Pour cela, nous devons configurer 5 variables :
- website : l'URL du site à étudier, tel qu'il est enregistré dans la Search Console
- start : la date la plus ancienne sur laquelle se porte l'analyse
- end : la date la plus récente sur laquelle se porte l'analyse
- download_dimensions : les dimensions à télécharger (4 dimensions sont disponibles : query, page, device, country)
- type : le type de recherche, mobile ou web
Avant de se lancer, posons notre problème sur le papier.
Pour notre exemple, nous allons étudier la visibilité du site aseox.fr.
Cette analyse se portera sur les 90 derniers jours. Notez que la Search Console a un délai de 3 jours avant de mettre à disposition les données, c'est pourquoi la date de fin de la période devra toujours prendre en compte ce délai.
Les dimensions téléchargées peuvent être la requête, la page, le type d'appareil utilisé ou le pays. Dans notre exemple, nous allons nous concentrer par sur la visibilité des requêtes par page.
Enfin, nous allons étudier uniquement les recherche web, les recherches liées à la vidéo ou aux images seront donc exclues de cette analyse.
Maintenant que le problème est posé, voici sa retranscription dans notre script :
# Paramétrage du site web website <- "http://www.aseox.fr/" # Données accessibles à J-3 minimum start <- Sys.Date() - 93 # on démarre 93 jours avant (prise en compte du délai de 3 jours) end <- Sys.Date() - 3 # Dimensions à télécharger: data, query, page, device, country download_dimensions <- c('page', 'query') # Type de recherche à la search console type <- c('web')
Voilà, il ne s'agit ni plus ni moins que la retranscription du problème que nous avons posé. 🙂
Votre configuration est prête, il ne reste plus qu'à lancer l'exploration.
Exploration de l'API Search Console avec R
Pour explorer l'API Search Console, nous allons utiliser la fonction search_analytics() du package searchConsoleR. Cette fonction va nous renvoyer un dataframe, il est donc conseillé de stocker son résultat dans un objet. Nos paramètres sont configurés, il n'y a plus qu'à lancer cette fonction.
searchquery <- search_analytics(siteURL = website, startDate = start, endDate = end, dimensions = download_dimensions, searchType = type, rowLimit = 5000) print("Search Console API Request : completed") searchquery <- dplyr::arrange(searchquery, desc(clicks), desc(impressions))
Par souci de lisibilité, ces données son triées en fin d'analyse par ordre décroissant.
Votre analyse est désormais disponible dans le dataframe searchquery.
Vous y retrouvez ainsi les metrics clicks, impressions, ctr et position qui sont disponibles de base sur la Search Console, appliquée ici sur les requêtes par page. Cette requête nous permet donc d'étudier la performance et le positionnement d'une page sur une requête ou un ensemble de requêtes spécifiques, données particulièrement utiles pour l'étude du positionnement de vos pages.
Allez plus loin dans l'étude de l'API Search Console avec R
La librairie searchConsoleR regorge d'une multitude de fonctions vous permettant d'incorporer les données de ce service dans vos scripts. Vous pouvez ainsi avoir accès par exemple à la liste de vos comptes ainsi que les alertes qui y sont liées.
De plus, la transformation de ce script en fonction et son intégration dans un projet de dashboard serait une avancée considérable dans l'automatisation de votre monitoring et le recoupement de données de performances SEO.
Analyse de la search Console en R : le script complet
Pour tester par vous même, retrouvez ci-dessous le script d'analyse de la Search Console en R.
# Analyse de la Search Console install.packages("googleAuthR") install.packages("searchConsoleR") library(googleAuthR) library(searchConsoleR) # On renseigne le site web à analyser website <- "https://www.example.com" options(googleAuthR.scopes.selected = c("https://www.googleapis.com/auth/webmasters")) # Pour une authentification via le navigateur... scr_auth() # Données accessibles à J-3 minimum start <- Sys.Date() - 93 # on démarre 93 jours avant (prise en compte du délai de 3 jours) end <- Sys.Date() - 3 # Dimensions à télécharger: data, query, page, device, country download_dimensions <- c('page', 'query') # Type de recherche à la search console type <- c('web') ## Requête à l'API Search Console searchquery <- search_analytics(siteURL = website, startDate = start, endDate = end, dimensions = download_dimensions, searchType = type, rowLimit = 5000) print("Search Console API Request : completed") searchquery <- dplyr::arrange(searchquery, desc(clicks), desc(impressions))
Effectuer un tirage aléatoire en R
top 20 des fonctions de base en R