Terug naar hoofdinhoud
Advertenties in Joomla
# Topics

Advertenties in Joomla

09 juni 2026

De meeste Joomla-gebruikers weten dat het "Advertenties" component bestaat, maar weinig beseffen wat die eigenlijk is. Het is niet zomaar een plek om een afbeelding te uploaden. Het is een kleine, complete, zelfgehoste advertentieserver die in je CMS zit.

Met com_banners kun je promoties, sponsors en eigen advertenties roteren zonder je template aan te passen. Je kunt tellen hoe vaak elke advertentie wordt getoond en aangeklikt, met je eigen first-party data. Je kunt de weergave begrenzen zodat een adverteerder precies het aantal views krijgt waarvoor hij heeft betaald. Je kunt advertenties targeten op trefwoord, categorie of taal. En dat kan allemaal zonder advertentienetwerk van derden, zonder extern script en standaard zonder cookies.

Van "een advertentie tonen" tot trefwoordtargeting, impressielimieten en kliktracking.

Dit artikel legt uit hoe Joomla's Advertenties echt werkt. Het behandelt de basis voor website-eigenaren, de praktische setup voor beheerders en de technische details voor ontwikkelaars. Je leert hoe adverteerders, advertenties en categorieën samenhangen, hoe de module advertenties toont en roteert, hoe tracking en impressielimieten werken en hoe je de meest voorkomende fouten voorkomt.

1. De basis

1.1 De drie bouwstenen

De hele component draait om drie eenvoudige concepten. Zodra je begrijpt hoe die met elkaar samenhangen, valt de rest op zijn plek.

ConceptWat het isDatabasetabel
Adverteerder De adverteerder of sponsor die eigenaar is van advertenties. #__banner_clients
Advertentie Eén uiting, zoals een afbeelding of eigen HTML. #__banners
Categorie Een groep banners, een com_banners-categorie. #__categories

De relatie is makkelijk te onthouden: een advertentie hoort bij één categorie en optioneel bij één adverteerder.

1.2 Hoe de onderdelen samenhangen

Dit is het denkmodel:

Client  ─┐
         ├─ Advertentie ─ Category
Volgen  ─┘   (creative)   (grouping)
  • Advertentie is wat bezoekers daadwerkelijk zien.
  • Adverteerder is voor wie de advertentie is en bevat de standaard trackinginstellingen.
  • Categorie is hoe je advertenties groepeert, zodat een module ze daaruit kan ophalen.
  • Volgen is het logboek van impressies en klikken.

1.3 Waar je het vindt

In de Joomla 6-backend vind je de component onder het menu Componenten:

Componenten → Advertenties → Advertenties  (de uitingen)
Componenten → Advertenties → Categorieën   (groepering)
Componenten → Advertenties → Adverteerders (adverteerders)
Componenten → Advertenties → Volgen        (impressie- / kliklog)

De weergave aan de voorkant wordt apart afgehandeld, via een module:

Systeem → Website-modules → Nieuw → Advertenties   (mod_banners)

Onthoud dit onderscheid: de component slaat de data op en beheert die, de module toont de advertenties op de website.

1.4 Twee soorten advertenties

Op het bewerkscherm van een advertentie bepaalt het veld Type de rest:

TypeWat je aanlevertWaar het wordt opgeslagen
Afbeelding Een afbeeldingsbestand, een klik-URL en breedte / hoogte / alt. params (imageurl, width, …)
Aangepast Ruwe HTML, een <script> of een <iframe>. custombannercode

Bij een Afbeelding-advertentie bouwt Joomla de <a><img></a>-markup voor je. Bij een Aangepast-advertentie bepaal je de markup volledig zelf, wat ideaal is voor responsive advertenties of tags van derden. Zoals we in sectie 8 zullen zien, brengt die vrijheid ook een beveiligingsrisico met zich mee.

Naar boven

2. Advertenties aanmaken

2.1 Maak eerst een adverteerder aan

Het is verstandig om eerst de adverteerder aan te maken vóór je de advertentie maakt, zelfs voor je eigen interne advertenties. Ga naar:

Componenten → Advertenties → Adverteerders → Nieuw

