GEO-Score
ServicesÀ proposApprendreClassementRapportsTarifsBlog

GEO-Score

Le meilleur outil d'analyse GEO

Testez votre contenu pour les moteurs de recherche IA comme ChatGPT, Perplexity et Claude. Obtenez des informations actionnables pour améliorer votre visibilité.

Recevez des conseils sur le contenu GEO

Ressources

  • Base de connaissances
  • Qu'est-ce que le GEO ?
  • Blog GEO
  • Vérificateur GEO Score
  • Classement
  • Glossaire IA
  • Études de cas
  • GEO Insights
  • Rapports

Outils GEO

  • Audit GEO complet du site web
  • Analyse GEO
  • AI Visibility Checker
  • Calculateur de ROI
  • Validateur Schema
  • Vérificateur SEO Perplexity
  • Vérificateur SEO ChatGPT
  • Vérificateur Mode IA de Google
  • Vérificateur de crawlers IA
  • Vérificateur agent-ready
  • Générateur llms.txt
  • Outil query fan-out
  • AI Bot Log Analyzer
  • Comparaison concurrentielle
  • Services professionnels
  • Tous les outils

Analysez vos

  • Articles de blog
  • Pages produit
  • Pages d'atterrissage
  • Pages d'accueil
  • Pages de services

GEO-Score

  • À propos
  • Politique de confidentialité
  • Conditions générales
  • Contact
  • Marque blanche
  • Construisez votre succès

Suivez GEO-Score

Guides de recherche IA

AI Search OptimizationPerplexity SEOChatGPT SEOLLM SEOAI Visibility CheckerTous les guides →
Conforme au RGPDDonnées hébergées dans l'UEFait aux Pays-Bas
KVK: 61855111BTW: NL004509498B76© 2026 GEO-score.onlineGEO-Score fait partie de Be-Found.
Boostez votre blog avec Bloffee
  1. Accueil
  2. Guides
  3. Bots IA dans les logs

GEO technique

Trouvez les bots IA dans vos logs serveur (et vérifiez qu’ils sont réels)

Votre outil d’analytics ne voit pas les robots d’IA. Vos logs serveur, si. Voici des commandes à copier, les listes d’IP officielles et une checklist de confidentialité.

Mis à jour et vérifié le 19 octobre 2026

Vous préférez éviter la ligne de commande ?

Collez votre log dans notre AI Bot Log Analyzer gratuit. Il fonctionne dans votre navigateur : votre log n’est jamais envoyé.

Ouvrir l’AI Bot Log Analyzer

Pourquoi votre analytics ne montre pas les bots IA

Des outils comme Google Analytics comptent les visites avec un petit script qui tourne dans le navigateur. Un robot qui télécharge seulement votre HTML n’exécute jamais ce script, donc il n’apparaît jamais.

Votre serveur web note chaque requête, des humains comme des bots. Ce registre, c’est votre log d’accès.

Les logs répondent à trois questions : quels bots passent, quelles pages ils récupèrent, et s’ils obtiennent la page ou une erreur.

Où trouver vos logs

  • nginx : le format standard « combined » contient déjà tout le nécessaire. Sous Debian et Ubuntu, le fichier se trouve en général dans /var/log/nginx/access.log.
  • Apache : utilisez aussi le format combined. Le format « common » n’a pas d’agent utilisateur, il ne permet donc pas de repérer les bots. Ajoutez %{User-agent}i à votre LogFormat.
  • Derrière un CDN ou un proxy ? Le premier champ affiche alors peut-être l’IP de votre proxy pour chaque requête. Configurez d’abord le réglage « real IP » de votre serveur (ou enregistrez l’IP client transmise), sinon chaque vérification d’IP ci-dessous échouera.
  • Pas d’accès aux logs bruts ? Regardez le tableau de bord de votre hébergeur, ou placez un CDN devant votre site. Plus d’infos plus bas.

Sources

  • Documentation du module de logs nginx (s’ouvre dans un nouvel onglet)
  • Documentation des fichiers de logs Apache (s’ouvre dans un nouvel onglet)

Lire une ligne de log

Voici une ligne au format combined, avec une adresse IP inventée. Chaque partie répond à une question.

Exemple de ligne de log (format combined)
203.0.113.7 - - [19/Oct/2026:08:01:02 +0000] "GET /pricing HTTP/1.1" 200 5123 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot"
  • Adresse IP : d’où vient la requête. C’est elle que vous comparerez aux listes officielles.
  • Heure : quand cela s’est produit.
  • Requête : la méthode et la page. Ici GET /pricing.
  • Code de statut : 200 = servie, 301/302 = redirigée, 403 = bloquée, 404 = introuvable, 5xx = erreur serveur.
  • Octets : la quantité renvoyée.
  • Agent utilisateur : qui le visiteur prétend être. Ici GPTBot. N’importe qui peut le taper, donc à lui seul il ne prouve rien.

