robots.txt voor AI-crawlers: de gids voor 2026

Gepubliceerd op 2026-08-0911 min leestijdrobots.txt · AI crawlers · GPTBot · ClaudeBot

In het kort

Hoe configureer ik robots.txt voor AI-crawlers in 2026?

Behandel AI-clients als drie klassen en niet als één: trainingscrawlers (GPTBot, ClaudeBot, CCBot, Google-Extended), zoekindexeerders (OAI-SearchBot, Claude-SearchBot, PerplexityBot) en door gebruikers geïnitieerde fetchers (ChatGPT-User, Perplexity-User, Gemini-Deep-Research). De eerste twee verzamelen content voor modeltraining en voor de retrieval-indexen die antwoordmachines citeren, en beide respecteren robots.txt. De derde komt in actie wanneer een echt mens een echte vraag stelt, en de meeste operators documenteren dat robots.txt daarop mogelijk niet van toepassing is. De trainingsklasse blokkeren is een licentiebeslissing; door gebruikers geïnitieerde fetchers blokkeren is weigeren een klant te antwoorden die op dat moment een vraag stelt.

Het korte antwoord

Denk niet langer aan "AI-bots" als één ding. Er zijn drie klassen met totaal verschillende economische logica, en één enkele Disallow-regel die op alle drie wordt toegepast, is vrijwel altijd de verkeerde afweging.

Blocking the first is a licensing decision. Blocking the third is hanging up the phone. One wildcard Disallow treats them identically — and of 984 catalogues, 791 name no AI crawler at all, so the choice was made by a default rather than by anyone.
Een trainingscrawler vraagt of hij van uw catalogus mag leren. Een zoekindexeerder vraagt of hij die mag citeren. Een door de gebruiker geïnitieerde fetcher is een klant die op dit moment een vraag stelt over uw product. De eerste blokkeren is een licentiebeslissing. De derde blokkeren is de telefoon erop gooien.

Forrester stelde vast dat 94% van de zakelijke inkopers AI heeft gebruikt tijdens het meest recente inkooptraject. Een aanzienlijk deel van de requests die met een AI-user-agent op uw origin binnenkomen, is geen scraping — het is iemand met een stuklijst open, midden in een beslissing. Uw robots.txt zou onderscheid tussen die twee moeten maken, en de meeste doen dat niet.

Elke AI-user-agent die in 2026 telt

TokenOperatorKlasseVolgt robots.txtBron-IP verifiëren via
GPTBotOpenAITrainingJagptbot.json
OAI-SearchBotOpenAIZoekindexJasearchbot.json
ChatGPT-UserOpenAIDoor gebruiker geïnitieerd"mogelijk niet van toepassing"chatgpt-user.json
ClaudeBotAnthropicTrainingJabots.json
Claude-SearchBotAnthropicZoekindexJabots.json
Claude-UserAnthropicDoor gebruiker geïnitieerdJabots.json
PerplexityBotPerplexityZoekindexJaperplexitybot.json
Perplexity-UserPerplexityDoor gebruiker geïnitieerd"negeert die doorgaans"perplexity-user.json
Google-ExtendedGoogleToestemmingstoken voor trainingJa, als tokenGeen fetcher
Gemini-Deep-ResearchGoogleDoor gebruiker geïnitieerde onderzoeksagentNegeert die doorgaansIP-ranges van Google-fetchers
Applebot-ExtendedAppleToestemmingstoken voor trainingJa, als tokenGeen fetcher
AmazonbotAmazonTraining en productverbeteringJaIP-lijst van Amazon
BytespiderByteDanceTrainingBetwistNiets gepubliceerd
CCBotCommon CrawlBulkarchief dat veel modellen voedtJaReverse DNS
Meta-ExternalAgentMetaTraining en indexeringJaDocumentatie van Meta

Vijf punten uit die tabel worden stelselmatig verkeerd begrepen of over het hoofd gezien, en die zijn het waard om expliciet te benoemen.

`Google-Extended` en `Applebot-Extended` zijn geen crawlers. Geen van beide haalt iets op. Het zijn toestemmingstokens: Google-Extended bepaalt of content die Googlebot al heeft gecrawld, gebruikt mag worden om Gemini te trainen en om zijn antwoorden te gronden, en de documentatie van Apple is expliciet dat Applebot-Extended "geen webpagina's crawlt" en "uitsluitend wordt gebruikt om te bepalen hoe de door de user-agent Applebot gecrawlde data gebruikt worden". Een Disallow voor Applebot-Extended haalt u niet uit de resultaten van Siri, Spotlight of Safari.

