Google Data Studio est devenu ces dernières années un outil incontournable pour la plupart des métiers du SEO, à la fois pour la création de tableaux de bords clients personnalisés mais aussi pour l’analyse des données SEO.
Dans cet article, je vais vous expliquer comment, à l’aide d’un crawler et de Google Data Studio, je parviens à quasiment automatiser l’analyse de la performance SEO des pages.
Pourquoi analyser les performances organiques des pages ?
Pour commencer cet article, il me faut expliquer pourquoi j’ai eu besoin de mettre au point cette méthode.
Et c’est très simple : dans le travail d’accompagnement SEO, j’effectue non seulement des suivis de mots clés et une gestion de projet SEO permettant de donner du travail aux équipes techniques puis de les valider, mais je réalise aussi et surtout des analyses.
Ces analyses SEO sont pour la plupart récurrentes, car ce qui nous intéresse, ce n’est pas que le résultat ponctuel, mais l’évolution du résultat. C’est en cela que c’est un accompagnement SEO dans la durée : on mesure l’évolution du site afin de vérifier que les actions menées ont des résultats.
Mon objectif a été donc de pouvoir lister toutes les pages d’un site donné, en extrayant des données SEO essentielles telles que la balise Title, le titre H1, mais également les statistiques de la Search Console permettant de mesurer la performance de la page : le nombre d’impressions générées par la page, le mot clé ayant amené le plus de visites, le nombre de mots clés de la page, etc. Tant qu’à faire, j’ajoute également les données Google Analytics, notamment les sessions organiques de la page.
Les limites des outils de crawl
Un outil de crawl tel que seolyzer.io, oncrawl.com ou Screaming Frog permet d’extraire la totalité des pages d’un site, et des données techniques de ces pages, mais il faut en général prendre un abonnement supérieur ou ajouter une option payante pour faire un croisement avec les données de Google Analytics ou de Google Search Console.
La solution la moins chère est, je pense, d’avoir une licence Screaming Frog, mais encore faut-il réussir à le configurer pour se brancher sur une clé d’API Search Console. Quant à OnCrawl, l’option Data Ingestion permet d’inclure des données tierces dans le crawl, mais c’est une option payante qui s’ajoute à l’abonnement. Je suis fan d’OnCrawl, mais quand on travaille seul, le tarif des outils SEO cumulés peut faire mal…
La solution que j’ai donc utilisée est de réaliser le croisement des données “à la main”, enfin avec Excel… mais de manière presque automatisée.
Utiliser Google Data Studio pour croiser Google Search Console et Google Analytics
La première chose à faire, une fois bien sûr créé votre premier tableau de bord Data Studio, est de faire un croisement des données de différentes sources de données.
Pour cela, vous devez vous assurer d’avoir ajouter au moins les 2 sources de données suivantes : Google Analytics, et Search Console. Mais le tableau de la Search Console à connecter n’est pas celui par défaut, “Impression associée au site”, mais “Impression associée à l’URL“, tableau qui permet d’obtenir les statistiques des pages.
Quand ces sources sont ajoutées, je peux ajouter un tableau de bord me présentant les informations des pages de Search Console, avec pour dimensions “Landing Page” et “Requêtes”, et pour statistiques “Impressions”, “URL Clicks” et “URL CTR”. Le tout est trié par Landing Page et URL Clicks, ce qui me donne un tableau de ce type :
Si vous désirez créer un tableau Data Studio regroupant des données de Search Console ET de Google Analytics, il faut passer par une ressource croisée, qui se fait par une jointure entre les deux sources.
Par contre, pour réussir notre jointure entre les 2 sources de données, il va falloir s’appuyer sur l’URL de la page. Or, Google Analytics n’envoie en général que l’URL relative de la page, il faut donc ajouter un champ personnalisé dans la ressource Analytics, avec une fonction telle que :
concat('https://www.votresite.com',Page)
Voici à quoi ressemble ma jointure :
Et voici un extrait du tableau en résultant :
Attention, j’ai cherché longtemps comment ajuster la combinaison de données, car les données statistiques envoyées dans une jointure ne sont pas distinctes. Par défaut Data Studio envoie la somme des données. Ce qui nous amène au début à obtenir des impressions et des clicks erronés, car non distincts par page / mot clé : pour pallier à cela, vous devez la nature des statistique retournée pour demander non pas la somme, mais le “max” de la donnée.
De rien 😉
Ma méthode pour compiler les données et analyser toutes les pages d’un site
Il reste maintenant à exporter et compiler les données dans un tableur Excel.
Comme je cherche à analyser un maximum d’informations, je lance tout d’abord un crawl du site. Dans cet exemple, j’ai choisi Seolyzer, car il me permet d’ajouter des données scrappées personnalisées : avec un site WordPress, il est ainsi assez aisé d’extraire automatiquement la date de création de la page, la date de modification, le type de page (page ou post, donc page froide ou page chaude) et la catégorie de la page s’il s’agit d’un article.
Le résultat de ce crawl est un de mes onglets de mon tableur.
J’exporte ensuite la liste des “Landing Page” (comme Search Console les appelle) avec les requêtes, le nombre d’impressions, et de clics associés. Facile, si vous avez fait le tableau Data Studio, il suffit de cliquer sur les 3 points en haut à droite du tableau, appelés “Plus”, pour voir apparaître une option “Télécharger au format CSV”.
Je fais la même chose avec un tableau Data Studio construit à partir de Google Analytics et me donnant la liste des pages et des sessions organiques associées. Bon, si vous avez bien suivi, j’aurais pu faire ces deux exports en une seule fois, en m’appuyant sur la combinaison des 2 sources de données… qui m’aurait fourni à la fois les données Search Console et Analytics !
Pour finir, je construis un onglet Excel récapitulant toutes les données que je veux analyser :
- url de la page
- cluster de la page (réalisé par l’outil de crawl)
- type de page
- profondeur de la page
- mot clé constaté : j’ai pour cela inséré une fonction de recherche de l’url dans mon onglet d’export des données Search Console. Ayant trié cet export par page / clics décroissant, la première occurrence rencontrée est le mot clé pour cette page ayant généré le plus de clic sur la période analysée. Pour les curieux, la fonction Excel est la suivante : RECHERCHEV([@url];’Pages et mots clés’!$A$2:$B$3067;2;FAUX)… (2 étant le numéro de la colonne stockant la donnée demandée)
- impressions : idem, j’insère là une fonction pour récupérer la donnée de l’onglet Search Console. Au fait, me direz-vous, pourquoi ne pas me contenter d’un copier-coller ? Tout simplement pour l’automatisation : si je veux mettre à jour ce fichier tous les mois, il me suffit d’écraser les onglets des exports, sans toucher à l’onglet compilant les infos.
- clics GSC : idem !
- Nombre de mots clés : c’est un peu plus délicat là, car il faut trouver la fonction qui compte le nombre de lignes de la Search Console ayant un mot clé pour cette URL. La fonction que j’ai utilisée est : SOMME.SI(‘Pages et mots clés’!$A$2:$A$3067;[@url];’Pages et mots clés’!$G$2:$G$3067) car dans chaque ligne de mon export, j’ai mis le nombre “1” dans ma colonne G. Ainsi la somme pour une url donnée revient à compter le nombre de lignes.
- et pour finir, j’ai fait une colonne de calcul me donnant un Score SEO de la page. A chacun de faire ce qu’il veut ici, c’est subjectif… enfin presque.
- J”ai également créé une donnée “capacité SEO” qui me donne un KEI sur 100 dépendant du nombre d’impressions générées par la page. Impressions n’étant pas des sessions (la page a été vue dans google, mais pas forcément cliquée), vous pouvez en déduire une capacité de trafic organique maximal…
Voici un extrait du résultat final, et je vous épargne toutes les autres données du tableau et les colonnes avec les attributs title, description, duplication, etc.
Vous me direz sans doute : c’est une méthode complexe… fastidieuse… longue… ou c’est une usine à gaz.
Alors oui au final, c’est un peu une usine à gaz. Mais ce travail est d’une grande utilité pour mettre en avant les pages qui fonctionnent, ou les pages au contraire qui n’ont aucune visibilité dans les moteurs de recherche ! Avec cette analyse, et en m’appuyant sur la date de création des pages, je repère très rapidement les pages qui ne “performent pas”, et qu’il faut désindexer.
Je travaille également ainsi avec le client le mot clé cible de la page, et comment faire en sorte qu’il corresponde au mot clé principal de la page.
J’espère que cet article vous inspirera, je suis ouvert à vos questions 🙂