Les bots IA à repérer

Cette liste vient de la documentation de chaque entreprise, vérifiée le 19 octobre 2026.

Robots et fetchers d’IA, avec leurs listes d’IP officielles
Agent utilisateurEntrepriseRôleRespecte robots.txtListe d’IP
OAI-SearchBotOpenAIIndex de rechercheOuiOAI-SearchBot JSON (s’ouvre dans un nouvel onglet)
GPTBotOpenAIEntraînementOuiGPTBot JSON (s’ouvre dans un nouvel onglet)
ChatGPT-UserOpenAIDemande d’un utilisateurEn partieChatGPT-User JSON (s’ouvre dans un nouvel onglet)
Claude-SearchBotAnthropicIndex de rechercheOuiClaude-SearchBot JSON (s’ouvre dans un nouvel onglet)
ClaudeBotAnthropicEntraînementOuiClaudeBot JSON (s’ouvre dans un nouvel onglet)
Claude-UserAnthropicDemande d’un utilisateurOuiClaude-User JSON (s’ouvre dans un nouvel onglet)
PerplexityBotPerplexityIndex de rechercheOuiPerplexityBot JSON (s’ouvre dans un nouvel onglet)
Perplexity-UserPerplexityDemande d’un utilisateurNonPerplexity-User JSON (s’ouvre dans un nouvel onglet)
GooglebotGoogleMoteur de rechercheOuiGooglebot JSON (s’ouvre dans un nouvel onglet)
Google-AgentGoogleDemande d’un utilisateurNonGoogle-Agent JSON (s’ouvre dans un nouvel onglet)Google-Agent JSON (s’ouvre dans un nouvel onglet)Google-Agent JSON (s’ouvre dans un nouvel onglet)
bingbotMicrosoftMoteur de rechercheOuibingbot JSON (s’ouvre dans un nouvel onglet)
ApplebotAppleMoteur de rechercheOuiApplebot JSON (s’ouvre dans un nouvel onglet)
meta-externalagentMetaEntraînementOuiNon publiée
meta-webindexerMetaIndex de rechercheOuiNon publiée
meta-externalfetcherMetaDemande d’un utilisateurEn partieNon publiée
AmazonbotAmazonEntraînementOuiNon publiée
Amzn-SearchBotAmazonIndex de rechercheOuiNon publiée
Amzn-UserAmazonDemande d’un utilisateurEn partieNon publiée
DuckAssistBotDuckDuckGoIndex de rechercheOuiDuckAssistBot JSON (s’ouvre dans un nouvel onglet)
MistralAI-UserMistral AIDemande d’un utilisateurOuiNon publiée
MistralAI-IndexMistral AIIndex de rechercheNon préciséNon publiée
MistralAI-TrainingMistral AIEntraînementOuiNon publiée
CCBotCommon CrawlEntraînementOuiCCBot JSON (s’ouvre dans un nouvel onglet)

Google-Extended et Applebot-Extended sont des jetons robots.txt, pas des robots. Ils n’apparaissent jamais dans un log.

Anthropic ne publie pas de chaînes d’agent utilisateur complètes. Dans les logs, elles ressemblent à « compatible; Claude-User/1.0; +claudebot@anthropic.com ».

Commandes à copier

Elles fonctionnent sur un log au format combined. Nous les avons testées le 19 octobre 2026 avec grep et awk sous macOS. Remplacez access.log par votre fichier.

Compter les requêtes par bot IA
grep -oE 'GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|meta-externalagent|Amazonbot|Applebot|DuckAssistBot|MistralAI-User|CCBot' access.log | sort | uniq -c | sort -rn
Codes de statut par bot
awk -F'"' '{ split($3,a," "); if (match($6,/GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User/)) print substr($6,RSTART,RLENGTH), a[1] }' access.log | sort | uniq -c
Pages les plus vues par un bot
grep 'OAI-SearchBot' access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
Seulement les erreurs (4xx et 5xx) des bots IA
awk -F'"' '$6 ~ /GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User/ { split($3,a," "); if (a[1] >= 400) print a[1], $2 }' access.log
Chercher dans les anciens logs compressés
zgrep -c 'GPTBot' /var/log/nginx/access.log.*.gz

Vérifier chaque IP de bot avec Python