Vul de adverteerdergegevens in:

  • Naam contactpersoon, E-mail contactpersoon en Aanvullende informatie.
  • Aankooptype: Onbeperkt, Jaarlijks, Maandelijks, Wekelijks of Dagelijks.
  • Volg weergaves en Volg klikken: de standaard tracking voor alle advertenties van deze adverteerder.

De adverteerder bepaalt de standaardwaarden. Elke individuele advertentie kan die nog steeds overschrijven.

2.2 Maak de advertentie aan

Maak nu de uiting aan:

Componenten → Advertenties → Advertenties → Nieuw

Je hebt twee velden nodig om te beginnen:

  • Naam: een intern label voor je eigen referentie.
  • Categorie: de com_banners-categorie waarin de advertentie staat.

Kies daarna het Type (Afbeelding of Aangepast) en vul de uiting in.

2.3 Het bewerkscherm van de advertentie: belangrijkste velden

Dit zijn de velden die je het vaakst gebruikt:

VeldDoel
Type Afbeelding of aangepaste HTML.
Klik-URL Waar de klik naartoe gaat, voor afbeeldingsadvertenties.
Afbeelding De uiting zelf, voor afbeeldingsadvertenties.
Aangepaste code Ruwe HTML, voor aangepaste advertenties.
Breedte / Hoogte / Alt Weergave van de afbeelding en toegankelijkheid.
Sticky Zet deze advertentie bovenaan de rotatie.
Max. impressies Een harde limiet (imptotal); 0 betekent onbeperkt.

2.4 Targetingvelden

Een tweede groep velden bepaalt wanneer en waar een advertentie mag verschijnen:

VeldEffect
Trefwoorden Worden vergeleken met de paginatrefwoorden voor gerichte weergave.
Eigen prefix gebruiken Aangepaste trefwoord-prefixmatching voor deze advertentie.
Categorie Een module kan "alle advertenties in categorie X" ophalen.
Taal Alleen tonen bij een overeenkomende sitetaal.
Adverteerder Neemt de tracking- en aankoopstandaarden van de adverteerder over.
Naar boven

3. Advertenties tonen met mod_banners

3.1 De module is de aflevermotor

Dit is het belangrijkste om te begrijpen: een advertentie doet niets totdat een advertentie-module hem rendert. De component slaat de gegevens op, maar mod_banners selecteert en toont de advertentie.

Advertentie (data)  →  mod_banners (selectie + renderen)  →  modulepositie

Maak de module aan via Systeem → Website-modules → Nieuw → Advertenties en wijs hem vervolgens toe aan een positie en de menu-items waarop hij moet verschijnen.

3.2 Module-opties

De module-opties bepalen welke advertenties in aanmerking komen en hoe ze worden weergegeven:

OptieWat het doet
Doelvenster Doel van de link: hetzelfde venster, nieuw venster of popup.
Aantal Hoeveel advertenties tegelijk worden getoond (standaard 5).
Adverteerder Beperk tot de advertenties van één adverteerder.
Categorie Beperk tot één of meer categorieën.
Zoeken op trefwoorden Vergelijk met de meta-trefwoorden van de pagina.
Willekeurige volgorde Sticky-volgorde of sticky gevolgd door willekeurige volgorde.
Koptekst / Voettekst Voegt tekst toe vóór of na het advertentieblok.

3.3 Volgorde en rotatie

De selectiequery sorteert advertenties op twee manieren, afhankelijk van de instelling Willekeurige volgorde:

ORDER BY sticky DESC, ordering        -- "Sticky-volgorde"
ORDER BY sticky DESC, RAND()          -- "Sticky, willekeurig"

De logica is eenvoudig:

  • Sticky-advertenties komen altijd eerst.
  • Binnen hetzelfde sticky-niveau kies je een vaste of willekeurige volgorde.
  • Aantal bepaalt vervolgens hoeveel van die advertenties daadwerkelijk worden weergegeven.

3.4 Trefwoordtargeting in de praktijk

