AI-crawler-checker
Zie welke AI-crawlers je site kunnen bereiken, en welke worden geweigerd.
| Bot | robots.txt | Crawlbaarheid |
|---|
robots.txt zoals opgehaald
Wat dit controleert
Twee losse dingen bepalen of een AI-crawler je pagina bereikt, en ze falen onafhankelijk van elkaar.
Het eerste is robots.txt, de beleefde portier. Het is een verzoek en geen slot, en niet elke agent hier houdt zich eraan. Het tweede is wat je server doet als het verzoek daadwerkelijk aankomt. Dat is de firewall-laag, en daar zitten de meeste onbedoelde blokkades, omdat bijna niemand ze met opzet instelt. Een regel die geschreven is om scrapers te stoppen kan een scraper niet onderscheiden van PerplexityBot.
Deze checker bekijkt beide. Hij leest je robots.txt en bepaalt wat elke bot mag, haalt de pagina daarna op met de echte User-Agent van die bot en vergelijkt het antwoord met wat een gewone browser krijgt. Als de twee lagen het niet met elkaar eens zijn, weet je het nu in plaats van maanden later, wanneer je merkt dat niets je citeert.
Eén ding om eerlijk over te zijn. De test loopt vanaf onze servers met de User-Agent-string van elke bot. Echte crawlers komen vanuit hun eigen IP-reeksen, dus een firewall die IP-adressen verifieert kan ze anders behandelen. Zie je hier een blokkade, dan is die echt. Een toegestaan resultaat is een sterk signaal en geen garantie, en bots die doorgaans op IP worden geverifieerd zijn als zodanig gemarkeerd in de resultaten.
De AI-crawlers die we controleren
Niet elke user agent hier doet hetzelfde werk. Sommige verzamelen pagina's voor training. Sommige bouwen de index achter de zoekfunctie van een assistent. Andere verschijnen alleen als iemand de assistent vraagt een link te openen. De ene blokkeren is een andere beslissing dan de andere blokkeren, en de resultaten zijn niet uitwisselbaar.
| User agent | Aanbieder | Wat hij doet | Als je hem blokkeert |
|---|---|---|---|
GPTBot | OpenAI | Verzamelt pagina's voor het trainen van modellen | Je content blijft buiten de training |
OAI-SearchBot | OpenAI | Bouwt de index achter ChatGPT search | ChatGPT search laat je niet meer zien |
ChatGPT-User | OpenAI | Haalt een pagina op als iemand ChatGPT vraagt die te openen | ChatGPT kan een link die een gebruiker plakte niet lezen |
ClaudeBot | Anthropic | Verzamelt pagina's voor het trainen van modellen | Je content blijft buiten de training |
Claude-SearchBot | Anthropic | Indexeert pagina's voor de zoekresultaten van Claude | Claude citeert je niet meer in antwoorden |
Claude-User | Anthropic | Haalt een pagina op als iemand Claude vraagt die te openen | Claude kan een link die een gebruiker plakte niet lezen |
PerplexityBot | Perplexity | Indexeert pagina's voor de antwoorden van Perplexity | Perplexity citeert je niet meer |
Perplexity-User | Perplexity | Haalt een pagina op als antwoord op een vraag | Perplexity kan een pagina waar een gebruiker naar vroeg niet openen |
Googlebot | De zoekindex, die ook AI Overviews voedt | Je verdwijnt uit Google Zoeken | |
Bingbot | Microsoft | De Bing-index, die Copilot voedt | Je verdwijnt uit Bing en uit Copilot |
Applebot | Apple | Drijft de zoekfunctie in Siri, Spotlight en Safari aan | De assistenten van Apple vinden je niet meer |
Meta-ExternalAgent | Meta | Verzamelt pagina's voor de modellen van Meta, en indexeert sommige content direct | Je content blijft buiten de training van Meta |
Meta-WebIndexer | Meta | Indexeert pagina's voor de zoekresultaten van Meta AI | Meta AI citeert je niet meer en linkt niet meer naar je |
DuckAssistBot | DuckDuckGo | Voedt de assistent-antwoorden van DuckDuckGo, en wordt niet gebruikt voor training | DuckAssist gebruikt je pagina's niet meer |
MistralAI-Training | Mistral | Verzamelt pagina's voor het trainen van modellen | Je content blijft buiten de training van Mistral |
MistralAI-Index | Mistral | Indexeert pagina's voor de zoekfunctie achter de assistent van Mistral | De assistent van Mistral laat je niet meer zien |
MistralAI-User | Mistral | Haalt een pagina op als iemand de assistent van Mistral vraagt die te openen | De assistent kan een link die een gebruiker plakte niet lezen |
CCBot | Common Crawl | Bouwt het open crawl-archief waarop veel modellen trainen | Je ontbreekt in een dataset die in de hele sector wordt gebruikt |
Google-Extended | Een robots.txt-richtlijn, geen crawler. Bepaalt of Google je pagina's mag gebruiken voor Gemini | Je pagina's blijven in Google Zoeken en in AI Overviews, maar Google mag ze niet gebruiken om Gemini te trainen of te onderbouwen | |
Applebot-Extended | Apple | Een robots.txt-richtlijn, geen crawler. Bepaalt of Apple op je pagina's mag trainen | Siri, Spotlight en Safari blijven je pagina's gebruiken, Apple traint zijn modellen er niet meer op |
Training en zoeken zijn aparte beslissingen
GPTBot blokkeren en OAI-SearchBot toestaan houdt je buiten de trainingsdata en houdt je in de zoekresultaten van ChatGPT. Anthropic splitst ClaudeBot en Claude-SearchBot op dezelfde manier, Meta splitst Meta-ExternalAgent en Meta-WebIndexer, en Mistral draait een aparte agent voor elk van training, zoeken en gebruikersverzoeken. Veel sites blokkeren per ongeluk alles terwijl ze alleen uit de training wilden stappen.
De agents die eindigen op User zijn geen crawlers
ChatGPT-User, Claude-User, Perplexity-User en MistralAI-User komen alleen in actie als iemand je link al heeft geplakt en de assistent heeft gevraagd die te lezen. Ze blokkeren beschermt niets tegen training. Het houdt niets tegen behalve de persoon die je pagina probeerde te lezen.
Of ze blokkeren in robots.txt überhaupt werkt hangt af van de aanbieder. Anthropic en Mistral respecteren het bestand voor deze agents. OpenAI zegt dat de regels misschien niet gelden, omdat het verzoek van een persoon kwam en niet van een crawl. Perplexity zegt dat zijn ophaaldienst ze doorgaans negeert. Een blokkade die moet standhouden hoort in de firewall.
De laatste twee zijn richtlijnen, geen crawlers
Google-Extended en Applebot-Extended sturen nooit een verzoek. Ze staan in robots.txt en vertellen Google en Apple wat er mag gebeuren met pagina's die hun gewone crawlers al hebben opgehaald. Er is geen crawler om te simuleren, dus de checker beoordeelt deze richtlijnen alleen op basis van robots.txt en markeert ze als zonder live-opvraging.
Google-Extended is het waard om twee keer te lezen. Hem blokkeren raakt je Google-rankings niet en haalt je niet uit AI Overviews, omdat die allebei op Googlebot draaien. Wat het tegenhoudt is dat Gemini je content gebruikt.
Apple valt terug op Googlebot
Als je robots.txt Applebot nooit noemt maar Googlebot wel, volgt Apple de regels voor Googlebot. Het rapport zegt dat op die rij als het gebeurt. Het is goed om te weten, omdat een Disallow die je met Google in gedachten schreef stilletjes ook geldt voor Siri, Spotlight en Safari, en niets in je bestand dat hardop zegt.
Een user agent is een claim, geen identiteit
De meeste aanbieders hier zeggen dat ze robots.txt respecteren, met de uitzonderingen hierboven, en iedereen kan alles beweren in een User-Agent-string. Heb je zekerheid nodig in plaats van medewerking, verifieer dan op IP-reeks of reverse DNS. De grote aanbieders publiceren hun IP-reeksen of gegevens voor verificatie via reverse DNS.
Waarom robots.txt maar de helft van het antwoord is
robots.txt lezen vertelt je wat je hebt gevraagd. Het laat je nooit zien wat er werkelijk is gebeurd.
Botbescherming op een CDN, een rate limiter, een landenblokkade of een challenge-pagina kunnen allemaal een AI-crawler weigeren terwijl je robots.txt hem nog steeds binnen nodigt. Niets daarvan staat in het bestand, en meestal komt niets daarvan in je logs terecht, omdat het verzoek wordt afgekapt voordat het je site bereikt.
Het patroon is makkelijk te herkennen als je het eenmaal hebt gezien. Je robots.txt staat GPTBot toe, en GPTBot krijgt toch een 403. Als robots.txt en de werkelijkheid het niet eens zijn, is de 403 wat echt is.
Dit is ook waarom een pagina kan ontbreken in de antwoorden van een assistent terwijl elke technische controle van de site zonder problemen wordt afgerond. Met onze checker voor AI-zichtbaarheid zie je of assistenten je merk daadwerkelijk noemen.
Wat elk resultaat betekent
De resultatentabel heeft twee kolommen en die beantwoorden verschillende vragen, dus de legenda is op dezelfde manier gesplitst. Een Crawlbaarheid-label lezen op de schaal van robots.txt is de snelste manier om het hele rapport verkeerd te begrijpen.
De kolom robots.txt: wat je bestand toestaat
| Resultaat | Wat het betekent |
|---|---|
| Toegestaan | Je robots.txt laat deze bot de pagina crawlen die je hebt getest |
| Geblokkeerd | Een regel in robots.txt sluit deze pagina voor deze bot. De rij laat zien welke regel dat deed, en de oplossing zit in het bestand |
| Deels geblokkeerd | De pagina die je hebt getest is open voor deze bot, maar robots.txt heeft elders op de site regels die op hem gericht zijn. De rij laat zien welke regels, en uit welke groep ze komen, zodat je kunt nagaan of je die bewust gesloten wilde houden |
De kolom Crawlbaarheid: wat je server werkelijk deed
| Resultaat | Wat het betekent |
|---|---|
| Crawlbaar (met de HTTP-status) | Het verzoek van de bot kwam door en je server antwoordde normaal |
| Geblokkeerd (met de HTTP-status) | Het verzoek werd geweigerd. robots.txt is niet de oorzaak, dus kijk naar je firewall-, WAF- of CDN-regels |
| Controleren | Een bot die normaal op IP-adres wordt geverifieerd is geweigerd. Onze test komt niet uit de eigen IP-reeks van die bot, dus dit kan je firewall zijn die correct werkt in plaats van een probleem |
| Fout (met de HTTP-status) | De pagina gaf een fout terug in plaats van een blokkade. Een 404 betekent meestal dat de URL fout is, een 500 dat iets op je site faalt. Geen van beide is een crawler-probleem |
| Geen antwoord | Er kwam helemaal niets terug. Een time-out of een verbroken verbinding, wat wijst op het netwerk of op een zeer agressieve blokkade |
| Geen live-opvraging | Een robots.txt-richtlijn in plaats van een crawler, dus er is niets om een verzoek naar te sturen. Het robots.txt-oordeel is het hele antwoord |
| Niet getest | Je hebt deze bot niet geselecteerd, dus er is geen live verzoek gedaan. Zijn robots.txt-oordeel blijft staan |
Hoe je een crawler deblokkeert
Een regel in robots.txt. Verwijder de Disallow, of voeg een specifiekere Allow toe voor die user agent. De meest specifieke passende regel wint, dus een expliciete Allow voor één bot verslaat een brede Disallow: / die op iedereen is gericht.
Een firewall- of CDN-regel. Niets in de bestanden van je site lost deze op. Op Cloudflare zit het in bot management. Bij andere hosts kijk je onder WAF of botbescherming. Sta de user agent daar toe, en verifieer op IP-reeks als je voorzichtig wilt zijn met bedriegers.
Een challenge-pagina. Stel de user agent vrij van de challenge. Een crawler kan die niet oplossen.
Een noindex in een meta-tag of een X-Robots-Tag-header. De crawler kan de pagina bereiken en heeft te horen gekregen die niet te bewaren. Het is de moeite waard te bevestigen dat dat de bedoeling was, omdat een plugin of een vergeten staging-instelling dit stilletjes doet.
Dezelfde stappen werken andersom. Wil je GPTBot of een andere AI-crawler blokkeren, dan is een Disallow voor die user agent in robots.txt de beleefde manier, en een firewall-regel de manier die het echt afdwingt.
Veelgestelde vragen
Wat is AI-crawlbaarheid?
Of AI-crawlers je pagina's kunnen bereiken en lezen. Het omvat robots.txt en alles wat verder tussen een bot en je content zit, en het is de eerste voorwaarde voor al het andere. LLM-crawlbaarheid is hetzelfde idee onder een andere naam.
Respecteren AI-crawlers robots.txt?
Voor de crawlers die pagina's automatisch ophalen zeggen de grote aanbieders van wel. De agents die een pagina ophalen omdat een persoon erom vroeg zijn een ander geval, en zowel OpenAI als Perplexity zegt dat robots.txt die misschien niet tegenhoudt. Er is geen mechanisme dat naleving van deze regels afdwingt. robots.txt is een verzoek, geen slot.
Kan ik AI-training blokkeren en toch in AI-zoekresultaten blijven?
Ja, en dat is wat de meeste site-eigenaren eigenlijk willen. Blokkeer GPTBot en ClaudeBot om buiten de training te blijven, en sta OAI-SearchBot en Claude-SearchBot toe zodat de assistenten je nog steeds kunnen vinden en citeren.
Schaadt het blokkeren van AI-crawlers mijn SEO?
Nee. GPTBot, ClaudeBot en de andere AI-crawlers hebben niets te maken met je Google-rankings, en ze blokkeren verandert niets aan je positie in de zoekresultaten. Googlebot blokkeren is een heel andere zaak.
Waarom slaagt mijn site voor de robots.txt-controle en wordt hij toch geblokkeerd?
Omdat robots.txt alleen de eerste laag is. Een firewall-, WAF- of CDN-regel kan het verzoek weigeren voordat het je server bereikt, en die blokkade is onzichtbaar in zowel je robots.txt als je logs.
Is GPTBot hetzelfde als OAI-SearchBot?
Nee. GPTBot verzamelt pagina's voor training. OAI-SearchBot bouwt de index achter ChatGPT search. Je kunt de ene toestaan en de andere blokkeren.
Waarom citeert ChatGPT mijn website of merk niet?
Bereikbaar zijn is de eerste voorwaarde, dus controleer eerst of OAI-SearchBot niet geblokkeerd is. Als de toegang in orde is, is de reden meestal dat ChatGPT het antwoord ergens anders vindt en geen reden heeft om bij jou te komen.
Hoe zorg ik dat mijn website in ChatGPT verschijnt?
Zorg dat de crawlers je kunnen lezen en zorg er daarna voor dat je content het citeren waard is. Assistenten leunen op bronnen die ze elders al geciteerd hebben gezien, dus vermeldingen op sites die ze al vertrouwen tellen zwaarder dan wat er ook op je eigen pagina's staat.
Bereikbaar zijn is de eerste vraag. Of de assistenten je ook echt noemen is een andere.