AdSense en de AVG in WordPress: advertenties netjes inbouwen
Advertenties en AdSense in WordPress inbouwen zonder te verdwalen in themacode, laadtijd en toestemmingsvragen. Een praktische gids, stap voor stap.
Je wilt advertenties of Google AdSense op je WordPress-site, en je wilt een opzet die snel, onderhoudbaar en verdedigbaar is. De gebruikelijke route is een AdSense-snippet ergens in het thema plakken en hopen dat het goed gaat. De rekening komt later: bij de volgende update, in de laadtijd en bij de toestemmingsvraag. In dit artikel lees je hoe je advertenties vanaf één plek stuurt in plaats van code te verspreiden, waar je bij privacy op let en hoe een schone opzet er stap voor stap uitziet.
Eén ding vooraf: dit is een praktische duiding, geen juridisch advies. De AVG geldt in de hele Europese Unie met dezelfde tekst, maar de regel die advertentiecookies echt bestuurt komt uit de ePrivacy-richtlijn, en elke lidstaat schreef daar een eigen nationale versie van. Zodra de kleine letters van jouw markt tellen, heeft een jurist in die markt het antwoord.
Waarom je advertenties stuurt in plaats van code te verspreiden
Zodra je het eerste advertentieblok in een themabestand of in een bericht plakt, begint een kleine chaos. Bij de volgende thema-update kan de code gewoon verdwenen zijn. Wil je één advertentie op tien plekken, dan onderhoud je hem tien keer. En wil je weten of een positie überhaupt iets oplevert, dan ontbreekt elke basis voor het antwoord, want er wordt niets gemeten.
Drie redenen pleiten voor advertentiebeheer op één plek:
- Onderhoud: één advertentie, één bron. Je wijzigt de code één keer en de advertentie werkt overal bij waar je hem hebt geplaatst.
- Snelheid: advertentiescripts zijn vaak de zwaarste elementen van een pagina. Ze gecontroleerd laden, met lazy loading, beschermt je laadtijd en daarmee je posities in Google.
- Recht: advertenties, zeker gepersonaliseerde, raken de privacywetgeving. Centrale sturing maakt het veel eenvoudiger om advertenties pas na toestemming te tonen, in plaats van daar bij elk los stukje code aan te denken.
Precies daar zet een advertentiebeheerder als Adjet op in: je maakt advertenties als eigen blokken aan, bepaalt centraal plaatsing en regels, en ziet het effect in een lokale statistiek. Geen gezoek meer in themabestanden. Wil je eerst de beschikbare tools vergelijken, dan zet het artikel over Advanced Ads-alternatieven de belangrijkste op een rij. Voor de bekendste tool om code in te voegen gaat ons stuk over Ad Inserter dieper op de verschillen in.
Wat de AVG en artikel 11.7a echt van een advertentie vragen
Gepersonaliseerde advertenties, wat AdSense standaard toont, zetten meestal cookies of lezen vergelijkbare identificatoren om een bezoeker te herkennen. In Europa vraagt dat een actieve beslissing van die bezoeker, de toestemming waar iedereen het over heeft. Hier stapelen zich twee lagen, en die door elkaar halen is het meest voorkomende misverstand.
De AVG regelt de verwerking van persoonsgegevens en somt de mogelijke grondslagen op. De toestemming om iets op het apparaat van de bezoeker te schrijven of te lezen komt uit de ePrivacy-richtlijn, die niet rechtstreeks geldt en door elke lidstaat zelf moest worden omgezet. In Nederland is dat artikel 11.7a van de Telecommunicatiewet, de cookiebepaling, waarop de Autoriteit Persoonsgegevens toeziet. In Duitsland is de tegenhanger het TDDDG, de opvolger van het TTDSG. In Spanje is het artikel 22.2 van de LSSI, in Frankrijk artikel 82 van de Loi Informatique et Libertés, in Italië artikel 122 van de Codice privacy. Verschillende wetten, verschillende toezichthouders, hetzelfde uitgangspunt: niet-noodzakelijke techniek pas na akkoord.
In de praktijk betekent dat:
- Je hebt normaal gesproken een toestemmingsbanner nodig, of een consent management platform (CMP), waarmee bezoekers akkoord kunnen gaan of kunnen weigeren.
- Advertenties die op toestemmingsplichtige techniek leunen, zouden pas na dat akkoord mogen laden, niet al ervoor.
- Een advertentie is reclame en moet als zodanig herkenbaar blijven. De Nederlandse Reclame Code vraagt dat reclame duidelijk als reclame te herkennen is, en een zichtbaar advertentielabel is de eenvoudigste manier om daaraan te voldoen. In Duitsland geldt een duidelijk label als goede praktijk; elk land heeft daarvoor zijn eigen instanties.
Het zwakke punt van de meeste opzetten is het moment. Laadt het advertentiescript al bij het openen van de pagina, dan is het vaak al actief voordat iemand ergens mee akkoord ging. Daarom is consent gating, dat advertenties aan het echte toestemmingssignaal koppelt, de tien minuten waard die het aanzetten kost.
Consent Mode v2 en Google eigen regels
Sinds maart 2024 verwacht Google Consent Mode v2 van sites die Google-advertenties tonen of met Google-tags meten en bezoekers uit de EER hebben. Technisch worden vier signalen aan de tags doorgegeven: ad_storage, analytics_storage, ad_user_data en ad_personalization. Zonder die signalen riskeer je onvolledige meting, zwakker remarketing en in het ergste geval beperkingen op je Google Ads- of AdSense-account.
Bovenop de wet legt Google er nog een eigen regel overheen. Van wie advertenties toont aan bezoekers uit de EER en het Verenigd Koninkrijk wordt verwacht dat hij een toestemmingsplatform uit de gecertificeerde lijst van Google gebruikt, en de melding zelf stel je in onder Privacy & messaging in het AdSense-account. Bekijk die lijst voordat je een banner kiest, want wisselen van toestemmingstool na de lancering kost duidelijk meer werk dan meteen goed kiezen.
AdSense in WordPress inbouwen, stap voor stap
Zo pak je een schone inrichting aan. De stappen volgen Adjet, maar het principe geldt voor elke goed gebouwde advertentieopzet.
1. Advertentieblok aanmaken
Je hebt twee wegen. Of je plakt je eigen advertentiecode, bijvoorbeeld van een directe adverteerder, of je gebruikt de AdSense-assistent. Voor banners die je zelf verkoopt is een rotatieplugin de gebruikelijke weg, en die route bekijken we in ons stuk over AdRotate. Daar vul je je publisher-ID en de slot-ID in en krijg je een responsieve advertentie die zich aan de ruimte aanpast. Wie wil, laadt daarnaast Auto ads van Google, waarbij Google zelf de posities kiest. AdSense verwacht bovendien een ads.txt-bestand in de hoofdmap van je domein: dat staat los van de toestemmingsvraag, maar hoort bij een complete installatie.
2. Plaatsing en targeting kiezen
Nu bepaal je waar de advertentie verschijnt. Voor automatische plaatsing staan de gebruikelijke posities klaar: voor of na de inhoud, na een bepaalde alinea of na de eerste afbeelding. Wil je het preciezer sturen, dan plaats je handmatig via shortcode, Gutenberg-blok of widget:
[adjet_ad id="1"]
Voor roterende advertenties bundel je meerdere blokken in een groep die op gewicht wordt uitgespeeld:
[adjet_ad_group name="header"]
Met targeting baken je verder af: alleen desktop, tablet of mobiel, alleen bepaalde berichttypen, categorieën, tags of termen, telkens ook met uitsluitingen. Zo toon je een mobiele advertentie alleen in één categorie en laat je hem op je verkooppagina's weg.
3. Consent gating aanzetten
Dit is de stap die velen overslaan. Zet de consent-cookie-gating aan, die samenwerkt met de gangbare toestemmingstools. De advertentie laadt dan pas als de tool het akkoord voor advertenties doorgeeft. Zonder akkoord blijft de plek leeg, in plaats van ongevraagd advertentiescripts te starten.
4. Lazy loading en label inschakelen
Zet lazy loading aan, zodat advertenties pas laden als ze in het zichtbare deel komen. Technisch doet een IntersectionObserver dat, die bijhoudt of het blok bijna zichtbaar is. Dat scheelt laadtijd, zeker bij een advertentie ver naar beneden. Schakel daarnaast het optionele advertentielabel in, zodat advertenties herkenbaar blijven.
5. Effect in de statistiek nakijken
Na de livegang kijk je in de lokale statistiek, een grafiek over 30 dagen als eenvoudige SVG die vertoningen en klikken toont. De gegevens blijven in je eigen database, er zijn geen externe calls naar Adjet of hafenstudios. Zo zie je welke positie en welk formaat bij jouw lezers werken, en kun je zwakke plaatsingen uitzetten in plaats van te gokken. Voor tijdelijke acties helpt de campagneplanning met optionele begin- en eindtijd. Eén getal om op voorbereid te zijn: AdSense rapporteert Ad requests in het eigen dashboard, en een aanvraag die niet gevuld wordt, wordt nooit een vertoning. De twee dashboards zullen dus nooit precies gelijk lopen, en dat hoort zo.
De laadtijd in het oog houden
Advertenties en laadtijd zijn een evenwichtsoefening. Een paar eenvoudige regels helpen:
- Minder is meer: drie doordachte plaatsingen werken vaak beter dan acht die de pagina volstoppen en lezers wegjagen.
- Lazy loading gebruiken: alles onder het eerste scherm hoeft niet meteen te laden.
- Posities testen: gebruik de statistiek om advertenties met weinig effect weg te halen, in plaats van er steeds nieuwe bij te zetten.
Ben je toch bezig je WordPress-site op te ruimen, kijk dan meteen naar nette URL's en doorverwijzingen. Ook daar gaat het erom een technische zaak centraal te regelen in plaats van verspreid: één doorverwijstabel op één plek is beter dan losse regels in het configuratiebestand van de server.
Stuur je advertenties in plaats van code te verspreiden
Adjet brengt automatische plaatsing, een AdSense-assistent, consent gating, lazy loading en lokale statistiek samen in één cockpit, zonder externe calls. De eigen cookiebanner met Google Consent Mode v2 zit erbij.
Conclusie
Advertenties en AdSense in WordPress inbouwen is geen kwestie van snel gekopieerde code, maar van nette sturing. Beheer je advertenties centraal, toon je ze pas na toestemming, laad je ze vertraagd en label je ze als reclame, dan sta je technisch, juridisch en qua laadtijd stevig. En omdat je meet wat werkt, verdien je uiteindelijk meer met minder advertenties. Adjet is open source onder GPLv2, heeft een eigen rechtenniveau (manage_adjet) en een REST-API (adjet/v1), en geeft je gegevens niet naar buiten. Wat elke plugin kost, Adjet erbij, staat op onze prijzenpagina. En om de zin te herhalen die telt: dit is een duiding, geen juridisch advies, dus laat de kleine letters van jouw markt door iemand ter plaatse bevestigen.
Veelgestelde vragen over AdSense en advertenties in WordPress
Heb ik voor AdSense in WordPress een toestemmingsbanner nodig?
In de Europese Unie in de regel wel. Gepersonaliseerde advertenties zoals die van AdSense zetten meestal cookies of lezen vergelijkbare identificatoren, en dat vraagt een actief akkoord. Daarvoor heb je een toestemmingsbanner of een consent management platform nodig waarmee bezoekers akkoord kunnen gaan of kunnen weigeren. De precieze regel komt uit de nationale wet van jouw markt, in Nederland artikel 11.7a van de Telecommunicatiewet, en niet uit de AVG alleen. Dit is een duiding, geen juridisch advies; vraag bij twijfel iemand met kennis van zaken.
Wanneer mag een advertentie laden?
Advertenties die op toestemmingsplichtige techniek leunen, zouden pas na het akkoord mogen laden, niet al bij het openen van de pagina. In Adjet zet je daarvoor de consent-cookie-gating aan: die werkt samen met de gangbare toestemmingstools en laadt een advertentie pas als de tool het akkoord voor advertenties doorgeeft. Zonder akkoord blijft de plek gewoon leeg, in plaats van ongevraagd advertentiescripts te starten. Daarnaast zorgt lazy loading via IntersectionObserver dat zelfs geaccepteerde advertenties pas bij het scrollen laden.
Moet ik advertenties als reclame labelen?
Labelen is de veilige route. Een advertentie is reclame, en de Nederlandse Reclame Code vraagt dat reclame duidelijk als reclame herkenbaar is voor de lezer. Hoe daarop wordt toegezien verschilt per land: in Nederland behandelt de Reclame Code Commissie klachten, in Duitsland geldt een duidelijk label als goede praktijk. Adjet heeft daarvoor een optioneel advertentielabel dat je zonder code aanpassen kunt inschakelen, zodat lezers altijd zien welke inhoud betaald is en welke niet.
Wat doet lazy loading bij advertenties?
Lazy loading zorgt ervoor dat een advertentie pas wordt geladen als hij echt in het zichtbare deel van het scherm komt. Technisch doet een IntersectionObserver dat, die bijhoudt of het advertentieblok bijna zichtbaar wordt. Dat scheelt laadtijd, vooral bij een advertentie verder naar beneden op de pagina, en het ontziet ook de Core Web Vitals. In Adjet kun je lazy loading samen met consent gating aanzetten, zodat beide mechanismen in elkaar grijpen.
Is Adjet gratis en hoe bouw ik AdSense ermee in?
Adjet is open source onder GPLv2. Je maakt een advertentie aan via de AdSense-assistent, vult je publisher-ID en slot-ID in en krijgt een responsieve advertentie die zich aan de ruimte aanpast; optioneel zet je daarnaast de Auto ads-loader van Google aan. Plaatsen gebeurt automatisch, bijvoorbeeld voor of na de inhoud, of handmatig via een shortcode zoals [adjet_ad id="1"], een Gutenberg-blok of een widget. Voor automatisering is er bovendien een REST-API onder adjet/v1 en het eigen rechtenniveau manage_adjet.