Met trefwoordtargeting kun je relevante advertenties tonen per pagina zonder voor elke pagina een aparte module te maken. Dat werkt in drie stappen:

  1. Vul bij de advertentie Trefwoorden in, bijvoorbeeld joomla, hosting.
  2. Schakel Zoeken op trefwoorden in bij de module.
  3. Op een pagina waarvan de meta-trefwoorden hosting bevatten, komt die advertentie in aanmerking voor weergave.

Eén module kan zo verschillende advertenties tonen op verschillende pagina's, afhankelijk van het onderwerp van de pagina.

3.5 Template-overrides

De module wordt geleverd met één layout die je volledig kunt overschrijven. Dit is de juiste plek om de weergave van advertenties aan te passen:

modules/mod_banners/tmpl/default.php                       ← de standaardlayout
templates/your_template/html/mod_banners/default.php       ← jouw override

Gebruik een override om zaken te bouwen die de standaardlayout niet biedt:

  • Sponsoroverzichten of Bootstrap-cards.
  • Sliders en carrousels.
  • Lazy-loaded, responsieve <picture>-markup.

Het principe is hetzelfde als elders in Joomla: data en presentatie blijven gescheiden. Je overschrijft de weergave, niet het model. Eén tip: de standaardlayout voegt al rel="noopener noreferrer" toe aan links die in een nieuw tabblad openen. Behoud dat voor de veiligheid.

3.6 Caching versus nauwkeurige impressietelling

Dit is een subtiel maar belangrijk punt. Een impressie is een dynamische schrijfactie bij elke weergave. Caching voorkomt juist opnieuw renderen. Caching en nauwkeurige telling werken dus tegen elkaar in.

CachelaagEffect op tellingen
Modulecache Een gecachte module wordt niet opnieuw gerenderd, waardoor impmade niet wordt verhoogd.
Pagina- / systeemcache De volledige pagina wordt uit de cache geladen, waardoor geen advertentiecode wordt uitgevoerd.
Reverse proxy / CDN De edge-server levert de HTML, waardoor Joomla de paginaweergave nooit ziet.

Hoe agressiever je cachet, hoe meer impmade de werkelijke weergaven onderschat. Heb je nauwkeurige cijfers nodig, sluit advertentiemodules dan uit van caching. Anders moet je accepteren dat de tellingen een minimum aangeven en niet het totale aantal weergaven.

Naar boven

4. Tracking en limieten

4.1 Impressies versus klikken

Joomla registreert twee statistieken, en het is belangrijk om die duidelijk van elkaar te onderscheiden:

StatistiekWanneer deze wordt verhoogdKolom
Impressie De advertentie wordt op een pagina weergegeven. impmade
Klik Een bezoeker klikt op de advertentie. clicks

Beide worden ook per dag geregistreerd in #__banner_tracks wanneer tracking is ingeschakeld. De echte waarde zit in de verhouding tussen beide, de click-through rate (CTR):

CTR = klikken / impressies × 100   (%)

Een advertentie met veel impressies maar weinig klikken presteert onder verwachting.

4.2 De impressielimiet

Elke advertentie kan een harde limiet hebben voor het aantal keer dat deze wordt weergegeven:

imptotal  = de limiet (0 = onbeperkt)
impmade   = aantal keer weergegeven

De selectiequery kiest alleen advertenties die nog ruimte hebben:

imptotal = 0  OR  impmade < imptotal

Zodra impmade gelijk is aan imptotal, verdwijnt de advertentie automatisch uit de rotatie. Zo kun je precies het aantal weergaven leveren waarvoor een adverteerder heeft betaald.

4.3 Hoe een klik wordt geteld

Wanneer een bezoeker op een afbeeldingsadvertentie klikt, wordt hij niet direct naar de bestemming gestuurd. Joomla leidt de klik eerst via de component:

/index.php?option=com_banners&task=click&id=42
        → clicks = clicks + 1
        → logregel toevoegen aan #__banner_tracks (track_type = 1)
        → 301-doorverwijzing naar de echte klik-URL

De doorverwijzing is onzichtbaar voor de bezoeker, maar geeft Joomla de kans om de klik te registreren voordat de bezoeker wordt doorgestuurd.

4.4 De beslisketen voor tracking

