Comment vérifier si une IP correspond à Googlebot dans Google Sheets ?
Table des matières
Si tu as déjà fait de l'analyse de logs, tu sais qu'un simple filtre sur le user agent Googlebot ne suffit pas à valider que le crawl provient bien d'un "véritable" Googlebot.
Il faut procéder à une deuxième vérification, qui peut se faire de deux manières :
- via un reverse DNS
- via une comparaison avec la liste des adresses IP de Googlebot
Bon, admettons que le seul outil que tu aies sous la main soit un tableur.
Et que ce tableur soit Google Sheets.
Comment faire cette vérification ?
- 1ère option (reverse DNS) : ça me parait compliqué sans mettre les mains un minimum dans le code (Apps Script).
- 2ème option (liste des adresses IP) : hummm, c'est jouable.
1ère piste : la liste des adresses IP publiée par Google
La liste des adresses IP communiquée par Google est au format JSON.
On peut donc tout-à-fait imaginer importer cette liste dans Google Sheets avec la fonction IMPORTDATA
.
Puis nettoyer les données pour afficher uniquement les IP.
=ARRAYFORMULA(REGEXREPLACE(QUERY(SPLIT(IMPORTDATA("https://developers.google.com/static/search/apis/ipranges/googlebot.json";",");""": """;FALSE);"SELECT Col2 OFFSET 3");":?:?\/\d{2}""}";""))
Mais il y a un problème.
Le problème, c'est que les adresses qui figurent dans le fichier contiennent le masque de sous-réseau (ou subnet).
Ce qui oblige donc à passer par un calcul intermédiaire pour avoir l'ensemble des ranges d'IP.
La nomenclature 66.249.71.160/27
, par exemple, peut être ici traduite par : "toutes les IPs comprises entre 66.249.71.161 et 66.249.71.190".
On peut sûrement faire plus simple, non ?
2ème piste : une API
En cherchant un peu sur Google, je suis tombé sur cette API qui permet de tester si une IP est utilisée par Googlebot : https://seoapi.com/googlebot/.
Avant de te la recommander dans cette newsletter, j'ai fait un test sur un échantillon d'IPs, en croisant les résultats qu'elle propose avec ceux d'un reverse DNS. Test concluant !
Ce qui est cool, en plus, c'est qu'elle propose un mode simplifié pour une utilisation sans douleur dans Google Sheets.
Bref. Comment l'utiliser ?
Il suffit d'entrer la formule ci-dessous pour savoir si l'IP est valide ou non (remplace A2
par la référence de ta cellule).
=IMPORTDATA("https://googlebot.seoapi.com/v1/validate/?ip="&A2&"&compact=1")
L'inconvénient, une fois de plus, c'est que la fonction IMPORTDATA
est bridée. Ça fonctionnera sur plusieurs dizaines de lignes, mais pas au-delà.
La bonne nouvelle, c'est que j'ai développé un nouvel outil dans Gadgeto qui permet de casser cette limite.
Et il est déjà dispo dans le template 😉
- Partager sur Twitter
- Partager sur Facebook
- Partager sur LinkedIn
- Partager sur Pinterest
- Partager par E-mail
- Copier le lien
Un Template Google Sheets Offert ! 🎁
Rejoins ma newsletter et reçois une astuce SEO chaque mercredi ! En cadeau, je t'offre un template Google Sheets avec 50 fonctions de scraping prêtes à l'emploi.