Bezoekers tellen zonder cookies en zonder cookiebanner
Je webserver houdt al een logboek bij van elk bestand dat wordt opgevraagd, en daaruit haal je zonder cookies een ruw beeld van je bezoek. Zo'n telling zet niets op het apparaat van je bezoeker, dus een cookiebanner is er niet voor nodig, al hoort het logboek wel in je privacyverklaring. Precies weten hoeveel mensen er kwamen, kan zo niet, en dat hoeft ook niet.
Om te weten hoeveel bezoek je site krijgt, heb je geen volgsysteem van een ander bedrijf nodig. Je webserver schrijft bij elk opgevraagd bestand al een regel in een logboek. Daaruit haal je een ruw beeld van je bezoek, zonder cookies en zonder dat er iets naar een ander bedrijf gaat. Wat je er niet uit krijgt, is een precieze telling van mensen. Voor een kleine site is dat zelden een gemis.
Wat er in het logboek van je server staat
Elke keer dat een browser of een programma iets van je site ophaalt, schrijft nginx, de webserver, een regel in /var/log/nginx/access.log. Daarin staan onder meer het tijdstip, het IP-adres waar het verzoek vandaan kwam, welk bestand werd opgevraagd, of dat lukte en welke browser of welk programma erom vroeg. Kwam de bezoeker via een link, dan staat er vaak ook bij van welke site.
Je kunt het zelf bekijken. Met dit commando zie je de laatste twintig regels:
tail -n 20 /var/log/nginx/access.log
Op een server die met het installatiescript van retrAIt is ingericht, mag je eigen account de logboeken lezen zonder sudo. Het ziet er rommelig uit, maar je herkent al snel je eigen bezoek van zojuist.
Ubuntu, het besturingssysteem op de server, begint dat logboek elke dag opnieuw en bewaart de oude logboeken veertien dagen. Ouder bezoek staat er dus niet meer in, en voor de privacy van je bezoekers is dat juist goed.
Tellen met site-stats
Op een server die is ingericht met het installatiescript van retrAIt, staat een klein commando dat het logboek voor je samenvat:
site-stats
Je krijgt per site twee getallen over de laatste 24 uur: het aantal verzoeken en het aantal verschillende IP-adressen. Een verzoek is elk bestand dat werd opgehaald. Eén keer je voorpagina openen levert al snel tien of meer verzoeken op: de pagina zelf, de opmaak, elke foto en het icoontje in het tabblad. Het aantal adressen ligt dichter bij het aantal bezoekers, maar ook dat is geen telling van mensen. Bezoek via de naam met www staat op een eigen regel; tel die erbij op.
Waar site-stats wel goed voor is: zien of er verkeer is, en of het stijgt nadat je iets hebt gedeeld. Zakt het ineens naar bijna nul, kijk dan eerst of je site nog bereikbaar is.
Wat je er niet uit haalt
Een gezin of een kantoor deelt vaak één IP-adres, en wie eerst op zijn telefoon en daarna op zijn laptop kijkt, telt twee keer. Wie vaker langskomt, haalt foto’s en opmaak bovendien vaak uit het geheugen van zijn eigen browser, en levert dan minder verzoeken op. Robots tellen ook mee, van zoekmachines tot programma’s die je site afzoeken naar zwakke plekken. Bij een nieuwe, kleine site komt een flink deel van het verkeer van zulke robots. Eén dag zegt daarom weinig. Vergelijk liever weken met elkaar, steeds op dezelfde dag van de week.
Een paar dingen die je graag zou weten, staan er ook niet in. In het logboek zie je hooguit dat iemand via Google kwam, niet op welke woorden hij zocht. Dat zie je wel in Google Search Console, in het prestatierapport, samen met hoe vaak je site in de zoekresultaten verscheen en hoe vaak erop werd geklikt. Hoe lang iemand bleef lezen, zie je ook niet. Juist voor dat soort gegevens gebruiken andere sites cookies en scripts.
Waarom je geen cookiebanner nodig hebt
Een cookiebanner is er om toestemming te vragen voor cookies, kleine bestanden die een site op het apparaat van een bezoeker zet. De Autoriteit Persoonsgegevens onderscheidt drie soorten. Voor functionele cookies, die ervoor zorgen dat je site werkt, is geen toestemming nodig. Voor beperkt analytische cookies met geen of weinig gevolgen voor de privacy ook niet. Voor tracking cookies, die mensen over meerdere sites volgen, wel.
Het logboek staat op je eigen server en zet niets op het apparaat van je bezoeker. De AP noemt het zelf een voordeel van geen tracking cookies gebruiken: dan hoef je niet meer om toestemming te vragen, en kan de cookiebanner weg.
Er zijn twee kanttekeningen. In het logboek staan IP-adressen, en een IP-adres kan een persoonsgegeven zijn. Noem het logboek daarom in je privacyverklaring, met hoe lang je het bewaart. En let op wat je site van andere servers laadt, zoals een filmpje van YouTube of een kaart van Google Maps. Zulke onderdelen kunnen zelf cookies plaatsen of gegevens verzamelen, en dan heb je misschien toch een banner nodig. Een gewone link naar het filmpje of de route heeft dat probleem niet. Wat er verder op je site moet staan, lees je in Wat er wettelijk op je bedrijfswebsite moet staan.
Meer willen weten, zonder je bezoekers te volgen
Wil je zien welke pagina’s het meest bekeken worden, dan zijn er twee nette wegen. GoAccess is een gratis programma dat de logboeken van nginx leest en er in de terminal of als webpagina een overzicht van maakt. Of je laat Claude Code een klein script schrijven dat alleen totalen berekent, zoals het aantal bezoeken per dag zonder robots en de tien meest bekeken pagina’s. Plak dan geen ruwe regels uit het logboek in een gesprek: wat Claude leest, gaat naar de servers van Anthropic, en in die regels staan de IP-adressen van je bezoekers.
Wil je echt een statistiekprogramma, dan noemt de AP diensten die bezoek bijhouden zonder mensen over het hele internet te volgen, zoals Matomo en Plausible, mits je ze goed instelt. Die vragen wel installatie en onderhoud. Begin met wat je al hebt.
Een voorbeeld, en wat je echt meet
Neem als voorbeeld Sanne, yogadocent in Zwolle. Ze zet haar nieuwe rooster op Instagram, met een link naar haar site. De volgende dag kijkt ze met site-stats en ziet ze dat het aantal adressen een stuk hoger ligt dan op een gewone dinsdag. Dat zegt haar genoeg: mensen klikten door. Hoeveel het er precies waren, weet ze niet, en dat maakt voor haar ook niet uit. Wat ze wel bijhoudt, is hoeveel mensen zich die week aanmeldden voor een proefles. Nieuwe deelnemers vraagt ze hoe ze bij haar terechtkwamen.
Dat is het getal dat telt. Een site is er om aanmeldingen of telefoontjes op te leveren. Tel die, en leg ze naast wat je verandert. Bezoekerscijfers zijn daarbij een thermometer, geen klantenteller. Hoe je zo’n blik op je cijfers in een vaste maandelijkse ronde inbouwt, staat in Een website bijhouden in tien minuten per maand.
Typ vandaag site-stats op je server en schrijf het aantal adressen voor je site op, met de datum erbij. Doe dat over een week op dezelfde dag nog eens, en houd daarnaast bij hoeveel aanvragen er binnenkwamen. Na een maand heb je een eerste vergelijking, zonder dat een bezoeker ergens voor hoefde te klikken.
Foto bovenaan: Miguel Á. Padriñán via Pexels