Of een klik of impressie daadwerkelijk wordt geregistreerd, wordt niveau voor niveau bepaald, van meest specifiek naar meest algemeen:

Banner.track_clicks  (-1 = overnemen)
   └─ Client.track_clicks  (-1 = overnemen)
        └─ com_banners globale configuratie: track_clicks

De waarde -1 betekent "overnemen van het hogere niveau". Impressies volgen exact hetzelfde patroon. Dit is hetzelfde overervingsprincipe dat je misschien kent van categorierechten.

4.5 Trackingtypes

De tabel #__banner_tracks bevat compacte uursamenvattingen en geen lijst met individuele gebeurtenissen:

track_date   datetime   (afgerond op het uur: Y-m-d H:00:00)
track_type   1 = klik, 2 = impressie
banner_id    welke advertentie
count        aantal binnen dat uur

Er bestaat dus één regel per advertentie, per type, per uur, niet één regel per gebeurtenis. Dit ontwerp houdt de tabel klein, zelfs op drukbezochte websites.

4.6 Reset en aankooptype

Twee extra velden modelleren de commerciële kant van betaalde plaatsingen:

  • Reset (de reset-datum) bepaalt wanneer impmade en clicks weer op nul worden gezet.
  • Aankooptype (Onbeperkt, Jaarlijks, Maandelijks, Wekelijks of Dagelijks) beschrijft de factureringscyclus.

Het aankooptype gebruikt dezelfde overervingsketen als tracking:

Banner.purchase_type  (-1 = overnemen)
   └─ Client.purchase_type  (-1 = overnemen)
        └─ Globale configuratie purchase_type
Naar boven

5. Beveiliging van aangepaste advertenties

5.1 Aangepaste HTML wordt ongewijzigd opgeslagen

Deze sectie verdient speciale aandacht, omdat dit het punt is dat mensen het vaakst over het hoofd zien. Aangepaste HTML-advertenties worden precies opgeslagen zoals je ze invoert. Joomla filtert of ontsmet deze code niet.

custombannercode   →  filter="raw"     (in banner.xml)
clickurl           →  filter="url"     (URL-validatie)

De klik-URL wordt gevalideerd, maar de markup van een aangepaste advertentie niet.

5.2 Waarom dit belangrijk is

Omdat aangepaste code ongewijzigd wordt opgeslagen, kan een advertentiebeheerder die een <script>-tag invoegt, opgeslagen cross-site scripting (XSS) veroorzaken op elke pagina waarop de module verschijnt. De gevolgen zijn praktisch:

  • Geef alleen vertrouwde gebruikersgroepen toestemming om aangepaste advertenties te maken. Regel dit via ACL (zie sectie 6).
  • Gebruik bij voorkeur Afbeelding-advertenties voor advertenties die door adverteerders worden aangeleverd.
  • Reserveer Aangepaste-advertenties voor je eigen medewerkers.

Een eenvoudige vuistregel: afbeeldingsadvertenties zijn veilig door hun opzet, terwijl aangepaste advertenties veiligheid inruilen voor volledige controle. De doorverwijzing controleert de doel-URL, maar de markup blijft jouw verantwoordelijkheid.

Naar boven

6. Categorieën en toegangsbeheer

6.1 Advertenties gebruiken het gedeelde categoriesysteem

Advertentiecategorieën zijn niet speciaal. Het zijn gewone Joomla-categorieën die toevallig bij de advertentiecomponent horen:

#__categories  WHERE extension = 'com_banners'

Dat betekent dat advertentiecategorieën dezelfde geneste boomstructuur, dezelfde knop Opnieuw opbouwen en hetzelfde ACL-systeem gebruiken als artikelcategorieën. Begrijp je artikelcategorieën, dan begrijp je ook advertentiecategorieën.

6.2 Waarom categorieën hier belangrijk zijn

Categorieën vormen de koppeling tussen je advertenties en de module die ze toont:

  • Een module richt zich op een categorie, waardoor alle advertenties daarin onderdeel worden van dezelfde rotatiepool.
  • Je kunt advertenties organiseren per campagne, plaatsing of sponsor.
  • Rechten worden overgenomen binnen de categorieboom (Aanmaken, Bewerken, Status wijzigen enzovoort).

