GEO

Analyse de logs GEO : qui te crawle vraiment en 2026

Benoit Demonchaux
Benoit Demonchaux

Co-fondateur de Slashr, directeur SEO, conférencier SMX 2024.

13 min de lecture
Résumer avec :

Les LLMLarge Language Model. Modèles d'IA comme GPT ou Gemini capables de générer du texte. ne te donneront jamais de Search ConsoleOutil gratuit Google pour surveiller et optimiser la présence d'un site dans les résultats de recherche.. Pas de rapport de couverture, pas de « pages indexées », pas de courbe d'impressionsNombre de fois qu'une page apparaît dans les résultats de recherche, qu'elle soit cliquée ou non. par requête. Quand ChatGPTAgent conversationnel d'OpenAI utilisant un LLM pour générer des réponses. ou PerplexityMoteur de recherche conversationnel basé sur l'IA, concurrent émergent de Google. cite ton site, tu l'apprends par hasard ou via un outil de monitoring de citations. Le seul endroit où tu vois factuellement ce que ces modèles font de ton contenu, c'est tes logs serveurFichiers enregistrant toutes les requêtes reçues par un serveur, permettant d'analyser le comportement des bots..

Concrètement, analyser tes logs pour le GEOGenerative Engine Optimization. Optimisation pour apparaître dans les réponses des IA génératives. tient en quatre gestes. Tu récupères tes fichiers d'accès (nginx, Apache, Cloudflare), tu filtresSystème de filtres (taille, couleur, prix) générant de nombreuses URLs. Nécessite une gestion SEO. les lignes par user-agent de bot LLM (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot et compagnie), tu mesures la fréquence de crawlProcessus par lequel les robots des moteurs de recherche parcourent et analysent les pages web. et les pages consommées par chaque bot, puis tu croises ces volumes avec tes citations réelles pour distinguer ce qui sert de ce qui gaspille du budget serveur.

Sans logs, tu pilotes ton GEO à l'aveugle. Et en 2026, piloter à l'aveugle un canal qui pèse déjà sur ton trafic de marque, c'est un luxe que personne ne devrait s'offrir.

Les logs, ton seul tableau de bord GEO fiable

L'analyse de logs GEO consiste à lire les journaux d'accès de ton serveur pour identifier les bots des moteurs génératifs, mesurer leur comportement de crawl et relier ce crawl à ta visibilité dans les réponses IA. C'est la seule donnée de première main sur ce que consomment réellement les LLM, parce qu'aucun d'entre eux n'expose de console propriétaire.

Côté SEOSearch Engine Optimization. Ensemble des techniques visant à améliorer le positionnement d'un site web dans les résultats naturels des moteurs de recherche. classique, tu as encore la Search Console pour compenser. Tu vois les requêtesTerme ou expression que les utilisateurs saisissent dans un moteur de recherche. Base de toute stratégie SEO., les clics, l'indexationProcessus par lequel Google ajoute une page à sa base de données pour qu'elle puisse apparaître dans les résultats.. Côté GEO, ce filet n'existe pas. OpenAI, Anthropic ou Perplexity ne publient rien sur les pages qu'ils ont ingérées ni sur la fréquence à laquelle ils reviennent. Tout ce qui traverse leurs bots laisse une trace à un seul endroit : chez toi, dans tes logs.

C'est là que la plupart des articles se trompent de sujet. Ils traitent l'analyse de logs comme un exercice de budget de crawlNombre de pages que Googlebot peut et veut crawler sur un site dans un temps donné. GooglebotRobot d'exploration de Google qui parcourt le web pour découvrir et indexer les pages., hérité du SEO technique 2018. En GEO, l'enjeu n'est pas d'économiser du crawl pour un moteur qui indexe tout. C'est de savoir quels modèles reviennent, sur quelles pages, et si ce crawl se transforme en citationMention du NAP d'une entreprise sur des annuaires ou sites tiers.. Deux questions que personne ne pose parce que personne ne regarde.

Les user-agents LLM que tu dois tracker en 2026

