Welke AI-crawlers bezoeken je site — en hoe zie je dat in je logs?
GPTBot, ClaudeBot, PerplexityBot en meer doen niet hetzelfde: sommige verzamelen trainingsdata, andere bouwen een zoekindex, weer andere halen op verzoek van een gebruiker direct een pagina op. Zo filter en verifieer je ze in je logs.
De belangrijkste AI-gerelateerde bots in server- of CDN-logs zijn GPTBot en OAI-SearchBot van OpenAI, ClaudeBot en Claude-User van Anthropic, Googlebot in combinatie met Google-Extended, PerplexityBot en Perplexity-User, Bytespider, Amazonbot, CCBot en Applebot. Ze doen niet hetzelfde: sommige verzamelen content voor mogelijke modeltraining, andere bouwen een zoekindex en weer andere halen op verzoek van een gebruiker direct een pagina op.
Dat onderscheid bepaalt wat je ermee wilt doen. Je kunt een trainingscrawler blokkeren, maar een zoek- of citatiecrawler juist toelaten om vindbaar en citeerbaar te blijven — zie ook blokkeer je AI-crawlers of laat je ze binnen. Daarvoor moet je niet alleen robots.txt controleren, maar ook meten wat er werkelijk in je logs gebeurt.
Niet elke AI-bot doet hetzelfde
Er zijn grofweg drie categorieën. Trainingscrawlers verzamelen webcontent die in toekomstige datasets of modelverbetering kan belanden. Zoekcrawlers bouwen of verversen een index waarmee een AI-dienst later relevante pagina's kan vinden. User-triggered fetchers bezoeken een pagina omdat een gebruiker op dat moment een vraag stelt of een specifieke URL laat ophalen.
OpenAI maakt dat onderscheid expliciet. GPTBot crawlt content die mogelijk wordt gebruikt voor training van generatieve foundation models. OAI-SearchBot is bedoeld voor ChatGPT Search en bepaalt of pagina's in zoekantwoorden kunnen worden gevonden en getoond. Daarnaast bestaat ChatGPT-User voor bepaalde acties die door een gebruiker worden gestart; dat is geen automatische webcrawler. OpenAI publiceert voor deze agents aparte user-agents en IP-ranges.
Bij Anthropic is ClaudeBot de crawler die webcontent kan verzamelen voor modelontwikkeling. Claude-User is bedoeld voor user-initiated retrieval wanneer Claude tijdens een gebruikersvraag een site bezoekt. Anthropic heeft daarnaast Claude-SearchBot voor zoekfunctionaliteit. Daarmee is ook hier duidelijk dat "Claude-verkeer" niet één technisch doel heeft.
Perplexity hanteert dezelfde scheiding. PerplexityBot indexeert pagina's voor de zoekresultaten van Perplexity en wordt volgens Perplexity niet gebruikt voor foundation-modeltraining. Perplexity-User kan tijdens een concrete gebruikersvraag een webpagina ophalen en een link naar die pagina in het antwoord opnemen.
Google-Extended en Applebot-Extended zijn bijzondere gevallen
Google-Extended wordt vaak in lijstjes met AI-crawlers gezet, maar technisch klopt dat niet helemaal. Google-Extended heeft geen eigen HTTP user-agent die je als afzonderlijke crawler in je access logs zult zien. Het is een robots.txt-producttoken waarmee je bepaalt of content die Google met bestaande crawlers heeft opgehaald, mag worden gebruikt voor onder meer toekomstige Gemini-modellen en bepaalde grounding-toepassingen. Het blokkeren van Google-Extended blokkeert Google Search niet. De daadwerkelijke crawl kan nog steeds door Googlebot worden uitgevoerd.
Applebot-Extended werkt vergelijkbaar. Applebot is de echte crawler; Applebot-Extended crawlt volgens Apple zelf geen webpagina's. Het token geeft publishers controle over het gebruik van door Applebot verzamelde content voor training van generatieve foundation models. Een logzoekopdracht naar "Applebot-Extended" kan daarom niets opleveren, terwijl Applebot wel actief is.
De overige crawlers die je moet kennen
Amazonbot wordt door Amazon gebruikt om producten en diensten te verbeteren en content kan worden gebruikt voor AI-modeltraining. Amazon heeft daarnaast Amzn-SearchBot voor zoekervaringen en Amzn-User voor actuele, door gebruikers gestarte verzoeken.
CCBot van Common Crawl bouwt een open webdataset die onder meer voor machine learning en zoekindexering kan worden hergebruikt. Daardoor is CCBot indirect relevant voor veel AI-systemen zonder aan één modelprovider te behoren. Common Crawl publiceert IP-ranges en reverse-DNS-informatie voor verificatie.
Bytespider wordt algemeen geïdentificeerd als een ByteDance-crawler en staat bijvoorbeeld bij Cloudflare als AI-crawler geregistreerd. ByteDance publiceert echter veel minder duidelijke first-party documentatie over doel, volledige user-agent en verificatie dan partijen als OpenAI, Google of Perplexity. Daarom is het verstandiger om in een bedrijfsbeleid niet meer te claimen dan je kunt verifiëren: herken de token Bytespider, maar behandel de precieze functie en identiteit met extra voorzichtigheid.
Zo vind je AI-crawlers in je logs
In een standaard Apache- of Nginx-accesslog staat meestal de user-agent bij ieder HTTP-verzoek. Een eenvoudige eerste controle is daarom zoeken op bekende tokens. Met grep kan dat bijvoorbeeld met een patroon als GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|PerplexityBot|Perplexity-User|Bytespider|Amazonbot|CCBot|Applebot. Pas het pad naar je eigen accesslog aan.
Met awk kun je bij een standaard combined log format de user-agentkolom eruit halen en daarna sorteren en tellen. Controleer je eigen logformat, want niet iedere server of proxy gebruikt dezelfde veldpositie. Tel niet alleen requests. Kijk ook naar tijdstip, bron-IP, URL, statuscode, datavolume en patroon. Een crawler die vooral sitemaps en artikelen bezoekt, verschilt duidelijk van een bot die willekeurige endpoints of verborgen paden scant.
Een user-agent is geen bewijs van identiteit
Iedere client kan vrijwel iedere user-agent meesturen. Een request dat zegt "Googlebot" of "GPTBot" te zijn, hoeft dus niet werkelijk van Google of OpenAI te komen. Voor belangrijke allowlist- of blockbeslissingen moet je waar mogelijk een tweede verificatielaag gebruiken.
Google adviseert bijvoorbeeld reverse DNS op het bron-IP uit te voeren en daarna een forward lookup op de gevonden hostname te doen. Het resultaat moet terugwijzen naar hetzelfde IP. Google publiceert daarnaast eigen IP-ranges. OpenAI, Perplexity, Amazon, Common Crawl en Apple publiceren eveneens verificatie-informatie of ranges voor verschillende crawlers. Dat is vooral belangrijk als je een crawler in je WAF expliciet vrijstelt. Alleen een user-agent allowlisten kan een aanvaller juist een eenvoudige manier geven om strengere botregels te omzeilen.
Monitoring zonder dagelijks logs te lezen
Voor kleine sites is periodiek grep en awk vaak genoeg. Bij grotere omgevingen kun je logdata in een dashboard per bot, pad, statuscode en periode groeperen. Gebruik je Cloudflare, dan kan AI Crawl Control AI-crawlerverkeer uitsplitsen naar crawler, operator, hostname, pad, statuscode en dataverbruik. Cloudflare waarschuwt zelf dat user-agentmatching kan worden vervalst; afhankelijk van het productniveau kunnen aanvullende botdetectiesignalen worden gebruikt.
Waarom dit voor bedrijven relevant is
AI-crawlerlogs geven geen volledig beeld van je zichtbaarheid in AI-antwoorden, maar ze leveren wel een technisch signaal. Als OAI-SearchBot, PerplexityBot of vergelijkbare zoekagents je belangrijkste pagina's nooit succesvol kunnen ophalen, is het logisch om te onderzoeken of robots.txt, je CDN, WAF of serverconfiguratie de toegang blokkeert. Omgekeerd betekent veel crawlverkeer niet automatisch dat je vaak wordt geciteerd.
Het belangrijkste is dat je trainingscrawlers niet op één hoop gooit met citatie- en zoekcrawlers. Een organisatie kan privacy-, auteursrecht- of infrastructuurredenen hebben om GPTBot, ClaudeBot, Amazonbot of andere trainingsgerichte crawlers te beperken, terwijl het commercieel juist aantrekkelijk kan zijn om zoek- en user-triggered agents toegang te geven tot openbare kennisbankpagina's. Logs helpen ook verdachte bots te signaleren. Een onbekende crawler die zich voordoet als een bekende AI-agent, vanaf onlogische IP-ranges komt of agressief niet-publieke paden scant, hoort niet automatisch vertrouwen te krijgen omdat er "GPT", "Claude" of "Perplexity" in de user-agent staat.
Conclusie
De vraag is dus niet alleen welke AI-crawlers je site bezoeken, maar vooral met welk doel ze dat doen en of het verkeer echt van de genoemde provider afkomstig is. Filter je logs op bekende user-agents, verifieer belangrijke bots met IP-ranges of DNS waar dat kan, en maak onderscheid tussen training, zoekindexering en live retrieval. Pas dan kun je onderbouwd beslissen welke crawlers je blokkeert, welke je toelaat en welke je extra wilt monitoren.