Wil je meer weten over hoe de geneste boomstructuur de waarden lft en rgt opslaat, bekijk dan het aparte artikel Categorieën in Joomla.

6.3 Toegang en taal

  • Het Toegangsniveau van een advertentie bepaalt wie hem kan zien. Dit is zelden nodig, omdat de module de weergave meestal al regelt.
  • Taal zorgt ervoor dat een advertentie alleen verschijnt bij de bijbehorende sitetaal.
  • Op een meertalige website kun je één rotatiepool gebruiken en het taalfilter automatisch de juiste advertenties laten kiezen.
Naar boven

7. Onder de motorkap (voor ontwikkelaars)

7.1 Drie tabellen

De volledige component draait op drie specifieke tabellen:

#__banners          de advertenties + tellers + targeting
#__banner_clients   adverteerders + standaard tracking / aankooptype
#__banner_tracks    uurlijkse samenvatting van klikken / impressies

Daarnaast gebruikt de component records in de gedeelde tabel #__categories, waarbij extension = com_banners.

7.2 Belangrijke kolommen in #__banners

De hoofdtafel bevat de advertentieinhoud, de tellers en de targeting op één plek:

type                0 = afbeelding, 1 = aangepaste HTML
custombannercode    ruwe markup voor aangepaste advertenties
params              JSON: imageurl, width, height, alt, ...
cid                 adverteerder-id  (→ #__banner_clients)
catid               categorie-id (→ #__categories)
imptotal / impmade  impressielimiet / aantal impressies
clicks              aantal klikken
sticky              altijd bovenaan in de rotatie
state               gepubliceerd / gedepubliceerd / gearchiveerd / verwijderd
metakey             trefwoorden voor targeting
own_prefix / metakey_prefix    aangepaste prefixmatching
track_clicks / track_impressions   -1 overnemen, 0 uit, 1 aan
purchase_type       -1 overnemen, anders factureringscyclus
reset               wanneer tellers worden gereset
language            '' = alle talen, of een taalcode

7.3 De MVC-structuur

De code is verdeeld over drie locaties volgens de standaard Joomla-structuur:

administrator/components/com_banners/   ← beheer van advertenties, adverteerders en tracking
   src/Model, src/Table, src/Controller, tmpl/, forms/

components/com_banners/                  ← frontend klikken + selectie
   src/Model/BannersModel.php   (selectie + impressies)
   src/Model/BannerModel.php    (enkele advertentie + kliktracking)
   src/Controller/DisplayController.php

modules/mod_banners/                     ← toont de geselecteerde advertenties
   src/Helper/BannersHelper.php
   tmpl/default.php

7.4 De selectiequery

BannersModel::getBannerQuery() bouwt ongeveer deze query om geschikte advertenties te selecteren:

SELECT a.*
FROM #__banners AS a
LEFT JOIN #__banner_clients AS cl ON cl.id = a.cid
LEFT JOIN #__categories     AS cat ON cat.id = a.catid
WHERE a.state = 1
  AND (a.publish_up   IS NULL OR a.publish_up   <= :now)
  AND (a.publish_down IS NULL OR a.publish_down >= :now)
  AND (a.imptotal = 0 OR a.impmade < a.imptotal)
  AND cl.state = 1
  [AND a.catid IN (:categories)]
  [AND keyword/metakey REGEXP conditions]
ORDER BY a.sticky DESC, a.ordering   -- of RAND()

Deze ene query verklaart het grootste deel van het gedrag dat eerder is beschreven: publicatiestatus, publicatieperiode, impressielimieten, adverteerderstatus en sortering worden hier allemaal bepaald.

7.5 Trefwoordmatching is echte SQL

Wanneer zoeken op trefwoorden is ingeschakeld, vergelijkt Joomla elk paginatrefwoord met een reguliere expressie tegen de metatrefwoorden van de advertentie, adverteerder én categorie:

$regexp = $db->getServerType() === 'mysql'
    ? '\\b' . $keyword . '\\b'                 // MySQL / MariaDB
    : '[[:<:]]' . $keyword . '[[:>:]]';        // PostgreSQL

Daarnaast bestaat de eigen-prefix-logica: een advertentie kan overeenkomen met een prefix van een trefwoord in plaats van met het volledige woord. Daarmee kun je zeer gericht targeten zonder exacte overeenkomsten te vereisen.

7.6 Tokens in aangepaste advertentiecode

Voor aangepaste advertenties kan custombannercode tijdelijke aanduidingen bevatten die mod_banners tijdens het renderen vervangt:

{CLICKURL}   → de getrackte klik-URL
{NAME}       → de advertentienaam

Dat is een handig detail: een handgeschreven <a>- of <script>-advertentie kan zo toch gebruikmaken van Joomla's kliktracking, zodat je statistieken behouden blijven.

7.7 Programmatic access

Dezelfde Categories API die artikelen ondersteunt, werkt ook voor advertenties:

use Joomla\CMS\Categories\Categories;

$categories = Categories::getInstance('Banners');
$node       = $categories->get('sponsors');   // via alias of ID
$children   = $node->getChildren();

De tabel- en modelklassen bevinden zich in voorspelbare namespaces:

Joomla\Component\Banners\Administrator\Table\BannerTable
Joomla\Component\Banners\Site\Model\BannersModel

7.8 Web Services API (headless)

De component bevat standaard een REST API, waardoor advertenties en adverteerders ook headless beschikbaar zijn:

api/components/com_banners/
   src/Controller/BannersController.php
   src/Controller/ClientsController.php
   src/View/Banners, src/View/Clients
GET  /api/index.php/v1/banners
GET  /api/index.php/v1/banners/clients

Dat maakt moderne architecturen mogelijk waarbij de gegevens in Joomla staan, maar de presentatie elders plaatsvindt:

Joomla API  →  React / Vue frontend  →  aangepaste advertentierendering

Let wel op: API-weergave omzeilt mod_banners, waardoor je impressies en klikken zelf moet registreren.

7.9 Gedrag op grote schaal

Het model is eenvoudig, maar bij grote installaties zijn er enkele aandachtspunten:

OnderwerpWaarom dit gebeurtOplossing
Schrijfconflicten Elke weergave of klik veroorzaakt een UPDATE op #__banners. Accepteer de uurlijkse aggregatie en schakel die niet uit.
Tabelgroei #__banner_tracks krijgt één record per advertentie, type en uur. Archiveer of verwijder oude records regelmatig.
Selectiekosten Trefwoord-REGEXP plus joins met adverteerders en categorieën. Indexeer state, catid en language; houd trefwoordenlijsten compact.
Grote rotatiepool 100.000 advertenties vormen een grote selectiepool. Filter streng op categorie of adverteerder binnen de module.

Tracking is bewust ontworpen om compact te blijven dankzij uurlijkse verzamelingen. Op lange termijn bestaat het belangrijkste onderhoudswerk uit het archiveren van gegevens in #__banner_tracks.

Naar boven

8. Veelvoorkomende fouten en valkuilen

8.1 "Mijn advertentie wordt niet weergegeven"

Dit is veruit de meest gestelde supportvraag. Doorloop deze checklist stap voor stap:

  • Is de advertentie gepubliceerd? Is de adverteerder gepubliceerd?
  • Valt de advertentie binnen de periode publish_up / publish_down?
  • Heeft impmade de waarde imptotal bereikt? (De limiet is bereikt.)
  • Is de module toegewezen aan dit menu-item en deze positie?
  • Sluit het filter Categorie / Adverteerder van de module de advertentie uit?
  • Staat Zoeken op trefwoorden aan terwijl de pagina geen overeenkomende trefwoorden bevat?

8.2 Valkuilen rond tracking en privacy

  • Tracking staat standaard uit totdat je deze inschakelt op advertentie-, adverteerder- of globaal niveau.
  • Tellingen worden per uur samengevoegd, verwacht dus geen nauwkeurigheid per seconde.
  • Klikken verlopen via een doorverwijzing, waardoor advertentieblokkers of een strikte CSP invloed kunnen hebben op aangepaste code.
  • Reset-datums zetten tellers ongemerkt terug naar nul. Leg deze datums vast zodat niemand voor verrassingen komt te staan.

8.3 Veelgemaakte fouten bij afbeelding- en aangepaste advertenties

  • Het wijzigen van het Type migreert geen gegevens. Afbeeldingsvelden en aangepaste code worden apart opgeslagen.
  • Het vergeten van Breedte / Hoogte / Alt bij afbeeldingsadvertenties heeft een negatieve invloed op de layout en toegankelijkheid.
  • Aangepaste HTML omzeilt Joomla's <img>-generator, waardoor jij verantwoordelijk bent voor zowel responsiviteit als beveiliging.
Naar boven

9. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, laat het dan deze zijn:

  • Maak eerst de adverteerder aan, daarna de advertentie en vervolgens de module die de advertentie toont.
  • Gebruik afbeeldingsadvertenties voor advertentiemateriaal van adverteerders en reserveer aangepaste advertenties voor vertrouwde medewerkers.
  • Gebruik de impressielimiet om exact het aantal weergaven te leveren waarvoor een adverteerder heeft betaald.
  • Sluit advertentiemodules uit van caching als je nauwkeurige impressiecijfers nodig hebt.
  • Gebruik categorieën om advertenties te groeperen in rotatiepools per campagne of sponsor.
  • Archiveer #__banner_tracks regelmatig op drukbezochte websites.
Naar boven

10. In het kort

KLANT        Componenten → Advertenties → Adverteerders → Nieuw
BANNER       Componenten → Advertenties → Advertenties → Nieuw
WEERGAVE     Website-modules → Nieuw → Advertenties (positie + menu toewijzen)
CATEGORIE    Componenten → Advertenties → Categorieën (extension=com_banners)
LIMIET       Max. impressies (imptotal); 0 = onbeperkt
STICKY       Sticky = bovenaan in de rotatie
TARGETING    Trefwoorden + module-optie "Zoeken op trefwoorden"
TRACKING     Advertentie → Adverteerder → Globaal (-1 = overnemen)
TRACKLOG     #__banner_tracks (type 1=klik, 2=impressie, per uur)
KLIKSTROOM   task=click&id=X → tellen → doorverwijzen naar klik-URL
OVERRIDE     templates/{tpl}/html/mod_banners/default.php
CTR          klikken / impressies × 100
BEVEILIGING  custombannercode = ongewijzigde code → alleen vertrouwde groepen
API          /api/index.php/v1/banners  (headless)
TABELLEN     #__banners, #__banner_clients, #__banner_tracks
Naar boven

11. Samenvatting

Joomla's Advertenties is een complete, zelfgehoste advertentieserver die zich verborgen houdt in Joomla. Zodra je het op die manier bekijkt, zie je de component niet langer als een eenvoudige afbeelding-uploader, maar als een compact en krachtig advertentiesysteem.

Het biedt onder andere:

  • Weergave: rotatie, sticky-prioriteit, aantallen en willekeurige volgorde.
  • Targeting: op trefwoord, categorie, adverteerder en taal.
  • Limieten: impressielimieten, planning en factureringscycli.
  • Analyse: first-party tracking van impressies en klikken.
  • Integratie: de gedeelde categoriestructuur, ACL en een overzichtelijk MVC-model.
  • Privacy: geen extern advertentienetwerk en standaard geen cookies.

De gegevens staan in Joomla, maar de weergave kan overal plaatsvinden, van een klassieke module tot een headless React-frontend. De belangrijkste regel om te onthouden is de scheiding van verantwoordelijkheden: de component beheert de gegevens, de module toont ze en de template-override bepaalt hoe ze eruitzien.

Als je betaalde advertenties, interne promoties of sponsorrotaties beheert en je wilt deze tellen, begrenzen en targeten zonder afhankelijk te zijn van een extern advertentienetwerk, dan heeft Joomla's Advertenties alles al in huis. De uitdaging zit niet in de functionaliteit. De uitdaging is weten dat die er is.

Naar boven
Advertenties in Joomla
Peter Martin
Peter Martin

Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.