Ce script télécharge les listes d’IP officielles et affiche VERIFIED ou NOT IN LIST pour chaque ligne de bot. Il n’utilise que la bibliothèque standard de Python.

verify_bots.py
# Usage: python3 verify_bots.py access.log
import ipaddress, json, re, sys, urllib.request

LISTS = {
    "GPTBot": "https://openai.com/gptbot.json",
    "OAI-SearchBot": "https://openai.com/searchbot.json",
    "ChatGPT-User": "https://openai.com/chatgpt-user.json",
    "ClaudeBot": "https://claude.com/crawling/bots.json",
    "Claude-User": "https://claude.com/crawling/bots.json",
    "Claude-SearchBot": "https://claude.com/crawling/bots.json",
    "PerplexityBot": "https://www.perplexity.com/perplexitybot.json",
    "Perplexity-User": "https://www.perplexity.com/perplexity-user.json",
    "Googlebot": "https://developers.google.com/static/crawling/ipranges/common-crawlers.json",
    "bingbot": "https://www.bing.com/toolbox/bingbot.json",
}
cache = {}

def networks(url):
    if url not in cache:
        req = urllib.request.Request(url, headers={"User-Agent": "log-check/1.0"})
        data = json.load(urllib.request.urlopen(req, timeout=20))
        cache[url] = [ipaddress.ip_network(p.get("ipv4Prefix") or p.get("ipv6Prefix"))
                      for p in data["prefixes"]]
    return cache[url]

bot = re.compile("|".join(sorted(map(re.escape, LISTS), key=len, reverse=True)))
for line in open(sys.argv[1], errors="replace"):
    ua = line.split('"')[5] if line.count('"') >= 6 else line
    match = bot.search(ua)
    if not match:
        continue
    try:
        ip = ipaddress.ip_address(line.split()[0])
    except ValueError:
        continue
    ok = any(ip in net for net in networks(LISTS[match.group(0)]))
    print("VERIFIED   " if ok else "NOT IN LIST", match.group(0), ip)

Est-ce vraiment GPTBot ? Vérifiez l’IP

Un agent utilisateur n’est que du texte. N’importe qui peut envoyer « GPTBot ». Perplexity recommande lui-même de combiner l’agent utilisateur avec une vérification de l’IP.

Méthode 1 : les listes d’IP officielles

OpenAI, Anthropic, Perplexity, Google, Microsoft (Bing), Apple, DuckDuckGo et Common Crawl publient des listes JSON des plages d’IP de leurs bots. Si l’IP figure dans la liste, la requête vient du réseau de l’entreprise. Les liens sont dans le tableau ci-dessus.

Méthode 2 : le DNS inverse

Google : cherchez le nom d’hôte de l’IP. Il doit se terminer par googlebot.com, google.com ou googleusercontent.com, et la recherche de ce nom doit renvoyer la même IP. Pour Bing, c’est pareil, avec des noms se terminant par search.msn.com.

Vérification DNS inverse pour Googlebot
host 66.249.66.1
# 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# crawl-66-249-66-1.googlebot.com has address 66.249.66.1  ← same IP: real Googlebot

« Absent de la liste » ne veut pas toujours dire faux. Les listes changent, et le fichier JSON de Bing a été généré pour la dernière fois en janvier 2024. Voyez-y un signal « à vérifier », pas une preuve.

Anthropic prévient que le blocage par IP peut mal fonctionner et ne garantit pas un retrait durable. Utilisez robots.txt pour vous désinscrire.

Sources

  • Google : vérifier Googlebot (s’ouvre dans un nouvel onglet)
  • Bing : vérifier bingbot (s’ouvre dans un nouvel onglet)
  • Perplexity : bots (s’ouvre dans un nouvel onglet)

Ce que disent les chiffres

  • Entraînement, recherche et demandes d’utilisateurs sont différents. GPTBot et ClaudeBot collectent des données d’entraînement. OAI-SearchBot, Claude-SearchBot et PerplexityBot construisent des index de recherche. ChatGPT-User, Claude-User et Perplexity-User récupèrent une page parce que quelqu’un la demande à l’instant.
  • Beaucoup de réponses 403 ou 5xx signifient que vous bloquez ou cassez l’accès des IA. Vérifiez votre pare-feu, les réglages bots de votre CDN et votre robots.txt.
  • Les requêtes vers robots.txt et llms.txt montrent quels bots lisent vos règles. OpenAI indique qu’OAI-SearchBot et GPTBot peuvent ajouter une mention robots.txt à leur agent utilisateur quand ils récupèrent ce fichier.
  • Les demandes d’utilisateurs peuvent ignorer robots.txt. Selon OpenAI, les règles de robots.txt peuvent ne pas s’appliquer à ChatGPT-User, et selon Perplexity, Perplexity-User les ignore en général.
  • Une visite n’est pas une citation. Elle signifie qu’un bot a lu votre page, pas qu’une réponse d’IA la citera.
  • Configurer robots.txt pour les robots d’IA
  • Faire citer vos pages par l’IA

