Hoe AI-crawlers te besturen met robots.txt
Een paar jaar geleden waren de crawlers die uw site bezochten zoekmachines en een lange reeks scrapers. Nu behoort een groot deel daarvan tot taalmodellen: sommige verzamelen pagina's om op te trainen, sommige halen een pagina live op omdat een gebruiker er een vraag over heeft gesteld, en sommige doen beide onder verschillende namen. Het besturingsoppervlak voor al deze bestanden is hetzelfde bestand dat het altijd is geweest: /robots.txt, een gewoon tekstbestand in de hoofdmap van uw domein, maar de beslissingen erachter zijn nieuw.
Trainen, ophalen en zoeken zijn drie verschillende vragen
De meest voorkomende fout is dat we ‘AI-crawler’ als één ding behandelen. Het zijn er minstens drie, en de meeste leveranciers gebruiken voor elk een aparte user-agent:
- Trainingscollectie. Een bot die breed crawlt en pagina's opslaat voor een toekomstig model. Het blokkeren ervan kost u vandaag niets en levert u vandaag niets op: het is een licentiebeslissing, geen verkeersbeslissing.
- Live ophalen. Een ophaalactie die wordt geactiveerd door een persoon in een chatvenster die uw URL heeft geplakt of een vraag heeft gesteld die op uw pagina wordt beantwoord. Als u dit blokkeert, kan de assistent u niet lezen, niet citeren en u niet koppelen.
- Indexering door antwoordapparaat. Een crawler die de index bouwt waaruit een AI-zoekproduct antwoordt. Als u het blokkeert, wordt u uit de resultaten van dat product verwijderd, op dezelfde manier als wanneer u een zoekmachine blokkeert.
Uitgevers blokkeren routinematig alle drie de regels door één regel te plakken en vragen zich vervolgens af waarom hun merk niet meer in assistent-antwoorden verschijnt. Bepaal per categorie voordat je een regel schrijft.
Wie is wie
De namen die u daadwerkelijk in uw logboeken zult zien, en waarvoor ze allemaal dienen:
GPTBot- De brede crawler van OpenAI, geassocieerd met het verzamelen van trainingsgegevens.OAI-SearchBot— OpenAI's crawler voor resultaten in zoekstijl; het blokkeren ervan is een zichtbaarheidsbeslissing, geen trainingsbeslissing.ChatGPT-User— een live ophaalactie gemaakt omdat een gebruiker erom vroeg. Er wacht een persoon aan de andere kant van dit verzoek.ClaudeBot- De brede crawler van Anthropic.Claude-UserEnClaude-SearchBotomvat door de gebruiker geïnitieerde ophaalacties en zoekindexering.Google-Extended– helemaal geen crawler. Het is een token waarmee u zich kunt afmelden voor de Gemini-training terwijl Googlebot naar Zoeken blijft crawlen. Als u dit niet toestaat, heeft dit geen invloed op uw zoekresultaten; niet toestaanGooglebotheel veel doet.PerplexityBot— indexering voor een antwoordengine die bronnen inline citeert.CCBot- Gemeenschappelijke kruip. Geen AI-bedrijf, maar het archief is voor velen van hen een trainingsinput.Applebot-Extended,meta-externalagent,Amazonbot,Bytespider– hetzelfde patroon van Apple, Meta, Amazon en ByteDance.
Leveranciers voegen regelmatig agenten toe en hernoemen ze, dus behandel elke lijst (inclusief deze) als een momentopname. De duurzame gewoonte is het lezen van uw eigen toegangslogboeken: haal de afzonderlijke user-agentreeksen uit een dag vol verkeer op en voer ze door de user-agent-parser om te zien welke bots zijn, welke browsers en welke zich voordoen als browsers.
Het schrijven van de regels
De syntaxis is op precies één plek onveranderd en meedogenloos: elk User-agent groep is van toepassing op de bot die ermee overeenkomt meest specifiek, en een bot die overeenkomt met zijn eigen naam negeert de * groep geheel. Dit doet dus niet wat het lijkt:
Een groep voor * dat niets toestaat, gevolgd door een groep voor GPTBot dat verbiedt /, werkt prima. Maar als u alleen een crawlvertraging of een sitemapregel in de * groep en neem aan dat benoemde bots deze erven, maar dat is niet het geval. Herhaal alles wat er toe doet in elke groep, of houd uw regels breed.
De robots.txt-generator bouwt het bestand op vanuit selectievakjes - kies de agenten die u wilt toestaan of blokkeren, voeg uw niet-toegestane paden toe en het verzendt correct gegroepeerde uitvoer met uw sitemapregel aan het einde. Zodra het bestand bestaat, plakt u het in het robots.txt-tester met een URL en een user-agent om te bevestigen dat het antwoord het antwoord is dat u bedoelde. Testen is hier belangrijker dan normaal omdat de mislukking stil is: een regel die per ongeluk alles blokkeert, lijkt precies op een regel die werkt, totdat het verkeer een maand later verdwijnt.
Wat robots.txt niet kan doen
Drie limieten zijn de moeite waard om te internaliseren voordat u op het bestand vertrouwt:
Het is een verzoek, geen hek. Goed opgevoede crawlers eren het. Scrapers die uw inhoud willen, negeren dit, en niets in het protocol houdt hen tegen. Als je handhaving nodig hebt, zit dat in je serverconfiguratie, een snelheidsbegrenzer of een WAF-regel – en zelfs dan match je op user-agentstrings en IP-bereiken die kunnen worden nagebootst.
Niet toestaan is niet noindex. Een niet-toegestane URL kan nog steeds in de resultaten verschijnen als andere sites ernaar linken, omdat de crawler wordt verteld de pagina niet op te halen, maar niet mag vergeten dat deze bestaat. Als u een pagina uit een index wilt halen, laat de crawler deze dan ophalen en een noindex metatag of header. Door robots.txt actief te blokkeren, wordt voorkomen dat de crawler die tag ooit ziet.
Het is per host, schema en poort. https://example.com/robots.txt regelt alleen die oorsprong – niet www., niet het staging-subdomein, niet de CDN-hostnaam die uw afbeeldingen bedient. Elke host die verzoeken beantwoordt, heeft een eigen bestand nodig.
Wijs crawlers op wat u wel wilt laten indexeren
De andere helft van het dossier is een uitnodiging en geen uitsluiting. A Sitemap: line geeft elke crawler een expliciete lijst van uw canonieke URL’s en hun laatst gewijzigde datums, wat de goedkoopste manier is om nieuwe pagina’s ontdekt te krijgen – de sitemapgenerator verandert een lijst met URL's in geldige XML die u naast het robots-bestand kunt uploaden. Houd de twee consistent: een URL die in uw sitemap verschijnt terwijl deze niet is toegestaan in robots.txt is een tegenstrijdigheid die als een fout verschijnt in elke rapportagetool die beide leest.
Zie je misschien ook llms.txt voorgesteld als begeleidend bestand: een markdown-samenvatting van een site gericht op modellen in plaats van op crawlers. Het is een conventie, geen standaard, en geen enkele grote leverancier beschouwt het als een richtlijn. Het toevoegen van een is onschadelijk; erop vertrouwen voor controle is dat niet.
Een redelijke tekortkoming
Als u inhoud publiceert en bereik wilt, is de opstelling waar de meeste sites op terechtkomen: sta live ophalen en crawlers van antwoordmotoren toe zodat assistenten u kunnen vinden en citeren, blokkeer of sta bulktrainingscrawlers toe, afhankelijk van hoe u over dat vak denkt, raak nooit aan Googlebot of Bingbot tenzij je precies weet waarom, en zorg ervoor dat een sitemapregel naar een huidig bestand verwijst. Als u achter een betaalmuur publiceert of licenties voor uw archief verkoopt, keert de berekening om en is het blokkeren van de brede crawlers het punt.
Hoe dan ook, schrijf het doelbewust, test het aan de hand van echte user-agentreeksen en controleer het opnieuw wanneer een leverancier een nieuwe bot aankondigt. Zowel de generator als de tester draaien volledig in uw browser: uw robots-bestand, uw URL's en uw logregels verlaten de pagina nooit.
Maker van TextArray — bouwt gratis tools waarbij de privacy centraal staat en die volledig in uw browser worden uitgevoerd.