Anthropic is de uitzondering bij door gebruikers geïnitieerde requests. OpenAI stelt over ChatGPT-User: "omdat deze acties door een gebruiker worden geïnitieerd, zijn robots.txt-regels mogelijk niet van toepassing". Perplexity zegt dat Perplexity-User "robots.txt-regels doorgaans negeert". De documentatie van Google zegt over zijn door gebruikers geïnitieerde fetchers: "omdat de fetch door een gebruiker is aangevraagd, negeren deze fetchers robots.txt-regels doorgaans". Amazon zegt dat Amzn-User "mogelijk niet alle robots.txt-richtlijnen volgt". Anthropic documenteert daarentegen dat zijn bots robots.txt respecteren en noemt Claude-User als token waarmee site-eigenaren door gebruikers geïnitieerde requests kunnen sturen. Zet u de hele set op Disallow, dan is Claude degene die daadwerkelijk stopt — precies het tegenovergestelde van wat de meeste mensen bedoelen.

Amazon en Meta draaien elk een gesplitste vloot. Naast Amazonbot documenteert Amazon Amzn-SearchBot (zoekervaringen waaronder Alexa en Rufus) en Amzn-User (live gebruikersacties); van beide zegt het bedrijf dat ze niet crawlen voor generatieve AI-training. Meta draait Meta-ExternalAgent voor training en indexering en Meta-ExternalFetcher voor door gebruikers aangevraagde requests, waarbij die laatste robots.txt kan omzeilen.

Bytespider is een beleidsprobleem, geen robots.txt-probleem. ByteDance stelt dat het robots.txt respecteert; site-eigenaren rapporteren massaal het tegendeel. Wilt u hem stoppen, doe dat dan aan de edge en vertrouw niet op het bestand.

Een kanttekening bij `Gemini-Deep-Research`: de gepubliceerde crawlerdocumentatie van Google noemt dit token nog niet bij zijn common crawlers of bij zijn door gebruikers geïnitieerde fetchers, maar het is actief in gebruik en grote distributeurs adresseren het al bij naam — de robots.txt van Digi-Key staat zowel Google-Extended als Gemini-Deep-Research expliciet toe, naast GPTBot, ChatGPT-User, OAI-SearchBot, PerplexityBot, Perplexity-User, ClaudeBot, Claude-User en Claude-SearchBot. Neem het op; een onbekend token in robots.txt is onschadelijk.

Wat kost het blokkeren van elke klasse eigenlijk?

Blokkeert uDan verliest uDan wint u
TrainingscrawlersAanwezigheid in toekomstige modelgewichten; het standaardantwoord zijn wanneer het model zonder retrieval antwoordtEen licentiepositie, en marginaal minder bandbreedte
ZoekindexeerdersCitatie in antwoorden van ChatGPT, Claude en PerplexityNiets van betekenis voor een openbare catalogus
Door gebruikers geïnitieerde fetchersHet vermogen om de vraag van een koper op dat moment te beantwoordenNiets

Voor een fabrikant of distributeur met een catalogus die al openbaar is en al bij aggregators gespiegeld wordt, is het blokkeren van de trainingsklasse grotendeels symbolisch: de data bereiken de modellen hoe dan ook, via distributeurvermeldingen en Common Crawl. Wat verandert, is wiens versie van uw data het model bevat. De andere twee klassen blokkeren levert bij een openbare catalogus helemaal niets op.

Kant-en-klare robots.txt om te kopiëren

Recept A: maximale zichtbaarheid voor agents

De juiste standaard voor een fabrikant of distributeur met een openbare catalogus, wiens commerciële belang is om gevonden en correct geciteerd te worden.

# --- Answer engines and user-triggered fetchers ---
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
User-agent: Amzn-SearchBot
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Allow: /

# --- Training crawlers and permission tokens ---
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Allow: /

# --- Everything else ---
User-agent: *
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/

Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/sitemap-products.xml

Recept B: retrieval toestaan, training weigeren

Voor organisaties die bewust hebben besloten niet bij te dragen aan modeltraining, maar wel gevonden en geciteerd willen worden. Let op wat dit kost: een Disallow voor Google-Extended haalt uw content niet alleen uit de training, maar ook uit de grounding van Gemini.

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
Allow: /

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Bytespider
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

User-agent: *
Disallow: /account/

Recept C: catalogus open, de rest dicht

Handig wanneer de catalogus en de documentbibliotheek de assets zijn die u zichtbaar wilt maken en de rest van het domein ruis is.

