Robots.txt: complete handleiding
Robots.txt is een tekstbestand dat zoekmachines en crawlers vertelt welke delen van je site ze mogen bezoeken. Het staat in de root van je domein (example.nl/robots.txt) en wordt door vrijwel elke crawler als eerste gelezen. Eenvoudig concept, maar de implementatie gaat verrassend vaak mis.
In 2026 is robots.txt complexer dan ooit. Naast Googlebot moet je nu ook 12+ AI-crawlers van 6 organisaties managen. In deze handleiding: de volledige syntax, concrete voorbeelden, AI-bot configuratie, en de fouten die je absoluut wilt vermijden.
Inhoudsopgave
- Wat doet robots.txt (en wat niet)
- Syntax: de basis
- Directives uitgelegd
- Wildcards en patronen
- Robots.txt voor AI-bots
- Voorbeelden per scenario
- Testen en valideren
- Veelgemaakte fouten
- Veelgestelde vragen
Wat doet robots.txt (en wat niet)
Robots.txt is een crawl-instructie, geen beveiligingsmechanisme. Het vertelt bots welke URL-paden ze niet mogen opvragen. De meeste serieuze crawlers respecteren het. Maar het is geen contract, geen wet, en geen firewall.
Robots.txt doet:
- Crawling blokkeren voor specifieke bots of URL-patronen
- Crawlbudget sturen naar de juiste pagina's
- AI-bots selectief toelaten of blokkeren
- Sitemap-locatie communiceren
Robots.txt doet NIET:
- Pagina's uit de Google-index houden (gebruik
<meta name="robots" content="noindex">) - Gevoelige content beschermen (gebruik authenticatie of IP-whitelisting)
- Garanderen dat bots je regels volgen (kwaadaardige bots negeren robots.txt)
Dit onderscheid is cruciaal. Een pagina die in robots.txt geblokkeerd staat maar elders gelinkt wordt, kan alsnog in de index verschijnen. Google toont dan de URL zonder snippet of content. Dat is zelden wat je wilt.
Syntax: de basis
Robots.txt is een UTF-8 tekstbestand in je root directory. Regels worden gescheiden door regelovergangen (CR, LF, of CRLF). De structuur is simpel:
User-agent: [botnaam]
Disallow: [pad]
Allow: [pad]
User-agent: [andere bot]
Disallow: [pad]
Sitemap: [url]
Elke "groep" begint met een User-agent regel, gevolgd door Disallow en/of Allow regels. Een lege regel scheidt groepen. De Sitemap directive staat los van groepen en kan overal in het bestand staan.
Belangrijk: de volgorde van groepen maakt niet uit. Maar binnen een groep geldt de meest specifieke regel. Google kiest het langste pad dat matcht.
Directives uitgelegd
User-agent
Specificeert voor welke crawler de volgende regels gelden. Gebruik * voor alle crawlers.
User-agent: *
User-agent: Googlebot
User-agent: GPTBot
Een bot zoekt eerst naar een groep met zijn eigen naam. Vindt hij die niet, dan valt hij terug op User-agent: *. Staat er geen *-groep en geen specifieke groep? Dan mag de bot alles crawlen.
Disallow
Blokkeert crawling van een specifiek pad. Het pad is case-sensitive.
Disallow: /admin/
Disallow: /search
Disallow: /tag/
Let op: Disallow: /admin/ blokkeert /admin/ en alles eronder. Disallow: /admin blokkeert ook /administrator/ en /admin-page. Wees precies met trailing slashes.
Een lege Disallow: (zonder pad) betekent "alles is toegestaan". Dat is de manier om een bot expliciet volledige toegang te geven.
Allow
Staat crawling toe voor een specifiek pad binnen een geblokkeerde sectie. Nuttig voor uitzonderingen.
User-agent: Googlebot
Disallow: /private/
Allow: /private/public-page
Google kiest de meest specifieke (langste) match. In dit voorbeeld: /private/public-page is specifieker dan /private/, dus die pagina wordt wel gecrawld.
Sitemap
Verwijst crawlers naar je sitemap. Niet gebonden aan een User-agent groep.
Sitemap: https://example.nl/sitemap.xml
Sitemap: https://example.nl/sitemap-products.xml
Je kunt meerdere sitemaps opgeven. Dit is een aanvulling op (niet een vervanging van) het indienen van je sitemap in Search Console.
Wildcards en patronen
Google en Bing ondersteunen twee wildcard-tekens in robots.txt. Dit is geen officieel deel van de RFC, maar wordt breed ondersteund.
* (asterisk)
Matcht elke reeks tekens. Handig voor URL-patronen met variabele segmenten.
# Blokkeer alle URL's met "sort=" parameter
Disallow: /*sort=
# Blokkeer alle PDF-bestanden
Disallow: /*.pdf
$ (dollar)
Matcht het einde van de URL. Zonder $ is een regel impliciet een prefix-match.
# Blokkeer alleen exact /search, niet /search-results of /searchpage
Disallow: /search$
# Blokkeer alle .php bestanden maar niet /php-tutorial/
Disallow: /*.php$
Aandachtspunt: wees voorzichtig met brede wildcards. Disallow: /*? blokkeert elke URL met een querystring. Dat kan onbedoeld belangrijke pagina's raken.
Robots.txt voor AI-bots
In 2026 moet je robots.txt minimaal 12 bots van 6 organisaties dekken. Ze vallen in drie categorieën:
Training crawlers
Deze bots verzamelen data voor model-training. Blokkeren betekent dat je content niet in toekomstige modellen terechtkomt.
| Bot | Eigenaar | User-agent |
|---|---|---|
| GPTBot | OpenAI | GPTBot |
| ClaudeBot | Anthropic | ClaudeBot |
| Google-Extended | Google-Extended | |
| Applebot-Extended | Apple | Applebot-Extended |
| CCBot | Common Crawl | CCBot |
| Bytespider | ByteDance | Bytespider |
Search/retrieval crawlers
Deze bots halen content op om direct in AI-antwoorden te tonen. Blokkeren betekent onzichtbaarheid in die AI-zoekmachine.
| Bot | Eigenaar | User-agent |
|---|---|---|
| OAI-SearchBot | OpenAI | OAI-SearchBot |
| ChatGPT-User | OpenAI | ChatGPT-User |
| Claude-SearchBot | Anthropic | Claude-SearchBot |
| Claude-User | Anthropic | Claude-User |
| PerplexityBot | Perplexity | PerplexityBot |
Het verschil is essentieel
Blokkeer je GPTBot? Dan komt je content niet in toekomstige ChatGPT-modellen. Blokkeer je ChatGPT-User? Dan kan ChatGPT je pagina's niet realtime ophalen wanneer een gebruiker een vraag stelt. Blokkeer je PerplexityBot? Dan ben je onzichtbaar in Perplexity.
Voor de meeste bedrijven die online zichtbaarheid willen, is het verstandig om search/retrieval bots toe te laten en training crawlers bewust te kiezen.
Meer over het afwegingskader: AI-crawlers en je robots.txt
Voorbeelden per scenario
Scenario 1: Maximale zichtbaarheid (recommended)
Voor bedrijven die gevonden willen worden in zowel Google als AI-search.
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /search/
Sitemap: https://example.nl/sitemap.xml
Alle bots mogen alles behalve admin, winkelwagen, en interne zoekresultaten.
Scenario 2: AI-training blokkeren, AI-search toestaan
Je wilt zichtbaar zijn in AI-antwoorden maar niet dat je content in trainingsdata belandt.
User-agent: *
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: PerplexityBot
Allow: /
Sitemap: https://example.nl/sitemap.xml
Scenario 3: E-commerce met faceted navigation
Productpagina's open, maar filtercombinaties en paginering geblokkeerd.
User-agent: *
Allow: /
Disallow: /*?color=
Disallow: /*?size=
Disallow: /*?sort=
Disallow: /*?page=
Disallow: /search/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Sitemap: https://shop.nl/sitemap-index.xml
Scenario 4: Staging-omgeving volledig blokkeren
User-agent: *
Disallow: /
Eén regel. Alles geblokkeerd. Gebruik dit alleen voor staging/test-omgevingen. Vergeet niet om het te verwijderen bij go-live (een veelgemaakte fout).
Testen en valideren
Google Search Console
Ga naar Instellingen > Crawlen > robots.txt rapport. Hier kun je:
- Je huidige robots.txt bekijken zoals Google het ziet
- Specifieke URL's testen tegen je regels
- Zien of er fouten of waarschuwingen zijn
Handmatig testen
# Bekijk je robots.txt
curl https://jouwsite.nl/robots.txt
# Test hoe een specifieke bot je site ziet
curl -A "GPTBot" -sI https://jouwsite.nl/
Caching
Google cached je robots.txt tot 24 uur. Na een wijziging kan het dus een dag duren voordat Google de nieuwe versie gebruikt. Bij een crawl-error op robots.txt (5xx of timeout) gebruikt Google de laatst gecachede versie. Geen robots.txt of een 404? Dan mag alles gecrawld worden.
Veelgemaakte fouten
1. Noindex via robots.txt
De grootste misvatting. Disallow in robots.txt voorkomt crawling, niet indexering. Google heeft de niet-standaard noindex directive in robots.txt officieel stopgezet per september 2019. Gebruik altijd <meta name="robots" content="noindex"> in de HTML.
2. Crawl-delay voor Google
Google negeert de Crawl-delay directive volledig. Bing respecteert het wel. Als je Google's crawl rate wilt beperken, doe het via Search Console.
3. Trailing slash inconsistentie
Disallow: /blog blokkeert /blog, /blog/, /blog/post-1, en /blogarchive. Disallow: /blog/ blokkeert alleen /blog/ en alles eronder. Dat verschil van een slash kan onverwachte gevolgen hebben.
4. Te brede wildcards
Disallow: /*? blokkeert elke URL met een querystring. Inclusief URLs als /products?sku=123 die je misschien wél wilt laten crawlen. Wees specifiek: Disallow: /*?utm_ is beter.
5. Case sensitivity vergeten
Robots.txt paden zijn case-sensitive. Disallow: /Admin/ blokkeert niet /admin/. Als je site mixed case URL's genereert, moet je beide varianten opnemen.
6. Staging robots.txt live pushen
Na een migratie of redesign wordt regelmatig per ongeluk de staging Disallow: / naar productie gepusht. Eén regel die je hele site onzichtbaar maakt. Check robots.txt altijd als onderdeel van je launch-checklist.
Veelgestelde vragen
Is robots.txt verplicht? Nee. Zonder robots.txt mogen alle bots je hele site crawlen. Maar voor sites met meer dan een handvol pagina's is het een best practice om er een te hebben. Het helpt je crawlbudget richten en geeft je controle over AI-bots.
Hoe snel pakt Google een wijziging op? Google cached robots.txt tot 24 uur. In de praktijk zie je wijzigingen meestal binnen enkele uren. Bij urgentie: ververs de cache via de Search Console robots.txt tester.
Moet ik AI-bots blokkeren of toelaten? Dat hangt af van je strategie. Wil je zichtbaar zijn in ChatGPT en Perplexity? Laat search/retrieval bots toe. Wil je niet dat je content in trainingsdata belandt? Blokkeer training crawlers. Meer hierover: AI-crawlers en je robots.txt
Wat als een bot mijn robots.txt negeert? Robots.txt is een protocol, geen afdwingbaar contract. Serieuze partijen (Google, OpenAI, Anthropic, Perplexity) respecteren het. Kwaadaardige scrapers niet. Voor echte bescherming heb je server-side maatregelen nodig (rate limiting, IP blocking, WAF-regels).
Kan ik specifieke pagina's toestaan voor Google maar blokkeren voor AI?
Ja. Gebruik aparte User-agent groepen. Een groep voor Googlebot met Allow: /, een groep voor GPTBot met Disallow: /private/. Elke bot zoekt zijn eigen groep.
Volgende stap
Robots.txt is de toegangspoort voor crawlers. Maar toegang geven is stap 1. Je content moet ook leesbaar zijn (JavaScript rendering), vindbaar (sitemaps), en begrijpelijk (structured data).
→ Bekijk alle Technical SEO artikelen
Gerelateerde artikelen
Hoe scoort jouw bedrijf?
Vraag een gratis AI Visibility Snapshot aan: 1 pagina, geen verplichtingen.
Vraag een Snapshot aan →