AI-crawlers blokkeren in WordPress (eerlijk verhaal)
Om te voorkomen dat GPTBot een WordPress-site crawlt, voeg je deze regels toe aan je robots.txt:
Gepubliceerd
Om te voorkomen dat GPTBot een WordPress-site crawlt, voeg je deze regels toe aan je robots.txt:
User-agent: GPTBot
Disallow: /
Dat is de complete oplossing voor bots die zich netjes gedragen. Maar wees eerlijk tegen jezelf over wat je zojuist hebt gedaan: robots.txt is een verzoek, geen hek. OpenAI’s GPTBot haalt het bestand op en houdt zich eraan. Een scraper die de standaard niet respecteert haalt hetzelfde bestand op en negeert elke regel erin. Houd dat onderscheid voor ogen voordat je een middag besteedt aan het finetunen hiervan.
Wil je in één keer de belangrijkste AI-crawlers afdekken, dan zijn dit de gangbare user-agent-tokens:
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Bytespider
Disallow: /
GPTBot is de trainingscrawler van OpenAI, CCBot is Common Crawl (waar veel modellen verderop in de keten op trainen), ClaudeBot is Anthropic, Google-Extended is Google’s token voor AI-training en Bytespider is ByteDance. Let op: twee hiervan doorbreken het beleefde-verzoekmodel al: van Bytespider en PerplexityBot is publiekelijk gedocumenteerd dat ze sites crawlden die hen hadden geweigerd. Ze toch vermelden helpt nog steeds tegen de eerlijke bots; het doet niets tegen degene die nu al liegen over wie ze zijn.
Hoe WordPress robots.txt daadwerkelijk serveert
Dit is waar de aanpassingen van de meeste mensen stiekem niets doen. Als er geen fysiek robots.txt-bestand in je webroot staat, genereert WordPress er zelf een. Dat verzoek wordt afgehandeld door do_robots() in wp-includes/functions.php, en de uitvoer gaat door de robots_txt-filter. Het vinkje “Zoekmachines ontmoedigen deze site te indexeren” onder Instellingen → Lezen zet de optie blog_public om, en dat is wat dat virtuele bestand Disallow: / laat uitgeven.
Je kunt AI-crawlerregels dus programmatisch toevoegen:
add_filter( 'robots_txt', function ( $output, $public ) {
$output .= "User-agent: GPTBot\nDisallow: /\n";
return $output;
}, 10, 2 );
En dan de valkuil die uren opslokt: zodra er een statisch robots.txt-bestand in je webroot bestaat, serveert Apache of nginx dat bestand direct en komt WordPress er nooit aan te pas. De robots_txt-filter, de robots-editor van Yoast/Rank Math, de instelling onder Lezen — allemaal omzeild. Als je robots.txt in een plugin hebt aangepast en het live bestand nooit veranderde, is dit vrijwel altijd de reden. Bekijk https://yoursite.com/robots.txt in een privévenster en vergelijk het met wat je denkt te hebben ingesteld. Staat er een echt bestand op de schijf, bewerk dan dát bestand; de filter is dan irrelevant.
Zo los je het op, stap voor stap
Schrijf eerst nette regels. Krijg de syntaxis en de crawlerlijst goed, zodat je niet per ongeluk Googlebot blokkeert. Onze robots.txt-generator bouwt het AI-crawlerblok voor je en toont het exacte bestand om te plakken, wat de verwarring tussen virtueel en fysiek omzeilt omdat je uiteindelijk één gezaghebbend bestand hebt.
Bevestig ten tweede dat het live staat. Haal de URL rechtstreeks op. Vertrouw niet op het voorbeeldvenster van de plugin.
Als je ten derde afdwinging nodig hebt in plaats van een beleefd verzoek, ga dan hoger in de stack zitten. robots.txt leeft op de applicatielaag en is afhankelijk van de goede wil van de bot. Om een verbinding daadwerkelijk te weigeren, blokkeer je op user agent op de server. In .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (GPTBot|CCBot|ClaudeBot|Bytespider) [NC]
RewriteRule .* - [F,L]
</IfModule>
Dat geeft een 403 terug aan alles wat die user agents verstuurt. Onze .htaccess-generator kan deze regel samenstellen. Begrijp wel de beperking: user agents zijn triviaal te vervalsen, dus dit stopt alleen bots die eerlijk genoeg zijn om zichzelf te identificeren — precies dezelfde bots die zich al aan robots.txt houden. De echt robuuste optie is een CDN of WAF die blokkeert op geverifieerde crawleridentiteit of IP-bereik. Cloudflare’s one-click managed rule “Block AI Scrapers and Crawlers” is hiervan de variant met de minste moeite en werkt aan de edge, nog voordat het verzoek WordPress überhaupt bereikt.
Wat je niet moet doen
Blokkeer Google-Extended niet in de veronderstelling dat het je uit AI Overviews houdt. Dit is de misvatting die het corrigeren waard is. Google-Extended is een producttoken, geen crawler. Het bepaalt alleen of je content wordt gebruikt om Gemini-modellen te trainen en te gronden. Volgens Google’s eigen documentatie heeft het geen effect op hoe je pagina’s worden gecrawld, geïndexeerd of gerangschikt in Google Search. En AI Overviews worden opgebouwd uit de gewone Search-index die Googlebot crawlt — niet uit Google-Extended. Google-Extended blokkeren haalt je niet uit AI Overviews en kost je geen enkele positie in Search. De enige manier om buiten AI Overviews te blijven is Googlebot blokkeren of de pagina op noindex zetten, wat je ook meteen volledig uit Search verwijdert. Dat is vrijwel nooit een ruil die je wilt.
Behandel robots.txt niet als een beveiligingsmaatregel. Het is openbaar en adviserend. /wp-admin/ of een privépad erin vermelden publiceert alleen maar een kaart van waar men moet zoeken. Bescherm echte endpoints met authenticatie, niet met een disallow-regel.
Vertrouw niet op noai / noimageai meta-tags. Ze werden voorgesteld, niet gestandaardiseerd, en slechts een handvol platforms respecteert ze. Ze zijn geen algemene verdediging.
Ga er niet van uit dat een “block AI”-plugin meer deed dan robots.txt schrijven. De meeste schrijven precies dezelfde regels die je met de hand zou kunnen schrijven en erven dezelfde beperking. Lees wat de plugin daadwerkelijk heeft aangepast voordat je erop vertrouwt.
Nog steeds vast?
Als je aanpassingen niet verschijnen, is het antwoord vrijwel altijd een verdwaald fysiek robots.txt-bestand in de webroot dat de virtuele versie van WordPress overschrijft — haal de URL rechtstreeks op en controleer het. Zijn de nette bots weg maar blijven scrapers je bestoken, dan heb je het plafond bereikt van wat robots.txt kan doen, en de volgende stap is een WAF- of CDN-regel die blokkeert op geverifieerde identiteit in plaats van beleefd te vragen.