robots.txt voor AI-crawlers: wat je toestaat en wat je blokkeert
Geef elke AI-crawler die voor jou telt een eigen User-agent-groep. Sta zoekcrawlers zoals OAI-SearchBot, Claude-SearchBot en PerplexityBot toe als je geciteerd wilt worden, en beslis apart over trainingstokens zoals GPTBot, ClaudeBot, Google-Extended en Applebot-Extended. Een benoemde groep vervangt voor die crawler de groep *.
robots.txt is een gewoon tekstbestand dat teruggaat tot 1994 en in 2022 een formele standaard werd, RFC 9309. De meeste AI-aanbieders zeggen dat hun crawlers het volgen, en meerdere publiceren aparte tokens voor zoeken en training. Daarmee is robots.txt de eenvoudigste plek om je AI-beleid vast te leggen, mits de regels betekenen wat jij denkt dat ze betekenen.
Op deze pagina
- Welke robots.txt-tokens gebruiken AI-crawlers?
- Hoe ziet een goede robots.txt voor AI eruit?
- Hoe kiezen crawlers welke regels voor hen gelden?
- Wat zijn de meest gemaakte fouten in robots.txt?
- Kan ik een AI-gebruiksbeleid vastleggen dat verder gaat dan toestaan en verbieden?
- Hoe lang duren wijzigingen en hoe controleer ik ze?
Welke robots.txt-tokens gebruiken AI-crawlers?
Dit zijn de tokens die de aanbieders documenteren. Volgens RFC 9309 wordt hoofdlettergebruik bij het matchen genegeerd.
- OpenAI:
OAI-SearchBot(ChatGPT-zoeken),GPTBot(training),ChatGPT-User(door gebruikers gevraagde bezoeken; volgens OpenAI geldt robots.txt mogelijk niet). - Anthropic:
Claude-SearchBot(zoeken),ClaudeBot(training),Claude-User(door gebruikers gevraagde bezoeken). - Perplexity:
PerplexityBot(zoeken),Perplexity-User(door gebruikers gevraagde bezoeken; volgens Perplexity negeert hij robots.txt over het algemeen). - Google:
Googlebot(Zoeken, inclusief de AI-functies) enGoogle-Extended, een token zonder eigen crawler dat het gebruik voor training en grounding van Gemini regelt. - Apple:
Applebot(Spotlight, Siri, zoeken in Safari) enApplebot-Extended, die niet crawlt maar het gebruik voor het trainen van de foundation models van Apple regelt. - Meta:
meta-externalagent(training en productindexering) enmeta-webindexer(Meta AI-zoeken). - Common Crawl:
CCBot, die het gratis openbare webdataarchief van Common Crawl opbouwt.
Hoe ziet een goede robots.txt voor AI eruit?
Dit voorbeeld laat AI-zoeken en ophalen door gebruikers toe, sluit de belangrijkste trainingstokens uit en houdt één privégedeelte voor iedereen dicht:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
Meerdere User-agent-regels achter elkaar vormen één groep, dus de regels eronder gelden voor elk van die crawlers. Wil je juist dat je content voor training wordt gebruikt, laat dan gewoon de tweede groep weg. Het blokkeren van Google-Extended heeft geen invloed op Google Zoeken: volgens Google heeft het geen effect op opname in Zoeken en is het geen rankingsignaal. Apple zegt eveneens dat pagina's die Applebot-Extended uitsluiten nog steeds in zijn zoekresultaten kunnen verschijnen.
Hoe kiezen crawlers welke regels voor hen gelden?
RFC 9309 legt dit nauwkeurig vast, en de details verklaren de meeste verrassingen:
- Een crawler zoekt de groep waarvan de
User-agentovereenkomt met zijn producttoken, zonder onderscheid tussen hoofdletters en kleine letters. Passen er meerdere groepen, dan worden hun regels samengevoegd. - Alleen als geen enkele groep past, volgt de crawler de groep
User-agent: *. Een benoemde groep erft niets van*. - Binnen de groep wint de regel met het langste passende pad.
Allow: /blog/wint vanDisallow: /voor/blog/post. - Als een
Allow- en eenDisallow-regel even lang passen, hoortAllowgebruikt te worden. *in een pad past op alle tekens en$verankert het einde, dusDisallow: /*.pdf$dekt elke pdf.
Wat zijn de meest gemaakte fouten in robots.txt?
- Verwachten dat een benoemde groep van
*erft. Een groep voorOAI-SearchBotmet alleenAllow: /opent elk pad, ook de paden die je onder*had uitgesloten. - Een robots.txt-adres dat een HTML-pagina teruggeeft, vaak een 404-pagina met status 200. Crawlers vinden daarin geen geldige regels.
- Een robots.txt die een serverfout geeft. Volgens RFC 9309 moet een crawler dan aannemen dat de hele site verboden is. Een 404 is anders: die betekent dat er geen beperkingen zijn.
- Een zoektoken blokkeren terwijl je training wilde blokkeren, bijvoorbeeld
PerplexityBotofClaude-SearchBotuitsluiten om modeltraining te voorkomen. - Erop vertrouwen dat robots.txt door gebruikers gevraagde bezoeken tegenhoudt. OpenAI en Perplexity zeggen allebei dat hun user agents het mogelijk niet volgen.
- Subdomeinen vergeten. Elke host heeft zijn eigen robots.txt; de documentatie van Anthropic herinnert site-eigenaren eraan regels voor elk subdomein toe te voegen.
Kan ik een AI-gebruiksbeleid vastleggen dat verder gaat dan toestaan en verbieden?
Cloudflare heeft voor robots.txt een regel Content-Signal voorgesteld met drie signalen: search (een zoekindex opbouwen en links en korte fragmenten tonen), ai-input (content in realtime gebruiken voor AI-antwoorden) en ai-train (modellen trainen of finetunen). De beheerde robots.txt van Cloudflare kan hem voor je toevoegen.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Net als alles in robots.txt zijn dit voorkeuren, geen technische maatregelen. Cloudflare zelf merkt op dat naleving van robots.txt vrijwillig is. De regel is optioneel en doet geen kwaad, maar vervangt de groepen per crawler hierboven niet.
Hoe lang duren wijzigingen en hoe controleer ik ze?
Volgens RFC 9309 horen crawlers een gecachete robots.txt niet langer dan 24 uur te gebruiken, en OpenAI en Perplexity zeggen allebei dat wijzigingen ongeveer een dag kunnen duren. Bedenk ook dat robots.txt geen toegangscontrole is: een firewall kan nog steeds een crawler blokkeren die jouw regels toestaan.
AISeeWhy leest je robots.txt volgens RFC 9309 voor elke gebruikte crawler, signaleert bestanden die onbereikbaar zijn of als HTML worden geleverd, laat zien waar je regels en je server elkaar tegenspreken en geeft een kant-en-klare diff voor de wijziging.
Veelgestelde vragen
Schaadt het blokkeren van GPTBot of ClaudeBot mijn zichtbaarheid in AI-antwoorden?
Niet direct. Beide aanbieders gebruiken aparte zoekcrawlers, OAI-SearchBot en Claude-SearchBot, voor zoeken. De trainingscrawler blokkeren is een beleidskeuze.
Stopt Google-Extended de AI Overviews?
Nee. Volgens Google gebruiken AI-functies in Zoeken Googlebot en de gebruikelijke Zoeken-instellingen zoals nosnippet en noindex. Google-Extended gaat over training en grounding van Gemini in andere Google-producten en heeft geen invloed op Zoeken.
Ondersteunen AI-crawlers Crawl-delay?
Het maakt geen deel uit van RFC 9309. Anthropic zegt Crawl-delay te ondersteunen als niet-standaard uitbreiding; kijk voor andere aanbieders in hun documentatie.
Waar moet robots.txt staan?
In de root van elke host, bijvoorbeeld https://example.com/robots.txt. Een bestand in een submap wordt genegeerd, en elk subdomein heeft zijn eigen bestand nodig.
Bronnen
- RFC 9309: Robots Exclusion Protocol
- OpenAI: overzicht van de OpenAI-crawlers
- Google: veelgebruikte crawlers, inclusief Google-Extended
- Apple: over Applebot
- Cloudflare: beheerde robots.txt en Content Signals