Pas d’accès au serveur ? Utilisez votre CDN

AI Crawl Control de Cloudflare (anciennement AI Audit) montre quels services d’IA explorent votre site et quels robots ignorent vos règles. Selon Cloudflare, il est disponible dans toutes les offres.

Cloudflare Logpush peut exporter les logs de requêtes avec des champs comme ClientIP, ClientRequestUserAgent, ClientRequestPath et EdgeResponseStatus. Notre analyseur lit aussi ces lignes JSON.

Sources

  • Cloudflare AI Crawl Control (s’ouvre dans un nouvel onglet)
  • Champs de Cloudflare Logpush (s’ouvre dans un nouvel onglet)

Logs et vie privée (RGPD)

Les adresses IP peuvent être des données personnelles. La Cour de justice de l’UE l’a dit pour les adresses IP dynamiques dans l’affaire Breyer (C-582/14, 19 octobre 2016), et le considérant 30 du RGPD cite les adresses IP comme identifiants en ligne.

Les IP des bots appartiennent à des entreprises, mais le même log contient aussi les IP de vos visiteurs. Une approche pratique :

  • Isolez d’abord les lignes de bots, et travaillez sur celles-ci.
  • Ne gardez les logs bruts que le temps nécessaire, par exemple pour la sécurité. Le RGPD ne fixe pas de nombre de jours ; il dit de ne pas conserver les données personnelles plus longtemps que nécessaire.
  • Conservez des totaux (bot, jour, page, statut, vérifié ou non) plutôt que des IP.
  • Tronquez ou hachez une IP une fois vérifiée.
  • N’envoyez pas de logs bruts à un outil externe sans contrat de sous-traitance. Notre analyseur fonctionne dans votre navigateur : rien n’est envoyé.

Ceci est une information générale, pas un conseil juridique.

Sources

  • CJUE, affaire C-582/14 (Breyer) (s’ouvre dans un nouvel onglet)
  • RGPD, considérant 30 (s’ouvre dans un nouvel onglet)

Questions fréquentes

Comment savoir si ChatGPT visite mon site ?

Cherchez dans votre log d’accès OAI-SearchBot (recherche ChatGPT), ChatGPT-User (demande d’un utilisateur) et GPTBot (entraînement). Comparez ensuite les IP aux listes d’OpenAI.

Pourquoi Google Analytics n’affiche-t-il pas GPTBot ?

Google Analytics compte les visites via un script dans le navigateur. Les robots qui téléchargent seulement votre HTML ne l’exécutent pas.

Comment savoir si une requête GPTBot est réelle ?

Comparez son IP à openai.com/gptbot.json. Si elle n’y figure pas, traitez la requête comme non vérifiée.

Quels bots ignorent robots.txt ?

D’après leur propre documentation : les bots qui récupèrent une page parce qu’un utilisateur l’a demandée. OpenAI dit que robots.txt peut ne pas s’appliquer à ChatGPT-User, Perplexity dit que Perplexity-User l’ignore en général, et Google dit la même chose de ses fetchers déclenchés par les utilisateurs.

Que signifient des erreurs 403 pour les bots IA ?

Votre serveur, votre pare-feu ou votre CDN a refusé la requête. Si vous voulez être trouvé dans la recherche IA, trouvez la règle qui bloque le bot et modifiez-la.

Ai-je le droit d’enregistrer les adresses IP ?

En général oui, dans un but précis comme la sécurité, mais les IP peuvent être des données personnelles. Gardez les logs peu de temps, stockez des totaux plutôt que des IP, et mentionnez la journalisation dans votre politique de confidentialité. Ceci n’est pas un conseil juridique.

Pour aller plus loin

  • AI Bot Log Analyzer gratuit (dans votre navigateur)
  • Configurer robots.txt pour les robots d’IA
  • Référence : agents utilisateurs des bots IA
  • Le guide llms.txt
  • Générateur de robots.txt pour les bots IA
  • Suivre les visites venues des outils d’IA

Assurez-vous que les bots trouvent quelque chose à lire

Exploré ne veut pas dire cité. Voyez comment les outils d’IA lisent votre page, sur 22 points.

Analyser ma page