User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
Disallow: /
Allow: /products/
Allow: /catalog/
Allow: /datasheets/
Allow: /documents/
Allow: /sitemap-products.xml

Onder RFC 9309 wint de langste overeenkomende padregel, dus de Allow-regels overrulen de allesomvattende Disallow: / voor die prefixen. Verifieer het resultaat in plaats van het aan te nemen — parsers gedragen zich bij randgevallen nog altijd verschillend.

"Nee" zeggen op een manier die aankomt: Content Signals

robots.txt regelt toegang. Het zegt niets over het gebruik zodra de bytes zijn geleverd. Het Content Signals Policy van Cloudflare, gelanceerd op 24 september 2025, voegt aan datzelfde bestand een machineleesbare gebruiksvoorkeur toe, met drie signalen: search (een zoekindex opbouwen en zoekresultaten leveren), ai-input (content invoeren in een of meer AI-modellen) en ai-train (AI-modellen trainen of finetunen).

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Disallow: /account/

Cloudflare paste search=yes, ai-train=no toe op ruim 3,8 miljoen domeinen die zijn beheerde robots.txt hadden ingeschakeld, en liet ai-input bewust ongezet in plaats van te gokken. Het is een uitgesproken voorkeur, geen handhavingsmechanisme — maar wel een duidelijke, gedateerde, machineleesbare intentieverklaring, en die is het waard om te hebben.

Waarom zwijgen steeds vaker "nee" betekent

Twintig jaar lang betekende een ontbrekende robots.txt-regel "ja". Die standaard wordt op de infrastructuurlaag ingetrokken, en fabrikanten die het bestand nooit hebben aangeraakt, worden door hun CDN uitgeschreven.

  • 1 juli 2025 — Cloudflare, dat voor ruwweg een vijfde van het web staat, werd de eerste grote infrastructuuraanbieder die AI-crawlers standaard blokkeert en elk nieuw aangemeld domein vooraf vraagt of ze toegestaan moeten worden.
  • 24 september 2025 — het Content Signals Policy ging live, met ai-train=no standaard toegepast op 3,8 miljoen beheerde domeinen.
  • 1 juli 2026 — Cloudflare kondigde aan dat vanaf 15 september 2026 op nieuwe domeinen, op nieuwe sites van bestaande klanten en bij alle bestaande klanten in het gratis abonnement de crawlercategorieën Training en Agent standaard geblokkeerd worden op pagina's die advertenties tonen. Search blijft toegestaan. Multifunctionele crawlers die Search met Training combineren, erven de strengste regel.

Lees die laatste nauwkeurig, want hij wordt breed verkeerd geciteerd. Hij is beperkt tot pagina's die met advertenties worden gemonetiseerd, en dat zijn de meeste fabrikantencatalogi niet. De wijziging die u nu al raakt, is die uit 2025: is uw site recent bij een moderne CDN ondergebracht of draait hij op een gratis abonnement, dan weigert u mogelijk al AI-crawlers zonder dat iemand daartoe heeft besloten. Controleer het voordat u iets aanneemt.

robots.txt is een verzoek. Uw WAF is de handhaving.

Hier lopen de meeste goedbedoelde configuraties stuk. robots.txt is een vrijwillig protocol dat door meewerkende clients wordt gelezen. Uw botmanager is een harde poort die classificeert op geverifieerd bron-IP, en standaardregelsets geven routinematig een challenge aan alles wat niet op een browser lijkt, of blokkeren het. Een crawler die Allow: / leest en vervolgens een JavaScript-challenge krijgt, is geblokkeerd, wat er ook in het bestand staat.

Elke grote operator publiceert zijn ranges, zodat u ze correct kunt allowlisten:

Zo controleert u of een specifiek adres in uw logs echt van OpenAI is:

python3 - <<'EOF'
import ipaddress, json, urllib.request
probe = ipaddress.ip_address("132.196.86.5")
data = json.load(urllib.request.urlopen("https://openai.com/gptbot.json"))
nets = [ipaddress.ip_network(p.get("ipv4Prefix") or p.get("ipv6Prefix"))
        for p in data["prefixes"]]
print(any(probe in n for n in nets if n.version == probe.version))
EOF

Drie edge-regels dekken het grootste deel af:

  1. 01Zet de geverifieerde ranges op de allowlist voordat uw bot-scoreregel afgaat, uitsluitend beperkt tot de openbare catalogus- en documentpaden.
  2. 02Stel die paden vrij van JavaScript-challenges en rate limits. Een client zonder browser kan een challenge niet oplossen, en een crawler die 40.000 SKU's indexeert, loopt tegen een rate limit aan die op mensen is afgestemd.
  3. 03Zet niets op de allowlist op basis van de user-agentstring. Dat is een vrijetekstheader. Match op IP en daarna eventueel op user-agent.