Avant de mesurer quoi que ce soit, il faut savoir qui reconnaître. Un bot LLM se déclare dans le champ user-agent de chaque requête HTTP. Le problème, c'est qu'il y a désormais une dizaine d'acteurs, que certains font tourner plusieurs bots avec des rôles distincts, et qu'un même opérateur sépare son crawl d'entraînement de son crawl de réponse en temps réel. Confondre les deux, c'est se tromper sur tout le reste de l'analyse.

La table à intégrer dans ton filtre :

User-agent Opérateur Rôle
GPTBot OpenAI Entraînement des modèles
OAI-SearchBot OpenAI Consommation live pour ChatGPT Search
ChatGPT-User OpenAI Browsing déclenché par un utilisateur
ClaudeBot Anthropic Crawl général et entraînement
anthropic-ai Anthropic Ancien agent, encore présent dans certains logs
PerplexityBot Perplexity Indexation pour réponses
Perplexity-User Perplexity Récupération à la demande d'un utilisateur
Googlebot Google Index classique, alimente aussi les AI Overviews
Bytespider ByteDance Crawl large, souvent très vorace
Amazonbot Amazon Alimente Alexa+ et Rufus
Applebot Apple Crawl Apple, adossé à Apple Intelligence

Bots d'entraînement contre bots de réponse live

La distinction qui change tout se joue chez OpenAI. GPTBot alimente l'entraînement des futurs modèles : ce qu'il ingère aujourd'hui pourra ressortir dans une réponse dans six ou douze mois, une fois le modèle réentraîné. OAI-SearchBot, lui, va chercher du contenu frais au moment où ChatGPT construit une réponse en mode search. ChatGPT-User se déclenche quand un utilisateur demande explicitement d'aller lire une URL.

Ces trois bots racontent trois histoires différentes. Un pic de GPTBot te dit que ton contenu entre dans le corpus d'entraînement. Un flux régulier d'OAI-SearchBot sur une page te dit qu'elle est considérée comme une source vivante, qu'il rafraîchit souvent. Perplexity fonctionne sur le même principe avec PerplexityBot pour l'index et Perplexity-User pour la récupération immédiate.

Deux noms manquent volontairement à la table : Google-Extended et Applebot-Extended. Ce ne sont pas des bots. Ce sont des jetons de contrôle dans le robots.txtFichier texte à la racine d'un site indiquant aux robots quelles pages explorer ou ignorer. qui autorisent ou non l'usage de tes pages pour l'entraînement de GeminiIA multimodale de Google, intégrée progressivement à ses produits dont la recherche. et d'Apple Intelligence. Tu ne les verras jamais dans tes logs. Croire qu'on peut « tracker Google-Extended » dans un fichier d'accès, c'est le genre d'erreur qui trahit un audit fait de mémoire plutôt que sur les données.

Extraire le crawl par bot en une commande

Pour un besoin ponctuel, grep suffit. Sur un fichier d'accès nginx ou Apache, un comptage par bot tient en une ligne.

grep -ioE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|PerplexityBot|Bytespider|Amazonbot|Applebot" access.log \
  | sort | uniq -c | sort -rn

Tu obtiens le nombre de hits par bot, trié. En trente secondes tu sais qui vient chez toi et dans quelles proportions. C'est souvent le premier électrochoc : beaucoup de sites découvrent que Bytespider représente la moitié de leur crawl IA sans apporter la moindre visibilité exploitable.

Attention : le user-agent est déclaratif, pas fiable N'importe quel scraper peut se présenter comme « GPTBot ». Avant de bâtir des décisions sur un volume, valide l'authenticité par reverse DNS et par les plages IP publiées par les opérateurs. OpenAI, Anthropic et Perplexity documentent leurs blocs d'adresses. Un « GPTBot » qui résout vers une IP résidentielle au hasard, c'est un imposteur, pas un signal GEO.

Où sont tes logs et comment les préparer

Le format et l'endroit dépendent de ton infra, et ça conditionne tout le reste.

Les sources selon ton stack

