Je kijkt naar je analytics en ziet honderden sessies met een bounce rate van 100%. Geen klikken, geen scroll, geen interactie. Toch tellen ze mee in je cijfers. Grote kans dat een deel van dat verkeer geen mensen zijn, maar bots.
Volgens Cloudflare is meer dan 40% van al het internetverkeer afkomstig van bots. Een deel daarvan is nuttig – Googlebot indexeert je pagina's, en dat wil je. Maar een groot deel bestaat uit commerciële scrapers die je content kopiëren, je concurrenten voeden en je data vervuilen.
Welke bots zijn het probleem?
Er zijn twee categorieën:
Nuttige bots – deze wil je toelaten:
- Googlebot, Bingbot (zoekmachine-indexering)
- GPTBot, ClaudeBot, PerplexityBot (AI-zoekmachines die je site kunnen citeren)
Commerciële scrapers – deze wil je blokkeren:
- AhrefsBot en SemrushBot (SEO-tools van concurrenten)
- MJ12bot (Majestic backlink-crawler)
- Bytespider (TikTok/ByteDance-scraper)
- PetalBot (Huawei-zoekmachine)
- DotBot, BLEXBot, SerpApi (diverse datascrapers)
Deze bots laden je pagina's, registreren een sessie en verdwijnen. Als je Google Analytics gebruikt zonder botfiltering, tellen die sessies gewoon mee. Je bounce rate stijgt, je sessieduur daalt en je trekt conclusies op basis van vervuilde data.
Wat betekent dit voor je beslissingen?
Stel, je hebt een landingspagina die 500 sessies per maand krijgt met een bounce rate van 72%. Je besluit de pagina te herschrijven omdat bezoekers blijkbaar afhaken.
Maar wat als 80 van die sessies bots waren? Dan is je werkelijke bounce rate misschien 65% – en was de pagina helemaal niet zo slecht. Je herschrijft een pagina die prima functioneerde, op basis van data die niet klopt.
Dit geldt ook voor conversieratio's. Als botsessies meetellen in je totaal maar nooit converteren, lijkt je conversieratio lager dan hij werkelijk is. Je optimaliseert campagnes op een vertekend beeld.
Hoe blokkeer je ongewenste bots?
Er zijn drie lagen die je samen moet inzetten:
1. robots.txt – het beleefde verzoek
In je robots.txt geef je bots de instructie om je site niet te crawlen:
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: MJ12bot
Disallow: /
Dit werkt alleen als de bot zich aan de regels houdt. Serieuze scrapers negeren robots.txt regelmatig.
2. Server-side middleware – de harde blokkade
De tweede laag vangt bots op die robots.txt negeren. In je serverconfiguratie controleer je de User-Agent-header van elk verzoek. Herkent je server een bekende scraper? Dan krijgt die direct een 403-status terug – toegang geweigerd, zonder dat je pagina wordt geladen.
Dit scheelt niet alleen in je analytics, maar ook in serverbelasting. Elke geblokkeerde bot is een render die je server niet hoeft te doen.
3. Client-side analytics als extra filter
Tools als Plausible en Fathom draaien op JavaScript in de browser. Bots zonder JavaScript-engine – en dat zijn de meeste scrapers – voeren het script niet uit en worden automatisch niet geregistreerd.
Dit is een belangrijk voordeel ten opzichte van server-side analytics. Je data is per definitie schoner omdat alleen echte browsers met JavaScript worden geteld.
Heeft botverkeer invloed op je SEO?
Niet direct. Google beoordeelt je site op basis van eigen crawldata en gebruikerssignalen uit Chrome, niet op basis van wat AhrefsBot doet op je server.
Maar indirect zijn er wel risico's:
- Content scraping: als een scraper je content kopieert naar een andere site, kan Google dat als duplicate content zien. In het ergste geval daalt jouw pagina in de rankings.
- Serverbelasting: als bots je server overbelasten, worden je pagina's trager. En paginasnelheid is wél een rankingfactor.
- Crawlbudget: bij grote sites kan botverkeer het crawlbudget van Googlebot beïnvloeden, waardoor nieuwe pagina's minder snel worden geïndexeerd.
Bonus: analytics proxyen tegen adblockers
Er is nog een vierde laag die je data nauwkeuriger maakt. Tools als Plausible laden standaard een script vanaf hun eigen domein – en adblockers herkennen dat. Afhankelijk van je doelgroep blokkeert 6 tot 26% van je bezoekers het script, en die bezoekers verdwijnen volledig uit je data.
De oplossing: het analytics-script proxyen via je eigen domein. In plaats van dat de browser het script ophaalt bij plausible.io, laadt het vanaf jouw eigen website. Je server stuurt het verzoek achter de schermen door naar Plausible. Voor de browser ziet het eruit als een normaal bestand op je eigen site – adblockers laten het met rust.
Het mooie is dat dit geen extra kosten of tools vereist. Bij een Next.js-site op Vercel stel je twee rewrites in: één voor het script en één voor de events-API. Klaar. Geen aparte proxyserver, geen enterprise-plan.
Het nadeel: geen directe koppeling met Google Ads
Eerlijk is eerlijk: tools als Plausible hebben één belangrijk nadeel. Er is geen directe koppeling met Google Ads. Je kunt geen conversies terugsturen naar je campagnes, waardoor Smart Bidding niet kan optimaliseren op basis van je websitedata.
Een tweede nadeel: zonder Google-tag op je site bouwt Google geen remarketinglijsten op. Je kunt bezoekers niet opnieuw targeten via Display- of YouTube-campagnes. Voor B2B-leadgeneratie is dat vaak minder relevant – je audience is te klein voor effectieve Display-remarketing, en Customer Match (op basis van e-mailadressen uit je CRM) is een sterkere aanpak. Maar voor e-commerce of grote B2C-campagnes is dit wél een dealbreaker. Kanttekening: traditionele remarketing wordt sowieso minder effectief nu browsers third-party cookies uitfaseren. Safari en Firefox blokkeren ze al, en Chrome volgt. De toekomst ligt bij first-party data zoals Customer Match en contextual targeting – ongeacht welke analytics-tool je gebruikt.
De oplossing voor conversies is om ze server-side te versturen via de Google Ads API. Bij een formulierverzending sla je de Google Click ID (gclid) op en stuur je de conversie via een automatisering terug naar Google Ads. Geen extra scripts op je site, maar je campagnes krijgen wél de data die ze nodig hebben.
Het is een extra stap in de setup, maar het resultaat is het beste van twee werelden: schone, cookieloze analytics én campagnes die op echte conversies kunnen optimaliseren.
Hoe wij dit hebben aangepakt
Op onze eigen site hebben we vier dingen gedaan:
- robots.txt bijgewerkt met alle bekende commerciële scrapers
- Server-side middleware die de User-Agent controleert en scrapers direct een 403 stuurt
- Plausible analytics als cookieloze, client-side tracking – bots zonder JavaScript worden automatisch uitgefilterd
- Analytics-proxy via ons eigen domein – zodat ook bezoekers met adblockers worden gemeten
Het resultaat: schone data waar we op kunnen vertrouwen, minder serverbelasting, nauwkeurigere bezoekersaantallen en concurrenten die niet zomaar onze site kunnen analyseren via tools als Ahrefs of Semrush.
Conclusie
Schone analytics zijn de basis van goede beslissingen. Als je data vervuild is door botverkeer, optimaliseer je campagnes op ruis. De oplossing is simpel: blokkeer wat je niet nodig hebt, laat door wat je wél nodig hebt en gebruik analytics die bots automatisch filteren.
Wil je weten of jouw tracking schoon is en je conversiedata klopt? Neem contact op voor een vrijblijvend gesprek over je tracking-setup.
