Pagina wordt geladen.

Door Redactie CleverSEOBijgewerkt op 14 min lezen
Robots.txt is een tekstbestand in de hoofdmap van je domein (jouwdomein.nl/robots.txt) dat crawlers zoals Googlebot en GPTBot vertelt welke URL's ze niet mogen ophalen. Het regelt crawlen, niet indexeren: een geblokkeerde URL kan toch in Google verschijnen. Wil je een pagina uit Google houden, gebruik dan noindex op een pagina die Google wél mag ophalen.
Een crawler zoals Googlebot vraagt eerst jouwdomein.nl/robots.txt op en leest daarna pas de rest van je site. Staat een URL onder een Disallow-regel, dan haalt hij die niet op.
Robots.txt houdt niemand tegen: de officiële standaard (RFC 9309) zegt letterlijk dat de regels geen vorm van toegangsbeveiliging zijn. Wat echt afgeschermd moet zijn, zet je achter een login.
Google bewaart je robots.txt meestal tot 24 uur in de cache, dus een wijziging werkt niet altijd meteen.
User-agent: *
Disallow: /winkelwagen/
Disallow: /zoeken/
Sitemap: https://www.jouwdomein.nl/sitemap.xmlAltijd in de hoofdmap van je domein: typ /robots.txt achter je domeinnaam en je ziet het bestand. Een robots.txt in een submap, zoals jouwdomein.nl/blog/robots.txt, leest geen enkele crawler.
Het bestand geldt alleen voor de host, het protocol en de poort waar het staat. Een subdomein zoals shop.jouwdomein.nl heeft dus een eigen robots.txt nodig.
Zie je via FTP geen bestand, terwijl /robots.txt in je browser wel iets toont? Dan maakt je CMS het bestand virtueel aan. WordPress doet dat standaard. Bij Wix en Blogger pas je robots.txt niet als bestand aan, maar via de SEO-instellingen van het platform.
Google beschrijft het maken van een robots.txt in vier stappen. Je hoeft het bestand nergens aan te melden: crawlers vinden het zelf op de vaste plek.
# Een goede start voor de meeste kleine sites
User-agent: *
Disallow:
Sitemap: https://www.jouwdomein.nl/sitemap.xmlGoogle ondersteunt vier velden. Alles wat daarbuiten valt, zoals crawl-delay of noindex in robots.txt, negeert Google.
Paden zijn hoofdlettergevoelig en werken als begin van de URL. Disallow: /blog blokkeert dus ook /blog-tips/ en /blogger.html. Wil je alleen de map, schrijf dan Disallow: /blog/.
Botsen een Allow- en een Disallow-regel, dan wint bij Google de regel met het langste pad. Zijn ze even lang, dan wint de minst beperkende: Allow.
User-agent: *
# Hele map dicht, één bestand erin open
Disallow: /account/
Allow: /account/inloggen
# Alle URL's die eindigen op .pdf
Disallow: /*.pdf$
# Interne zoekresultaten met een parameter
Disallow: /*?s=WordPress maakt zelf een virtuele robots.txt aan. Die blokkeert de beheermap /wp-admin/ en laat alleen het bestand admin-ajax.php daarin open.
Een fysiek bestand robots.txt in de hoofdmap gaat voor: de webserver levert dan meestal dat bestand en niet de virtuele versie. Rank Math past alleen de virtuele versie aan; staat er ook een fysiek bestand, dan zie je die aanpassingen niet terug. Yoast bewerkt juist het fysieke bestand.
Het vinkje 'Zoekmachines ontmoedigen' onder Instellingen > Lezen zet sinds WordPress 5.3 een noindex-tag op je pagina's in plaats van Disallow: / in robots.txt. Vergeet dat vinkje niet uit te zetten bij de livegang.
# Wat WordPress standaard serveert (de Sitemap-regel sinds 5.5,
# tenzij een SEO-plugin de eigen sitemap van WordPress uitzet)
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.jouwdomein.nl/wp-sitemap.xmlDisallow zegt: kom hier niet. Noindex zegt: je mag kijken, maar neem deze pagina niet op in de zoekresultaten.
Een URL die je in robots.txt blokkeert, kan toch in Google verschijnen als andere pagina's ernaar linken. Google toont hem dan zonder beschrijving, omdat het de inhoud niet mocht lezen.
Gebruik ze daarom niet samen op dezelfde URL: Google ziet de noindex dan nooit.
Noindex is een instructie in de robots-metatag of de X-Robots-Tag-header die Google vraagt een pagina niet in de zoekresultaten op te nemen.
Noindex staat in de pagina zelf of in de HTTP-header die je server meestuurt. Google moet de pagina dus kunnen ophalen om de instructie te lezen.
Met nofollow erbij vraag je Google ook de links op de pagina niet te volgen; none betekent hetzelfde als noindex, nofollow. Nosnippet houdt de pagina wel in de index, maar zonder tekstfragment eronder.
Voor bestanden zonder HTML, zoals een pdf, gebruik je de header X-Robots-Tag. Die stel je in op de webserver of in je CMS.
<!-- In de <head> van de pagina -->
<meta name="robots" content="noindex">
<!-- Ook de links op de pagina niet volgen -->
<meta name="robots" content="noindex, nofollow">
<!-- Alleen voor Google -->
<meta name="googlebot" content="noindex">
# Als HTTP-header, bijvoorbeeld voor een pdf
X-Robots-Tag: noindexVoor Google Zoeken is er geen aparte AI-crawler. Google schrijft dat AI is ingebouwd in Zoeken en dat de robots.txt-regels voor Googlebot daarom bepalen hoe je site voor Zoeken wordt gecrawld. Dat geldt dus ook voor AI Overviews en AI Mode: blokkeer je Googlebot, dan verdwijn je uit allebei.
Google-Extended is een los token in robots.txt. Het bepaalt of Google je inhoud mag gebruiken voor het trainen van Gemini-modellen en om antwoorden in Gemini-apps te onderbouwen (grounding). Volgens Google heeft het geen invloed op je plek in Google Zoeken.
Een wijziging verwerkt Perplexity binnen 24 uur; OpenAI noemt ongeveer 24 uur voor de zoekresultaten van ChatGPT (OAI-SearchBot).
Bots die een pagina ophalen omdat een gebruiker erom vraagt, volgen robots.txt niet altijd: bij ChatGPT-User is het niet gegarandeerd, Perplexity-User en de door gebruikers gestarte fetchers van Google (zoals Google-Agent) negeren het meestal. Claude-User volgt het wel; Anthropic houdt zich met al zijn bots aan robots.txt.
Robots.txt bepaalt alleen of een AI-crawler je pagina's mag ophalen. Of ChatGPT en AI Overviews je daarna ook noemen, hangt af van wat er op de pagina staat: een direct antwoord op de vraag, eigen cijfers en bronnen. Dat meten we in de AI-vindbaarheidscheck van onze SEO-scan.
Geef elke AI-crawler die je wilt weren een eigen groep met zijn naam achter User-agent en daaronder Disallow: /. Wil je alleen uit trainingsdata blijven, blokkeer dan GPTBot, ClaudeBot en Google-Extended en laat de zoekcrawlers open. Zo blijf je vindbaar in ChatGPT, Perplexity, Claude en AI Overviews.
Een crawler die een eigen groep heeft, negeert de groep onder User-agent: *. Regels die voor iedereen gelden, zoals Disallow: /winkelwagen/, moet je in zo'n eigen groep dus herhalen als die crawler wel toegang houdt.
Het blok hieronder dekt alleen OpenAI, Anthropic en Google. Andere bedrijven hebben eigen crawlers met eigen namen; die moet je apart noemen, en de namen staan in hun documentatie.
# Wel in de zoekresultaten van ChatGPT, Perplexity en Claude,
# niet in de trainingsdata van OpenAI, Anthropic en Google
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# Googlebot, OAI-SearchBot, PerplexityBot en
# Claude-SearchBot vallen onder deze groep
User-agent: *
Disallow: /winkelwagen/Gebruik robots.txt voor delen van je site waar een crawler niets te zoeken heeft en die veel URL's opleveren. Bij een kleine site met enkele tientallen pagina's is een bestand met alleen de sitemapregel vaak genoeg.
Geeft je robots.txt tijdens een migratie of storing een 503, dan stopt Google twaalf uur met crawlen. Per statuscode, volgens de robots.txt-specificatie van Google:
Eén verkeerde regel kan Google van je hele site weghouden: nieuwe pagina's komen niet in de index en bestaande verschijnen zonder beschrijving. Controleer het bestand na elke livegang, migratie of wijziging aan je CMS. De oude losse robots.txt-tester bestaat niet meer; je controleert nu via het robots.txt-rapport en URL-inspectie.
De robots.txt van cleverseo.nl wordt door Next.js gegenereerd en is kort. Alle URL's met een vraagteken zijn dicht, zodat varianten met parameters geen crawlbezoeken kosten. Daarnaast is /api/ dicht en staan beide sitemaps erin.
Een aparte groep voor AI-crawlers staat er niet in: GPTBot, OAI-SearchBot en de rest vallen onder het sterretje. We willen juist in ChatGPT, Perplexity en AI Overviews kunnen verschijnen, dus trainings- en zoekcrawlers mogen allebei binnen.
Allow: / bovenaan verandert niets: wat niet geblokkeerd is, mag Google al ophalen. De Host-regel zet onze Next.js-configuratie erin; Google slaat dat veld over, dus voor Google doet die regel niets.
User-Agent: *
Allow: /
Disallow: /*?*
Disallow: /api/
Host: https://cleverseo.nl
Sitemap: https://cleverseo.nl/sitemap.xml
Sitemap: https://cleverseo.nl/image-sitemap.xmlStel: tijdens de bouw staat op de testsite 'Disallow: /', zodat Google niets ophaalt. Bij de livegang wordt het hele bestand meegekopieerd.
Google mag nu niets meer ophalen. Nieuwe pagina's komen niet in de index en bestaande resultaten verschijnen zonder beschrijving.
Eén regel weghalen lost het op. Vraag daarna in het robots.txt-rapport van Search Console een nieuwe ophaalactie aan, want anders kan Google de oude versie nog tot een dag gebruiken.
Google mag de pagina dan niet lezen en ziet de noindex nooit. Haal de Disallow weg en laat de noindex staan. Blokkeer de URL daarna niet opnieuw, want dan ziet Google de noindex niet meer en kan de URL via links terugkomen.
Google heeft de bestanden die je pagina opbouwen nodig om hem te zien zoals een bezoeker. Blokkeer alleen bestanden zonder wezenlijke invloed, of afbeeldingen die je bewust uit Google Afbeeldingen wilt houden.
Paden in robots.txt zijn hoofdlettergevoelig. Disallow: /Admin/ blokkeert /admin/ dus niet.
Een crawler volgt alleen de groep die het meest specifiek bij hem past. Zet je één regel onder User-agent: Googlebot, dan gelden de regels onder User-agent: * niet meer voor Google.
Blokkeer je ook de zoekcrawlers (OAI-SearchBot, PerplexityBot, Claude-SearchBot), dan kom je niet meer in de antwoorden van ChatGPT Search en Perplexity, en word je volgens Anthropic minder zichtbaar in de zoekresultaten van Claude. Dan verlies je dus meer dan alleen je plek in trainingsdata.
Iedereen kan je robots.txt lezen. Een regel als Disallow: /beheer-2026/ wijst kwaadwillenden juist de weg.
Nee. Geeft jouwdomein.nl/robots.txt een 404, dan mag Google alles ophalen, en voor een kleine site is dat vaak prima. Een bestand met alleen de sitemapregel is wel handig, omdat crawlers je sitemap dan direct vinden.
Niet rechtstreeks: een goed bestand geeft geen rankingbonus. Een fout bestand kost wel posities, want een pagina die Google niet mag ophalen, kan niet op zijn inhoud ranken. Bij grote webshops helpt het blokkeren van filter-URL's Google om zijn crawlbezoeken aan je echte pagina's te besteden.
Voor crawlen: User-agent: * met Disallow: /. Wil je dat de site niet in de zoekresultaten komt, gebruik dan noindex of een login. WordPress doet dat sinds versie 5.3 ook zo: het vinkje 'Zoekmachines ontmoedigen' zet een noindex-tag in plaats van Disallow: /.
Google bewaart robots.txt meestal tot 24 uur in de cache, dus een wijziging is vaak binnen een dag actief. Is het dringend, bijvoorbeeld na een per ongeluk geblokkeerde site, vraag dan in het robots.txt-rapport van Search Console een nieuwe ophaalactie aan.
Zoek in robots.txt de Disallow-regel waarvan het pad het begin van die URL is; URL-inspectie in Search Console laat zien dat robots.txt het crawlen blokkeert. Haal die regel weg, of zet er een Allow-regel met het langere pad van de URL onder. Moet de pagina uit Google, zet er dan pas een noindex op: Google leest die alleen als het de pagina weer mag ophalen.
Nee. Google negeert crawl-delay in robots.txt en regelt het crawltempo zelf, onder meer op basis van hoe snel je server reageert. ClaudeBot van Anthropic volgt het wel; Anthropic geeft als voorbeeld Crawl-delay: 1 in een groep voor ClaudeBot.
Alleen als je niet wilt dat je teksten in trainingsdata belanden. Blokkeer dan GPTBot, ClaudeBot en Google-Extended. Dat kost je geen zichtbaarheid, zolang OAI-SearchBot, PerplexityBot, Claude-SearchBot en Googlebot open blijven.
Ja. Je zet elke sitemap op een eigen regel met Sitemap: en de volledige URL. Onze eigen robots.txt noemt er twee: één voor pagina's en één voor afbeeldingen.
Een pdf heeft geen HTML-head, dus een meta-tag kan niet. Stuur de HTTP-header X-Robots-Tag: noindex mee met het bestand. Dat stel je in op de webserver of in je CMS.
Noindex vraagt Google een pagina niet op te nemen in de index. Nofollow vraagt Google een link niet als aanbeveling te tellen. Een bedankpagina krijgt bijvoorbeeld noindex, terwijl Google de links erop gewoon mag volgen.