Les LLMLarge Language Model. Modèles d'IA comme GPT ou Gemini capables de générer du texte. ne vous 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 votre site, vous l'apprenez par hasard ou via un outil de monitoring de citations. Le seul endroit où vous voyez factuellement ce que ces modèles font de votre contenu, ce sont vos logs serveurFichiers enregistrant toutes les requêtes reçues par un serveur, permettant d'analyser le comportement des bots..
Concrètement, analyser vos logs pour le GEOGenerative Engine Optimization. Optimisation pour apparaître dans les réponses des IA génératives. tient en quatre gestes. Vous récupérez vos fichiers d'accès (nginx, Apache, Cloudflare), vous filtrez les lignes par user-agent de bot LLM (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot et compagnie), vous mesurez 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 vous croisez ces volumes avec vos citations réelles pour distinguer ce qui sert de ce qui gaspille du budget serveur.
Sans logs, vous pilotez votre GEO à l'aveugle. Et en 2026, piloter à l'aveugle un canal qui pèse déjà sur votre trafic de marque, c'est un luxe que personne ne devrait s'offrir.
Les logs, votre seul tableau de bord GEO fiable

L'analyse de logs GEO consiste à lire les journaux d'accès de votre serveur pour identifier les bots des moteurs génératifs, mesurer leur comportement de crawl et relier ce crawl à votre 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, vous avez encore la Search Console pour compenser. Vous voyez 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 vous, dans vos 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 vous devez 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 votre 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 | 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 vous dit que votre contenu entre dans le corpus d'entraînement. Un flux régulier d'OAI-SearchBot sur une page vous 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 vos pages pour l'entraînement de GeminiIA multimodale de Google, intégrée progressivement à ses produits dont la recherche. et d'Apple Intelligence. Vous ne les verrez jamais dans vos 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
Vous obtenez le nombre de hits par bot, trié. En trente secondes vous savez qui vient chez vous 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.
Où sont vos logs et comment les préparer

Le format et l'endroit dépendent de votre infra, et ça conditionne tout le reste.
Les sources selon votre stack
Sur un serveur nginx, les logs vivent dans /var/log/nginx/access.log. Sur Apache, dans /var/log/apache2/access.log. Si vous êtes derrière Cloudflare, le trafic bot est parfois filtré avant d'atteindre l'origine, et il vous 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, gardez 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 vous intéresse pas. Tronquez le dernier octet ou hashez le champ IP à l'ingestion, documentez votre durée de rétention, et vous restez 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 vous croisez logs et structure de site à l'échelle, avec des connecteurs prêts à l'emploi, mais vous payez pour ça.
Pour les gros volumes, oubliez les outils packagés et chargez vos logs dans DuckDB, ClickHouse ou BigQuery. DuckDB en particulier avale des dizaines de gigaoctets de logs en local, sans serveur, et vous 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 vous donne le contrôle total sur votre table de user-agents.
Les KPI GEO que vous sortez de vos 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 vous pouvez lancer aujourd'hui. Je pars du principe que vous avez chargé vos 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 vous 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 vos citations. Le ratio vous dit où votre 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, retravaillez 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. Vous prenez votre 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 vos URL à fort enjeu) et vous faites 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 votre 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 votre robots.txt la bloque par erreur, soit elle est trop profonde. C'est de l'action directe : vous ne devinez plus, vous avez 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 vous n'avez pas les deux, vous ne pouvez 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 vos logs, il transforme un comptage de crawl en diagnostic causal.
Prenez le cas d'école. Une page est citée par ChatGPT, mais vos 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, vous ne la corrigerez 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, vous confondez 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 vous jouez sur le search live, sur l'entraînement ou sur les deux.
Ce que vous faites de ces données

Un audit GEO 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, vous décidez bot par bot. Autoriser GPTBot, c'est parier sur une présence dans les futurs modèles, au prix de donner votre contenu à l'entraînement. Le bloquer protège votre contenu mais vous 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 vos pages les plus visitées par les bots. Vous orientez le crawl comme vous orientez du PageRankAlgorithme historique de Google évaluant l'importance d'une page selon ses backlinks. Toujours utilisé en interne..
Côté abus, vos 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 vous coûte en serveur sans rien vous rapporter en visibilité, vous le limitez par rate limiting ou vous le refusez dans le robots.txt. L'arbitrage est simple : quel bot mérite votre bande passante vu ce qu'il vous 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. Vos 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 vous 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 vos 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.