Vergeet niet dat elke origin apart wordt geconfigureerd. Uw productsite, uw documentatiesubdomein en uw CDN-hostnaam hebben elk een eigen robots.txt en een eigen WAF-beleid nodig.

Hoe verifieer ik in mijn logs dat het gewerkt heeft?

Een configuratie die u niet in de logs hebt geverifieerd, is een hypothese. Geef het een paar dagen voordat u het resultaat beoordeelt: operators cachen robots.txt, en de documentatie van Meta waarschuwt dat het tot 24 uur kan duren voordat wijzigingen van kracht worden, terwijl Amazon zegt dat zijn crawlers een kopie kunnen gebruiken die in de afgelopen 30 dagen is gecacht. Daarna:

grep -aiE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Gemini-Deep-Research|Applebot|Amazonbot|Bytespider|CCBot|Meta-External" access.log | wc -l

Splits het daarna uit per agent en statuscode — dat is het getal dat ertoe doet:

awk '/GPTBot/ {print $9}' access.log | sort | uniq -c | sort -rn

Waar u naar op zoek bent:

  1. 01Een volume boven nul per agent. Nul requests van welke AI-agent dan ook in 72 uur op een openbare catalogus betekent dat u stroomopwaarts geblokkeerd wordt, en niet simpelweg dat u impopulair bent.
  2. 02Een statusverdeling die door 2xx wordt gedomineerd. Een muur van 403's betekent dat de WAF robots.txt overrulet. Een muur van 404's betekent dat uw sitemap of uw interne links naar URL's wijzen die niet meer bestaan.
  3. 03Documentpaden die opduiken, niet alleen productpaden. Verschijnt /datasheets/ nooit, dan is uw technische bibliotheek onzichtbaar.
  4. 04Responsgroottes die kloppen. Herhaalde 200's van 4–15 KB op product-URL's betekent meestal dat crawlers een lege, client-side gerenderde shell binnenkrijgen — technisch toegestaan, praktisch nutteloos.
  5. 05Dat de door gebruikers geïnitieerde agents überhaupt verschijnen. Verkeer van ChatGPT-User, Claude-User en Perplexity-User komt het dichtst in de buurt van een realtimesignaal van koopinteresse. Daar is het de moeite waard apart over te rapporteren.

Veelgemaakte fouten

  • Per ongeluk door gebruikers geïnitieerde fetchers blokkeren, in een algemene regel die op trainingscrawlers is gericht.
  • robots.txt correct instellen en de WAF onaangeroerd laten. Het zijn twee schakelaars en beide moeten om.
  • Het documentatiesubdomein, de DAM en de CDN vergeten, die onder RFC 9309 elk een aparte origin zijn.
  • Crawlers de toegang tot CSS- en JavaScript-assets ontzeggen. Voor crawlers die alleen tekst lezen maakt het niet uit, maar Googlebot en Applebot renderen allebei, en ze assets onthouden verslechtert wat ze te zien krijgen.
  • Aannemen dat een aggregator uw data accuraat doorgeeft. Hij geeft door wat hij heeft gescrapet, op het moment dat hij dat deed.
  • llms.txt als vervanging beschouwen. Geen enkele grote operator heeft toegezegd het te lezen, en logs laten doorgaans zien dat het nooit wordt opgevraagd.

Partsgraph heeft in augustus 2026 wereldwijd 984 domeinen van distributeurs en fabrikanten geaudit, in Noord-Amerika, Europa en Azië. Slechts 19% publiceerde enige vorm van expliciet AI-crawlerbeleid — en binnen die groep blokkeerden ruim twee keer zoveel domeinen een grote AI-crawler als er domeinen waren die er een uitnodigden. Geen enkel domein adverteerde met een MCP-endpoint. Mediane AI-zichtbaarheidsscore: 50 van de 100. Het veld is nog niet competitief — en juist daarom is een goed opgezette robots.txt nog altijd een van de meest renderende uren werk die een productdatateam kan besteden.

Controleer met de gratis grader van Partsgraph op [/audit](/audit) wat AI-crawlers op uw domein daadwerkelijk kunnen bereiken.

Veelgestelde vragen

Wat is het verschil tussen GPTBot en ChatGPT-User?

