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.
Nog iets over de naam, voordat je vergeefs in je beheerscherm zoekt: in de officiële WordPress-directory heet de gratis versie Hafenstudios Ads, niet Adjet. Je installeert hem via Plugins, Nieuwe plugin, met de zoekterm „Hafenstudios Ads”, of rechtstreeks via wordpress.org/plugins/hafenstudios-ads/. Begin september 2026 staat daar versie 2.5.0 met minstens 100 actieve installaties en 14 beoordelingen met een gemiddelde van 5,0; in augustus 2026 heeft WordPress.org de plugin op de lijst met uitgelichte plugins gezet.
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. Weigeren moet net zo makkelijk zijn als akkoord gaan: één klik op hetzelfde niveau, zonder verstopte omweg via een instellingenscherm.
- 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. Voor betaalde links geldt dezelfde redenering, en die behandelen we in affiliate links markeren.
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 Googles 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, in zeven stappen. Ze volgen Adjet, maar het principe geldt voor elke goed gebouwde advertentieopzet. Stap drie tot en met vijf zijn het eigenlijke privacywerk, en die op één hoop gooien is precies hoe het gat ontstaat waar dit artikel over gaat.
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.
Het toestemmingsdeel: drie taken, drie stappen
Nu komt het deel dat velen overslaan, en het zijn drie taken die technisch niets met elkaar te maken hebben. Iets moet de beslissing van de bezoeker ophalen en bewaren. Die beslissing moet aan de tags van Google worden doorgegeven. En de advertenties moeten tot dat moment tegengehouden worden. Een banner alleen doet enkel het eerste. Precies daar lopen de meeste opzetten vast: de bezoeker klikt op weigeren, de banner verdwijnt tevreden, en op de achtergrond draaide het advertentiescript al een tijdje.
3. Het toestemmingssignaal ophalen en bewaren
Hier heb je twee wegen, en je kiest er precies één.
- De ingebouwde banner: Adjet heeft een sjabloon „Cookietoestemming”. Je maakt hem als blok aan en zet hem aan; vanaf dat moment bewaart de banner de beslissing in de cookie
adjet_consent, met een looptijd van een jaar enSameSite=Lax. Akkoord en weigeren staan als twee knoppen naast elkaar op het eerste niveau; weigeren verstopt zich niet achter een instellingenlink. In de gratis versie is dit een alles-of-nietsbeslissing; de verdeling in categorieën (noodzakelijk, statistiek, marketing, voorkeuren) met eigen vinkjes hoort bij Pro. - Een externe CMP: draai je al een toestemmingstool? Dan vul je in de Adjet-instellingen alleen de naam in van de cookie die jouw tool na het akkoord schrijft, en eventueel de waarde die erin moet staan. Adjet controleert vanaf dat moment precies dat en toont geen eigen banner. Staat er een cookienaam ingevuld, dan bepaalt die cookie of een advertentie mag laden, ook als de ingebouwde banner nog actief zou zijn.
Beide tegelijk draaien is geen goed idee. Twee banners die dezelfde vraag stellen verwarren de bezoeker, en je legt uiteindelijk twee beslissingen vast die uit elkaar kunnen lopen.
4. De beslissing aan Google doorgeven: Consent Mode v2
Een cookie op het apparaat zegt Google niets. Consent Mode v2 werkt met signalen die op granted of op denied staan. De gratis versie stuurt precies deze vier:
| Signaal | Waar het over gaat |
|---|---|
ad_storage | Advertentiecookies op het apparaat schrijven en lezen |
ad_user_data | Gebruikersgegevens voor advertentiedoeleinden naar Google sturen |
ad_personalization | Gepersonaliseerde advertenties en remarketing |
analytics_storage | Opslag voor meting, bijvoorbeeld Google Analytics |
Twee andere signalen horen ook bij de standaard, functionality_storage en personalization_storage. Alleen Adjet Pro stuurt die, samen met de indeling van de banner in categorieën die ze aan voorkeuren koppelt. In de code van de gratis versie komen ze allebei niet voor.
De volgorde is waar de meeste implementaties omvallen. Vóór de eerste Google-tag moet er een consent default staan met deze vier signalen op denied. Pas daarna mag een consent update de beslissing doorgeven. Ontbreekt de default, dan vuren de tags vanaf het laden van de pagina met volledige toegang tot de opslag, en meldt Google Tag Assistant „consent update called before default”. Adjet drukt de default daarom heel vroeg in de <head> af, nog vóór elke gtag.js, en meldt een al in de cookie opgeslagen beslissing meteen opnieuw als update. Zonder die herhaling zou een weigering precies één paginaweergave standhouden, want een paginacache levert iedereen dezelfde HTML en kan de cookie niet kennen.
Google onderscheidt daarnaast twee bedrijfsmodi, en dat is een echte keuze:
- Basic: de Google-tags laden helemaal niet zolang er geen toestemming is. Zonder akkoord gaat er niets weg, maar de gegevens ontbreken volledig. Dit is de weg die Adjet met de ingebouwde banner neemt: de AdSense-loader wordt tegengehouden en pas na het akkoord in de pagina geïnjecteerd.
- Advanced: de tags laden meteen, maar sturen vóór de toestemming alleen cookieloze signalen, waaruit Google de ontbrekende conversies modelleert. Meer bruikbare data, maar wel een verzoek aan Google voordat de bezoeker heeft beslist. Of dat zonder toegang tot de opslag al onder artikel 11.7a van de Telecommunicatiewet valt, is omstreden. Zeker is alleen dat Basic die vraag helemaal niet oproept.
Er is nog een derde weg die Adjet als schakelaar aanbiedt en die in handleidingen bijna altijd ontbreekt: niet-gepersonaliseerde advertenties. Staat die instelling aan, dan zet Adjet de NPA-vlag van Google vóór de AdSense-loader zolang er geen toestemming is. De bezoeker ziet dan reclame zonder personalisatie in plaats van een lege plek, en de Consent Mode-signalen blijven op denied staan. De schakelaar staat standaard uit, en de instelling zegt er zelf bij waarom: ook niet-gepersonaliseerde advertenties zetten cookies voor frequency capping, dus in de EU kan er alsnog toestemming nodig zijn.
5. De advertenties echt tegenhouden
Pas nu komt de blokkade. Staat die aan, dan zet Adjet de advertentiecode niet in de pagina, maar in een template-element, dat de browser niet uitvoert. Komt het akkoord, dan haalt het frontendscript de code eruit en plaatst hem. Zonder akkoord blijft de plek letterlijk leeg: er zit geen wachtend script in dat op een signaal ligt te loeren. Bij Auto ads, waar Google zelf de posities kiest en er geen blok als anker is, houdt Adjet in plaats daarvan het loader-adres tegen en voegt dat na de beslissing sitebreed toe.
6. 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.
7. 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.
Aantonen dat de blokkade echt houdt
Een vinkje in de instellingen bewijst niets. Het bewijs staat in de ontwikkelaarstools van je browser, en het kost minder dan tien minuten. Twee adressen doen ertoe: de AdSense-loader komt van pagead2.googlesyndication.com, een Google Ad Manager-slot van securepubads.g.doubleclick.net. Daarop filter je.
- Open een vers privévenster. Anders test je tegen een beslissing die je zelf weken geleden nam. Druk daarna op F12 en ga naar het tabblad Netwerk.
- Zet het filter en herlaad. Typ
googlesyndicationin het filterveld en laad de pagina. Vóór elke beslissing moet de lijst leeg blijven. Staat er al een regel, dan laadt AdSense te vroeg, en daar verandert de mooiste banner niets aan. - Bekijk de cookies. Onder het tabblad Toepassing (Chrome) of Opslag (Firefox) horen vóór de beslissing alleen items van je eigen domein te staan, bijvoorbeeld de WordPress-sessie. Niets van Google.
- Klik op weigeren. Het netwerkfilter blijft leeg, en de cookie
adjet_consentstaat nu opdenied. - Herlaad zonder iets te wissen. Nog steeds niets van Google, en de banner mag niet opnieuw verschijnen. Deze test verliezen verrassend veel opzetten: een banner die na het herladen weer vraagt, heeft de weigering niet goed bewaard.
- Wis de cookies, herlaad, ga akkoord. Nu moet de regel in het tabblad Netwerk verschijnen, moet
adjet_consentopgrantedstaan en moet de plek zich vullen. Gebeurt dat niet, dan is de blokkade dicht maar klopt er iets anders niet. - Controleer Consent Mode. Typ
dataLayerin de console en klap de items open. Het eerste consent-item moet eendefaultzijn met deze vier signalen opdenied, deupdatemet jouw beslissing komt daarna. Staat de volgorde omgekeerd, dan meldt ook Google Tag Assistant dat.
?adjet_debug=1 erachter. Adjet schrijft dan op elke overgeslagen positie de eerste reden waarom daar niets staat: berichttype, paginatype, planning, aantal woorden, toestemming of apparaat. Alleen jij ziet het, en die weergave belandt nooit in een paginacache. Dat scheelt gokken of de oorzaak bij de toestemming ligt of ergens anders.De banner moet bedienbaar zijn, niet alleen juridisch kloppen
Een toestemmingsbanner staat tussen de bezoeker en de hele inhoud. Wie hem niet kan bedienen, komt niet op de site en kan dus ook geen toestemming geven. Hier zijn privacy en toegankelijkheid dezelfde bouwplaats: een toestemming die alleen met de muis en met goed zicht te geven is, is in de praktijk geen vrije keuze. Vijf dingen die je zelf in een paar minuten nakijkt:
- Toetsenbord: laad de pagina en gebruik alleen de tabtoets. Bereik je akkoord en weigeren, en gaan beide af met Enter of de spatiebalk? Dat veronderstelt echte
button-elementen en geen aanklikbarediv-containers. In de ingebouwde banner van Adjet zijn het knoppen. - Zichtbare focus: zie je tijdens het tabben waar je staat? Een weggestylede
outline: noneis de meest voorkomende fout bij verder nette banners. - Afdekking: tab met de banner open verder de pagina in. Een banner die aan de onderrand vastgeplakt zit, dekt graag precies het element af dat de focus heeft. WCAG 2.2 heeft daarvoor een eigen succescriterium, 2.4.11 Focus Not Obscured (Minimum) op niveau AA.
- Contrast: de tekst in de banner vraagt volgens succescriterium 1.4.3 minstens 4,5:1 tegen de achtergrond, en de rand van een knop volgens 1.4.11 minstens 3:1. Lichtgrijs op wit zakt hier regelmatig, en van de twee knoppen is het meestal die van weigeren. Chrome toont de contrastwaarde direct in de kleurkiezer.
- Schermlezer: de banner heeft een naam nodig, anders wordt hij als naamloos gebied aangekondigd. Het sjabloon van Adjet brengt daarvoor
role="dialog"met eenaria-labelmee.
Het punt waar beide eisen samenkomen is hetzelfde als hierboven: weigeren moet net zo makkelijk bereikbaar zijn als akkoord gaan, één klik op hetzelfde niveau. Dat is privacy en bedienbaarheid tegelijk. Waarom een extra raadsel voor een formulier elders hetzelfde effect heeft, staat in het artikel over captcha en toegankelijkheid.
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. Adjet biedt daarvoor twee wegen: de ingebouwde toestemmingsbanner, die de beslissing zelf ophaalt en in de cookie adjet_consent bewaart, of de consent-cookie-gating, waarbij je de cookienaam van je bestaande toestemmingstool invult en Adjet op dat signaal wacht. In beide gevallen zit de advertentiecode tot dat moment in een template-element dat de browser niet uitvoert, dus de plek is echt leeg. Daarnaast zorgt lazy loading via IntersectionObserver dat zelfs geaccepteerde advertenties pas bij het scrollen laden.
Wat is Google Consent Mode v2 en wat gebeurt er zonder?
Consent Mode v2 is de manier waarop Google de beslissing van de bezoeker aan de eigen tags doorgegeven wil zien. De gratis versie geeft vier signalen door op granted of op denied: ad_storage, ad_user_data, ad_personalization en analytics_storage; de twee voorkeurssignalen, functionality_storage en personalization_storage, stuurt alleen Adjet Pro. Sinds maart 2024 verwacht Google dit voor bezoekers uit de EER zodra AdSense, Google Ads of Analytics draaien. Ontbreekt die melding, dan krijg je onvolledige meting en zwakker remarketing, in het ergste geval beperkingen op het account. De volgorde is doorslaggevend: vóór de eerste Google-tag moet er een consent default staan met alles op denied, en pas daarna mag een consent update de beslissing doorgeven.
Is de ingebouwde banner van Adjet genoeg of heb ik een aparte cookieplugin nodig?
Voor een site die advertenties toont en weinig andere externe diensten inlaadt is de ingebouwde banner genoeg: hij haalt de beslissing op, bewaart die in de cookie adjet_consent, geeft Google Consent Mode v2 door en houdt de advertenties tegen tot iemand akkoord gaat. Zodra je veel andere toestemmingsplichtige diensten draait, bijvoorbeeld ingesloten video, kaartdiensten, chatwidgets en meerdere meettools, is een gespecialiseerde toestemmingsplugin de betere keuze. Dan vul je de cookienaam daarvan in bij de Adjet-instellingen en wacht Adjet op dat signaal, in plaats van een tweede banner te tonen. Beide tegelijk draaien is de slechtste variant.
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. In de officiële WordPress-directory staat de gratis versie onder de naam Hafenstudios Ads, dus daarop zoek je bij Plugins, Nieuwe plugin. 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.