Sur un serveur nginx, les logs vivent dans /var/log/nginx/access.log. Sur Apache, dans /var/log/apache2/access.log. Si tu es derrière Cloudflare, le trafic bot est parfois filtré avant d'atteindre l'origine, et il te faut activer les Logpush pour récupérer la vue complète. Sur AWS, ce sont les logs d'accès CloudFront déposés dans un bucket S3. Sur GCP, les logs du load balancer HTTP(S) dans Cloud Logging. Le piège classique : analyser les logs d'origine derrière un CDNContent Delivery Network. Réseau de serveurs distribuant le contenu depuis le serveur le plus proche de l'utilisateur. et conclure que « les bots ne viennent pas », alors que le CDN sert la réponse depuis son cache et n'a jamais transmis la requête à l'origine.

Rétention, volume et RGPD

Un site e-commerce moyen génère plusieurs gigaoctets de logs par jour. Pour une analyse GEO exploitable, garde au minimum trois mois d'historique : les cycles de re-crawl des LLM se comptent en semaines, pas en heures. Côté conformité, les logs contiennent des adresses IP, donc des données personnelles au sens du RGPD. Pour l'analyse bot, l'IP humaine ne t'intéresse pas. Tronque le dernier octet ou hashe le champ IP à l'ingestion, documente ta durée de rétention, et tu restes propre sans perdre l'info utile, qui est le user-agent et l'URL.

Les outils de log qui valent vraiment le coup

Screaming FrogLogiciel de crawl permettant d'auditer techniquement un site web. Log File Analyser fait le job pour un site sous le million d'URL et un analyste qui veut une interface. Oncrawl et Botify montent en gamme quand tu croises logs et structure de site à l'échelle, avec des connecteurs prêts à l'emploi, mais tu paies pour ça.

Pour les gros volumes, oublie les outils packagés et charge tes logs dans DuckDB, ClickHouse ou BigQuery. DuckDB en particulier avale des dizaines de gigaoctets de logs en local, sans serveur, et te laisse écrire du SQL directement sur les fichiers. Les outils SEO du marché savent compter Googlebot depuis dix ans, mais ils restent tièdes sur la segmentation fine des bots LLM. Un script maison te donne le contrôle total sur ta table de user-agents.

Commence par grep, industrialise après Avant de payer une licence Botify pour du GEO, sors tes premiers chiffres avec grep et DuckDB sur un mois de logs. Dans neuf cas sur dix, l'analyse manuelle révèle déjà les deux ou trois décisions qui comptent vraiment. Tu automatises seulement ce qui mérite un suivi récurrent.

Les KPI GEO que tu sors de tes logs

Un comptage de hits, c'est mignon, mais ça ne pilote rien. Les métriques qui déclenchent une décision sont au nombre de trois, et chacune se traduit par une requête que tu peux lancer aujourd'hui. Je pars du principe que tu as chargé tes logs dans une table logs avec les colonnes bot, url, status, ts.

La fréquence de crawl par bot et par page

Première question : qui revient, à quelle cadence, et sur quoi. La fréquence par bot combinée au nombre d'URL distinctes te dit si un modèle explore en largeur ou se concentre sur quelques pages.

SELECT bot,
       count(*)              AS hits,
       count(DISTINCT url)   AS urlsUniform Resource Locator. Adresse unique d'une page web. Une URL optimisée est courte, descriptive et contient le mot-clé.,
       count(*) / count(DISTINCT url) AS hits_par_url
FROM logs
WHERE bot IN ('GPTBot','OAI-SearchBot','ClaudeBot','PerplexityBot')
GROUP BY bot
ORDER BY hits DESC;

Un hits_par_url élevé sur OAI-SearchBot signale des pages considérées comme des sources vivantes, rafraîchies souvent. Un hits_par_url proche de 1 sur GPTBot, c'est un passage d'entraînement large et peu répété. Deux comportements, deux lectures.

Le ratio crawl sur citation