GPTBot is een bulkcrawler die trainingsdata verzamelt voor de foundation models van OpenAI, en hij volgt robots.txt. ChatGPT-User haalt één enkele pagina op omdat iemand ChatGPT een vraag heeft gesteld waarvoor die pagina nodig is. De documentatie van OpenAI stelt dat robots.txt-regels mogelijk niet van toepassing zijn, omdat deze acties door een gebruiker worden geïnitieerd. GPTBot blokkeren is een licentiebeslissing; ChatGPT-User blokkeren is weigeren de vraag te beantwoorden van een klant die op dat moment aan het zoeken is.

Is Google-Extended een crawler?

Nee. Google-Extended is een besturingstoken in robots.txt, geen fetcher. De bytes komen nog altijd binnen via Googlebot. Met een Disallow voor Google-Extended vertelt u Google dat de content niet gebruikt mag worden om Gemini-modellen te trainen of om antwoorden te gronden, terwijl de normale indexering voor Search onaangetast blijft. Applebot-Extended werkt op dezelfde manier voor Apple.

Houdt het blokkeren van AI-trainingscrawlers mijn catalogus uit AI-modellen?

Grotendeels niet, en het kost u zichtbaarheid. Componentdata worden gespiegeld bij distributeurs, aggregators en Common Crawl, dus de content bereikt de modellen meestal toch — alleen als de verouderde kopie van een derde partij in plaats van uw actuele, gezaghebbende versie. U verliest de mogelijkheid om de geciteerde bron te zijn, zonder er noemenswaardige controle voor terug te krijgen.

Geldt de robots.txt van mijn hoofddomein ook voor mijn documentatiesubdomein?

Nee. Onder RFC 9309 geldt robots.txt voor één origin: schema, host en poort. Uw CDN-hostnaam, uw DAM en uw documentatiesubdomein hebben elk een eigen bestand nodig. Dit is verreweg de meest voorkomende reden dat een site die in robots.txt open lijkt, toch niets aan een crawler serveert.

Waarom worden crawlers geblokkeerd terwijl mijn robots.txt Allow zegt?

Omdat robots.txt een verzoek is en uw WAF de handhaving. Botmanagers classificeren op geverifieerd bron-IP en niet op de user-agentstring, en veel standaardregels geven alles wat geen browser is een challenge. U moet de geverifieerde crawler-ranges aan de edge op de allowlist zetten én ze in robots.txt toestaan.

Kan ik beter llms.txt gebruiken?

Niet in plaats daarvan. Anno 2026 heeft geen enkele grote AI-operator toegezegd llms.txt te lezen, en het Search Relations-team van Google weigert het te onderschrijven. Serverlogs laten doorgaans zien dat AI-crawlers het bestand nooit opvragen. Publiceer het gerust, maar wat het gedrag daadwerkelijk verandert, zijn robots.txt, echte gelinkte pagina's en het allowlisten van geverifieerde bots.

Hoe bevestig ik dat een request echt van GPTBot kwam en niet van een spoofer?

Controleer het bron-IP tegen de door OpenAI gepubliceerde prefixlijst op openai.com/gptbot.json. Elke grote operator publiceert een vergelijkbaar JSON-bestand, en Google ondersteunt verificatie via reverse DNS. Vertrouw nooit op de user-agentstring alleen — die is triviaal te vervalsen, en een groot deel van het verkeer dat zich als AI-crawler voordoet, is dat niet.

Bronnen

  1. 01OpenAI, Overview of OpenAI crawlers
  2. 02Anthropic, Does Anthropic crawl data from the web?
  3. 03Perplexity, PerplexityBot and Perplexity-User documentation
  4. 04Google Search Central, Google crawlers and user agents
  5. 05Google Search Central, user-triggered fetchers
  6. 06Apple Support, About Applebot
  7. 07Amazon, About Amazonbot
  8. 08Meta for Developers, Meta web crawlers
  9. 09Cloudflare, Content Independence Day: new AI traffic options, July 2026
  10. 10Cloudflare, Content Signals Policy, September 2025
  11. 11Cloudflare press release, blocking AI crawlers by default, July 2025
  12. 12RFC 9309, Robots Exclusion Protocol
  13. 13Forrester, The State Of Business Buying, 2026 (January 2026)
Test het op uw eigen catalogus

Zie precies wat AI-assistenten vandaag wel en niet van uw producten kunnen lezen — crawlerbeleid, catalogusdekking, toegang tot datasheets — beoordeeld en vergeleken met 984 distributeurs en fabrikanten wereldwijd.

Beoordeel mijn catalogus

Gerelateerde veldnotities