Hoe de matching van robots.txt werkt
Het robots.txt-bestand vormt de standaardmethode waarmee websites communiceren met geautomatiseerde webcrawlers. Volgens de officiële internetstandaard RFC 9309 is een robots.txt opgebouwd uit groepen van regels. Elke groep begint met een of meerdere User-agent-regels, gevolgd door richtlijnen zoals Allow en Disallow.
Wanneer een zoekmachinebot of AI-crawler uw website bezoekt, zoekt de bot eerst naar de groep die specifiek op zijn eigen naam is gericht. Een crawler volgt hierbij een strikte volgorde:
- De bot zoekt een groep met zijn exacte naam (zoals
User-agent: Googlebot).
- Wordt die niet gevonden, dan zoekt een gespecialiseerde bot naar de hoofdgroep via het woord voor het koppelteken (zoals
Googlebot voor Googlebot-Image).
- Is er geen specifieke groep aanwezig, dan valt de bot terug op de algemene groep
User-agent: *.
Een cruciaal principe in RFC 9309 is dat een specifieke groep de algemene wildcardgroep volledig vervangt. Als een robots.txt-bestand zowel regels voor * als voor Googlebot bevat, leest Googlebot uitsluitend de regels in zijn eigen sectie. De regels uit de *-groep worden in dat geval volledig genegeerd en niet samengevoegd. De Robots.txt-tester simuleert deze toewijzing exact zoals crawlers dat doen, zodat u direct ziet welke groep van toepassing is.
De langste regel wint: prioriteit en syntax
Wanneer binnen een groep meerdere regels van toepassing zijn op dezelfde URL, bepaalt de lengte van het patroon welke instructie voorrang krijgt. Het mechanisme werkt volgens het principe dat de meest specifieke regel, oftewel het langste pad in tekens, altijd wint.
| Regel in robots.txt |
Opgevraagde URL |
Resultaat |
Reden |
Disallow: /producten/ |
/producten/schoenen |
Geblokkeerd |
Pad valt onder Disallow |
Allow: /producten/schoenen |
/producten/schoenen |
Toegestaan |
Allow-regel bevat meer tekens dan Disallow |
Disallow: /doc/ en Allow: /doc/ |
/doc/handleiding.pdf |
Toegestaan |
Bij gelijke lengte wint Allow |
Disallow: (leeg) |
/willekeurig-pad |
Toegestaan |
Een lege Disallow heft alle blokkades op |
Naast vaste paden ondersteunen moderne crawlers twee speciale tekens: - De asterisk * fungeert als wildcard voor nul of meer willekeurige tekens. - Het dollarteken $ markeert het exacte einde van een URL.
Met de regel Disallow: /*.pdf$ blokkeert u bijvoorbeeld alle bestanden die eindigen op de extensie PDF, terwijl een URL zoals /bestanden/handleiding.pdf?download=1 wel toegankelijk blijft omdat deze niet op het dollarteken eindigt. Als er helemaal geen regel overeenkomt met het opgevraagde pad, is de standaardstatus altijd toegestaan. Met de Robots.txt-tester ziet u per URL direct het winnende regelnummer en het exacte pad dat de beslissing heeft bepaald.
AI-crawlers en Content-Signal testen
Met de opkomst van grote taalmodellen en generatieve AI zetten organisaties steeds vaker specifieke regels op voor crawlers zoals GPTBot, ClaudeBot, Bytespider en Google-Extended. Deze bots verzamelen trainingsdata of leveren actuele webresultaten aan chatinterfaces.
U kunt AI-crawlers individueel beheren door aparte blokken aan te maken in uw configuratie. Als u snel een complete set regels wilt opstellen voor diverse AI-bots, kunt u gebruikmaken van de robots.txt-generator voor AI-crawlers. Vervolgens plakt u het resultaat in de Robots.txt-tester om te controleren of de paden correct worden afgeschermd.
Daarnaast verschijnt in moderne robots.txt-bestanden steeds vaker de experimentele richtlijn Content-Signal. Deze richtlijn definieert gebruiksrechten voor content: - search: Geeft toestemming voor indexering ten behoeve van traditionele zoekresultaten. - ai-input: Geeft aan dat inhoud mag worden gebruikt als context voor antwoorden. - ai-train: Geeft aan of data gebruikt mag worden voor het trainen van modellen.
De Robots.txt-tester leest deze Content-Signal-waarden uit en toont ze in het resultatenoverzicht. Houd er rekening mee dat Content-Signal een signaal over gebruiksrecht is en geen technisch toegangsblokkade zoals Disallow.
De reikwijdte van de Robots.txt-tester
De Robots.txt-tester voert alle controles lokaal in uw webbrowser uit. De tool haalt geen bestanden live op van een server en stuurt uw ingevoerde regels niet door naar externe systemen. Hierdoor kunt u conceptbestanden, ontwikkelomgevingen en gevoelige URL-structuren veilig testen voordat u deze op de productieserver publiceert.
Om de werking van de tool goed te begrijpen, is het nuttig om te weten wat buiten de scope valt:
- Geen indexeringsstatus: De tester controleert uitsluitend of een crawler het pad mag ophalen volgens de regels van het bestand, niet of de pagina daadwerkelijk is geïndexeerd in zoekmachines.
- Geen live HTTP-status: De tool controleert niet of de opgegeven URL's bestaan (404) of redirects bevatten (301).
- Geen bot-identiteitscontrole: Een robots.txt kan niet controleren of een bezoeker die zich voordoet als Googlebot ook echt van Google is. Voor het verifiëren van bot-identiteit gebruikt u cryptografische technieken zoals een verificatiesleutel-generator voor webbots.
Als u naast regels voor zoekmachines ook gestructureerde documentatie voor AI-assistenten wilt aanbieden, kunt u een bestand opstellen met de llms.txt-generator. De Robots.txt-tester helpt u vervolgens controleren of uw robots.txt de toegang tot die bestanden correct toestaat.