C'est le KPIKey Performance Indicator. Indicateurs clés mesurant l'efficacité d'une stratégie SEO. que personne ne calcule et c'est le plus important. Une page peut être crawlée cent fois par OAI-SearchBot et ne jamais apparaître dans une réponse. À l'inverse, une page peu crawlée peut concentrer toutes tes citations. Le ratio te dit où ton contenu est citable et où il ne fait que consommer du crawl.

SELECT l.url,
       count(*)            AS crawl_hits,
       coalesce(c.citations, 0) AS citations
FROM logs l
LEFT JOIN citations c ON c.url = l.url
WHERE l.bot = 'OAI-SearchBot'
GROUP BY l.url, c.citations
ORDER BY crawl_hits DESC
LIMIT 50;

Trois cas à lire dans ce tableau. Beaucoup de crawl, zéro citation : le contenu n'est pas assez citable, retravaille le format vers de la réponse directe et des données propres. Peu de crawl, beaucoup de citations : page à protéger et à mailler pour l'irriguer davantage. Zéro crawl et pourtant des citations, on y revient plus bas, c'est le signe d'une citation qui vient de l'entraînement.

Les pages qui devraient être crawlées et qui ne le sont pas

La dernière métrique est une absence. Tu prends ta liste de pages stratégiques (sitemapFichier XML listant toutes les URLs d'un site pour faciliter leur découverte par les moteurs de recherche., ou export de tes URL à fort enjeu) et tu fais un anti-join avec les logs pour trouver celles qu'aucun bot de réponse n'a jamais touchées.

SELECT s.url
FROM sitemap s
LEFT JOIN logs l
       ON l.url = s.url AND l.bot = 'OAI-SearchBot'
WHERE l.url IS NULL;

Toute page stratégique qui ressort ici a un problème de découvrabilité. Soit ton maillage interneEnsemble des liens entre les pages d'un même site. Distribue le jus SEO et guide les utilisateurs. ne l'expose pas, soit ton robots.txt la bloque par erreur, soit elle est trop profonde. C'est de l'action directe : tu ne devines plus, tu as la liste exacte des trous à combler. Combien de sites ont leur page produitPage dédiée à un produit, devant être optimisée avec description unique, images et données structurées. la plus rentable invisible pour OAI-SearchBot sans le savoir ?

Croiser logs et citations, le maillon manquant

Les logs répondent à « qui me crawle ». Ils ne répondent pas à « qui me cite ». Et tant que tu n'as pas les deux, tu ne peux pas trancher.

C'est exactement le rôle de Janus, notre outil de visibilité LLM : il monitore les citations réelles dans les réponses de ChatGPT, Perplexity et consorts. Croisé avec tes logs, il transforme un comptage de crawl en diagnostic causal.

Prends le cas d'école. Une page est citée par ChatGPT, mais tes logs ne montrent aucune visite d'OAI-SearchBot dessus. Conclusion : la citation ne vient pas du search live, elle vient du corpus d'entraînement, c'est-à-dire d'un snapshot GPTBot antérieur. Si l'information citée est obsolète, tu ne la corrigeras pas en modifiant la page aujourd'hui, il faudra attendre un réentraînement. Cas inverse : OAI-SearchBot martèle une page toutes les semaines, mais elle n'apparaît jamais dans les citations Janus. Là, le contenu est vu, jugé et écarté. Le problème est éditorial, pas technique.

Sans ce croisement, tu confonds deux mécaniques qui appellent des réponses opposées. La plupart des agences vendent du « monitoring de citations » d'un côté et de « l'analyse de logs » de l'autre, comme deux prestations séparées. Ce qu'il faut faire, c'est les brancher l'une sur l'autre. C'est la seule façon de savoir si tu joues sur le search live, sur l'entraînement ou sur les deux.

Ce que tu fais de ces données

Un audit qui ne débouche pas sur une décision, c'est un rapport pour étagère. Les logs GEO en rendent trois possibles.

Côté robots.txt, tu décides bot par bot. Autoriser GPTBot, c'est parier sur une présence dans les futurs modèles, au prix de donner ton contenu à l'entraînement. Le bloquer protège ton contenu mais te retire du corpus. Il n'y a pas de réponse universelle : c'est un arbitrage que seule la donnée de crawl éclaire.

Côté maillage, les pages à fort enjeu sous-crawlées se corrigent en renforçant les liens internes qui pointent vers elles depuis tes pages les plus visitées par les bots. Tu orientes le crawl comme tu orientes du PageRankAlgorithme historique de Google évaluant l'importance d'une page selon ses backlinks. Toujours utilisé en interne..

Côté abus, tes logs révèlent aussi les scrapers déguisés et les bots légitimes mais gloutons. Bytespider est réputé pour tirer des volumes énormes. Si ce trafic te coûte en serveur sans rien te rapporter en visibilité, tu le limites par rate limiting ou tu le refuses dans le robots.txt. L'arbitrage est simple : quel bot mérite ta bande passante vu ce qu'il te rapporte en citations.

La niche que personne ne travaille

L'analyse de logs était déjà une discipline rare en SEO. En GEO, c'est un désert. La quasi-totalité des acteurs regardent des dashboards de citations sans jamais ouvrir un fichier d'accès. Ils pilotent un canal entier sur des symptômes, jamais sur la cause. Tes logs, eux, ne mentent pas.

Questions fréquentes

Comment comprendre une ligne de log serveur

Une ligne d'accès contient l'IP source, l'horodatage, la méthode et l'URL demandée, le code de réponse HTTP (200, 301Redirection permanente transférant le jus SEO de l'ancienne URL vers la nouvelle., 404Code HTTP indiquant qu'une page n'existe pas. Trop d'erreurs 404 nuisent au crawl budget., 500Code HTTP indiquant une erreur côté serveur. Impacte négativement le crawl et l'expérience utilisateur.), la taille de la réponse et le user-agent. Pour le GEO, les deux champs qui comptent sont l'URL et le user-agent : ils te disent quelle page a été consommée et par quel bot. Les codes de réponse repèrent les erreurs servies aux bots.

Qu'est-ce que l'analyse log-log

Rien à voir avec les journaux serveur, c'est un faux ami. L'analyse log-log est une technique statistique où l'on trace deux variables sur des axes en échelle logarithmique pour révéler des relations de puissance, courantes en physique ou en économétrie. Le mot « log » y désigne le logarithme mathématique, pas un fichier de logs. Aucun rapport avec le crawl.

Quels sont les 4 types d'analyse de données

On distingue l'analyse descriptive (ce qui s'est passé), diagnostique (pourquoi c'est arrivé), prédictive (ce qui va probablement arriver) et prescriptive (quoi faire en conséquence). Une analyse de logs GEO bien menée traverse les quatre : elle décrit le crawl, diagnostique les trous de citation, anticipe les pages à risque et prescrit les arbitrages robots.txt et maillage.

Les bots LLM respectent-ils vraiment le robots.txt

Les opérateurs majeurs (OpenAI, Anthropic, Google, Perplexity) déclarent respecter le robots.txt et le font dans l'ensemble. Mais le respect n'est jamais garanti côté acteurs plus agressifs, et un scraper qui usurpe un user-agent ignore tout de tes directives. C'est pourquoi le robots.txt reste un signal d'intention, pas une barrière technique. Pour bloquer réellement, il faut agir au niveau serveur ou CDN.

Tags

GEO
Benoit Demonchaux
Benoit Demonchaux

Co-fondateur & SEO Director

Benoît Demonchaux est co-fondateur de Slashr, agence de référencement naturel basée à Lille et consultant SEO depuis 6 ans. Avant de créer Slashr, il a exercé en tant qu'éditeur de sites et chef de projets dans une grande agence SEO.

Voir tous ses articles

Restez informés des tendances et des meilleures pratiques

Vous avez besoin d'un partenaire de confiance, pour développer votre trafic organique. Comme avec nos clients, faisons équipe pour vous accompagner avec efficacité, fiabilité et pragmatisme.

Votre email
S'inscrire
Benoit
Anthony
Lucas

+500 personnes suivent la news