GEO, AEO, en AIO optimalisatie voor Joomla
Twintig jaar lang was het doel van SEO een blauwe link bovenaan in de Google zoekresultaten. Dat doel verschuift. Mensen stellen nu een volledige vraag aan ChatGPT, Google's AI Overviews, Perplexity en Bing Copilot, en lezen het antwoord dat de machine teruggeeft. Je website kan nog steeds winnen, maar alleen als de AI hem kan vinden, lezen, vertrouwen en citeren.
Drie nieuwe afkortingen beschrijven dit werk: GEO (Generative Engine Optimization), AEO (Answer Engine Optimization) en AIO (AI Optimization, oftewel optimaliseren voor AI Overviews). Ze overlappen sterk, en Joomla geeft je al de meeste tools die je nodig hebt om in alle drie mee te doen.
Dit artikel legt uit hoe je een Joomla-website optimaliseert voor AI-zoeken. Het behandelt de basis voor eigenaren en redacteuren, de dagelijkse instellingen voor beheerders en de technische details voor ontwikkelaars. Je ziet wat elke term betekent, wat de AI-engines lezen, en hoe je Joomla-core gebruikt om een bron te worden die de machines citeren.
Oude SEO leverde je de klik op. Het nieuwe spel is om het antwoord te zijn.
Het doel is simpel: je genoeg inzicht geven in GEO, AEO en AIO om je Joomla-site citeerbaar te maken.
1. De basis
1.1 Wat GEO, AEO en AIO betekenen
De drie termen komen uit verschillende hoeken van de sector en beschrijven dezelfde brede verschuiving, elk met een net iets andere focus:
| Term | Volledige naam | Focus |
|---|---|---|
| AEO | Answer Engine Optimization | Gekozen worden als het korte, directe antwoord op een vraag. |
| GEO | Generative Engine Optimization | Geciteerd worden in tekst die een AI genereert. |
| AIO | AI Optimization / AI Overviews | Verschijnen in Google's AI Overview-blok boven de resultaten. |
Je hoeft ze niet als drie aparte projecten te zien. Dezelfde goed gestructureerde, betrouwbare pagina wint ze meestal alle drie tegelijk. Zie ze als één vakgebied vanuit drie hoeken bekeken.
1.2 Hoe dit verschilt van klassieke SEO
Klassieke SEO vraagt "hoe rank ik deze pagina?" AI-zoeken vraagt "hoe krijg ik mijn feiten in het antwoord?" De verschillen die ertoe doen:
- Geen klik is gegarandeerd. De AI kan volledig antwoorden en nooit een bezoeker sturen. Je winst is de bronvermelding en de merkvermelding, niet alleen de klik.
- Passages verslaan pagina's. AI-engines pakken een zin of een alinea, niet een hele pagina. Een heldere, op zichzelf staande passage is meer waard dan een lange, langdradige.
- Vertrouwen wordt door een machine bepaald. Het model beoordeelt hoe betrouwbaar en consistent je website over het hele internet overkomt, niet alleen op één pagina.
Het goede nieuws voor Joomla-gebruikers: Google stelt dat SEO nog steeds relevant is voor zoekopdrachten met generatieve AI. De kenmerken die een pagina nu al sterk maken voor SEO – een overzichtelijke structuur, betrouwbare expertise, machinaal leesbare opmaak – zijn precies de kenmerken die AI-zoekmachines belonen. Zie ook het artikel SEO in Joomla.
1.3 De twee manieren waarop een AI je content bereikt
Een AI-engine kan je site op twee verschillende manieren gebruiken, en ze hebben elk iets anders van je nodig:
| Pad | Wanneer het gebeurt | Wat het nodig heeft |
|---|---|---|
| Training | Het model leerde van een eerdere crawl van het web. | Je pagina's waren maanden of jaren geleden crawlbaar en helder. |
| Retrieval | De engine haalt live pagina's op om "nu meteen" te antwoorden. | Snelle, crawlbare, goed gestructureerde pagina's vandaag, plus crawler-toegang. |
Je kunt niet veranderen wat een model al geleerd heeft, maar je hebt volledige controle over retrieval. Het grootste deel van dit artikel gaat over het laten werken van die retrieval-route in jouw voordeel.
Naar boven2. Hoe AI-engines je site lezen
2.1 De AI-crawlers
Net zoals Googlebot crawlt voor zoeken, draaien de AI-bedrijven hun eigen bots. Elke bot identificeert zich met een User-agent-tekst die je in je serverlogs ziet:
| User-agent | Beheerd door | Doel |
|---|---|---|
GPTBot |
OpenAI | Verzamelt pagina's om toekomstige modellen te trainen. |
OAI-SearchBot |
OpenAI | Bouwt de index voor ChatGPT Search. |
ChatGPT-User |
OpenAI | Haalt een pagina live op als een gebruiker daarom vraagt. |
Google-Extended |
Opt-in-token voor training en grounding van Gemini. | |
ClaudeBot |
Anthropic | Crawlt voor Claude. |
PerplexityBot |
Perplexity | Indexeert pagina's voor antwoorden van Perplexity. |
Bingbot |
Microsoft | Voedt Bing-zoeken en antwoorden van Copilot. |
Applebot-Extended |
Apple | Opt-in-token voor Apple Intelligence. |
CCBot |
Common Crawl | Open dataset waarop veel modellen trainen. |
Je bepaalt per bot of je hem toelaat of blokkeert (sectie 8). Voor de meeste Joomla-sites die AI-zichtbaarheid willen, is het antwoord: laat de zoek- en retrieval-bots toe zodat je pagina's geciteerd kunnen worden.
2.2 Wat de crawler werkelijk ziet
De meeste AI-crawlers halen je ruwe HTML op en voeren veel minder JavaScript-rendering uit dan een moderne browser. Dit heeft een direct gevolg voor Joomla:
- Content die Joomla server-side rendert (gewone artikelen, modules, menu's) is zichtbaar.
- Content die later door JavaScript wordt geladen - een slider die via AJAX ophaalt, een "meer laden"-knop, een tab-widget die zich pas bij een klik vult - kan onzichtbaar zijn voor de bot.
- Tekst die in een afbeelding is gebakken is onzichtbaar. De AI leest de
alt-tekst, niet de afbeelding.
De les: zet de woorden die je geciteerd wilt zien in gewone, server-side gerenderde HTML. Joomla doet dit standaard, wat een voordeel is - maak dat niet ongedaan met een template dat core-content achter scripts verbergt.
2.3 Schone HTML helpt de machine lezen
AI-engines ontleden je pagina tot een structuur: dit is een kop, dit is een lijst, dit is een tabel, dit is het antwoord op die kop. Hoe schoner je semantische HTML, hoe betrouwbaarder de machine betekenis in kaart brengt. Een Joomla-artikel dat echte <h2>-, <h3>-, <ul>- en <table>-tags gebruikt, leest voor een model veel beter dan een muur van <div>-elementen die als koppen zijn opgemaakt.
2.4 Retrieval-Augmented Generation (RAG)
De meeste live AI-antwoorden draaien op een patroon dat RAG heet, Retrieval-Augmented Generation. Het is de moeite waard om te begrijpen, omdat het precies verklaart wat je de machine moet voeren:
1. Zoeken de engine doorzoekt zijn index of het live web
2. Ophalen het pakt de paar passages die het best bij de vraag passen
3. Genereren het schrijft een antwoord uit die passages en citeert ze
Je pagina concurreert bij stap twee. De engine haalt kleine, op zichzelf staande stukjes op, geen hele artikelen, dus het geeft de voorkeur aan content die is opgedeeld in heldere definities, korte alinea's, lijsten en tabellen boven lange, ononderbroken tekst. Elke gewoonte in dit artikel - antwoord-eerst-alinea's, vraagkoppen, FAQ-blokken, schema - bestaat om je passages makkelijk op te halen en veilig te citeren te maken bij stap drie.
Naar boven3. Answer Engine Optimization (AEO)
3.1 Beantwoord de vraag eerst
Een answer engine wil het antwoord, niet de aanloop ernaartoe. De effectiefste AEO-gewoonte is de omgekeerde piramide: geef het directe antwoord in de eerste een of twee zinnen onder een kop, en breid daarna uit met details.
Kop: Hoe lang moet een meta-omschrijving zijn?
Zwak: Meta-omschrijvingen hebben een lange en interessante
geschiedenis die teruggaat tot de begintijd van
zoekmachines...
Sterk: Een meta-omschrijving moet ongeveer 150 tot 160 tekens
zijn. Langere tekst wordt afgekapt in het zoekresultaat.
Hier is waarom die lengte werkt en hoe je er een schrijft...
De "Sterk"-versie kan in zijn geheel in een antwoordblok worden overgenomen. De "Zwak"-versie dwingt de machine te zoeken, en die kiest dan vaak een concurrent.
3.2 Schrijf koppen als echte vragen
Mensen stellen AI-engines volledige vragen: "hoe maak ik een menu in Joomla?" Sluit daarop aan. Gebruik koppen in natuurlijke vraagvorm in je artikelen en geef daar direct onder het antwoord:
- Maak van je
<h2>- en<h3>-koppen de vragen die je publiek echt typt. - Houd elk antwoord op zichzelf staand, zodat het klopt als het uit de pagina wordt gehaald.
- Gebruik één idee per alinea. Een alinea die precies één vraag beantwoordt, is makkelijk te citeren.
3.3 Het FAQ-blok
Een korte FAQ-sectie aan het eind van een artikel is het meest waardevolle AEO-blok dat je kunt toevoegen. Het verpakt meerdere vraag-en-antwoordparen in precies de vorm die answer engines prefereren. Bouw het als gewone HTML en voorzie het daarna van FAQPage-schema (sectie 6) zodat de structuur machine-expliciet is:
V: Genereert Joomla zelf een XML-sitemap?
A: Nee. Joomla-core genereert geen XML-sitemap. Je voegt er een toe
met een extensie zoals OSMap of JSitemap.
V: Waar stel ik per artikel een meta-omschrijving in Joomla in?
A: In Content → Artikelen → [artikel] → Publiceren → Meta-omschrijving.
In Joomla kun je dit direct in de artikeltekst schrijven, of het opbouwen uit Custom Fields zodat de vragen en antwoorden gestructureerd en herbruikbaar blijven (sectie 6.4).
Naar boven4. Generative Engine Optimization (GEO)
4.1 Wees de bron die een model wil citeren
GEO gaat erover dat je site wordt verweven in de tekst die een AI genereert, het liefst met een bronlink. Onderzoek naar hoe deze systemen bronnen kiezen wijst op een paar patronen die je kansen vergroten:
- Noem cijfers en feiten. Concrete getallen ("Joomla 6 vereist PHP 8.3 of nieuwer") worden veel vaker geciteerd dan vage claims ("Joomla heeft een moderne PHP nodig").
- Citeer experts en bronnen. Pagina's die zelf gezaghebbende bronnen aanhalen, komen betrouwbaarder over op het model.
- Gebruik heldere, gewone taal. Simpele, directe zinnen zijn makkelijker te extraheren en hergebruiken dan dichte marketingtaal.
- Blijf bij het onderwerp. Een gerichte pagina over één onderwerp verslaat een pagina die afdwaalt.
4.2 Diepgang en versheid winnen
Generatieve engines geven de voorkeur aan pagina's die een onderwerp grondig behandelen en die onderhouden ogen. Twee praktische Joomla-gewoonten:
- Behandel de hele vraag. Een enkel diepgaand artikel presteert meestal beter dan vijf dunne. Het topic-clusterpatroon - een pijlerartikel gelinkt aan detailartikelen - geeft het model zowel breedte als diepte om uit te putten.
- Toon de datum. Joomla bewaart
publish_upenmodifiedbij elk artikel. Toon "Gepubliceerd"- en "Laatst bijgewerkt"-datums zodat zowel lezers als modellen zien dat de content actueel is.
4.3 Consistentie bouwt een entiteit
AI-modellen denken in entiteiten: een persoon, een bedrijf, een product is een ding dat ze over het hele web proberen te herkennen. Hoe consistenter je jezelf beschrijft, hoe zelfverzekerder een model de verbanden legt en je vertrouwt. Houd je merknaam, auteursnaam, adres en kernfeiten overal identiek - je Joomla-site, je sociale profielen en elke vermelding in een gids. In Joomla zijn de Contact component en één consistent Organization-schemablok de manier waarop je in één heldere stem zegt "dit zijn wij".
4.4 Tags zijn entiteiten, geen labels
Joomla's Tags zijn een kant-en-klare entiteitslaag als je ze met discipline gebruikt. Een tag moet een echt ding benoemen dat de AI al kent - een technologie, een product, een plaats, een persoon - niet een vage stemming:
| Goede tags (entiteiten) | Zwakke tags (labels) |
|---|---|
Joomla, PHP, MariaDB, Security |
Nieuws, Interessant, Algemeen, Diversen |
Entiteitstags doen dubbel werk. Hun tagpagina's linken gerelateerde artikelen tot een cluster (een interne-linkwinst), en dezelfde consistente termen voeden de about- of keywords-velden van je schema, zodat het model dezelfde entiteiten op dezelfde manier benoemd ziet over de hele site.
5. AI Overviews en hoe de engines verschillen
5.1 Wat de AI Overview is
Google's AI Overview is de door AI geschreven samenvatting die nu boven de klassieke blauwe links verschijnt bij veel zoekopdrachten. Het haalt zinnen uit meerdere pagina's en somt ze op als bronnen. Een plek in dat blok verdienen is het AIO-deel van het werk, en het beloont dezelfde structuur als AEO en GEO, plus een paar Google-specifieke signalen.
5.2 Je hebt nog steeds klassieke SEO nodig
De AI Overview put vooral uit pagina's die al op de eerste pagina van de gewone Google-resultaten ranken. Dit is het kernpunt dat velen missen: AIO bouwt voort op solide SEO, niet in plaats daarvan. Als je pagina niet op pagina één kan komen voor een zoekopdracht, verschijnt hij zelden in de AI Overview voor die zoekopdracht. Dus de SEO-basis blijft belangrijk:
- Schone SEF-URL's en een snelle, mobielvriendelijke Joomla-site.
- Unieke titels en meta-omschrijvingen per pagina.
- Sterke interne links en een logische menu- en categorieboom.
5.3 Win de passage, niet alleen de pagina
Google citeert vaak één passage in de Overview. Om jouw passage de gekozene te maken:
- Zet een kernachtig, op zichzelf staand antwoord direct onder een heldere kop.
- Gebruik lijsten en kleine tabellen - Google neemt deze makkelijk over in Overviews omdat ze al gestructureerd zijn.
- Houd zinnen kort genoeg om zonder bewerking te citeren.
Daarom staat een Joomla-artikel met eerlijke koppen, korte alinea's en af en toe een tabel er goed voor: de vorm past bij wat de Overview wil extraheren.
5.4 ChatGPT Search
ChatGPT Search bouwt een eigen index en haalt ook live pagina's op. Het leunt op entiteiten en vertrouwen: het geeft de voorkeur aan pagina's met een helder onderwerp, een genoemde auteur en uitgever, recente datums, en een merk dat het over het web herkent. Het citeert meestal maar een handvol bronnen, dus één daarvan zijn is het hele spel.
Wat je in Joomla doet:
- Schrijf een precieze, beschrijvende titel: "Joomla Custom Fields uitgelegd" verslaat "Alles over Joomla-dingen".
- Voeg
Organization- enPerson-schema toe en toon publicatie- en updatedatums. - Houd het merk, de auteur en de kernfeiten overal consistent (sectie 4.3).
5.5 Perplexity
Perplexity is de meest bronvermeldingsgedreven van de engines. Het toont meerdere bronnen naast elk antwoord en geeft duidelijk de voorkeur aan pagina's die goed onderbouwd en verifieerbaar zijn. Het beloont content die zelf gezaghebbend materiaal aanhaalt in plaats van claims zonder onderbouwing.
Wat je in Joomla doet:
- Vermeld je bronnen in de tekst en link naar officiële documentatie waar die een claim onderbouwt.
- Stel feiten helder en houd ze actueel, zodat ze makkelijk te verifiëren zijn.
- Gebruik schone, stabiele URL's en heldere koppen zodat één passage makkelijk toe te schrijven is.
Het patroon bij alle drie de engines is hetzelfde: heldere structuur, benoemde expertise en verifieerbare feiten. Afstemmen is een kwestie van nadruk - versheid en entiteitssignalen voor ChatGPT, ranking en extraheerbare passages voor Google, bronnen en citaten voor Perplexity - niet drie aparte projecten.
5.6 De andere assistenten: Gemini, Copilot, Claude, Mistral
De grote drie zijn niet het hele veld, maar de rest hergebruikt meestal een zoekindex waarvoor je al optimaliseert, dus hetzelfde werk gaat mee. De verschillen die het waard zijn om te weten:
| Assistent | Baseert antwoorden op | Wat dat voor jou betekent |
|---|---|---|
| Google Gemini | Google Zoeken | Je SEO- en AI Overview-werk telt hier dubbel - geen aparte taak. |
| Microsoft Copilot | De Bing-index | Stuur je sitemap naar Bing Webmaster Tools, niet alleen Google. Laat Bingbot crawlen. |
| Claude | Eigen webzoeken, plus ClaudeBot |
Dezelfde signalen: heldere structuur en verifieerbare feiten. Laat ClaudeBot toe als je citaten wilt. |
| Mistral (Le Chat) | Een partner-webzoeken | Kleiner bereik vandaag; dezelfde gestructureerde, onderbouwde content is alles wat je nodig hebt. |
De les is bemoedigend: er is geen checklist per assistent om achterna te jagen. Een pagina die Google en Bing al wint, met heldere structuur en eerlijke bronvermelding, is de pagina waar deze assistenten ook naar grijpen.
5.7 Lokale LLM's (Ollama en aanverwanten)
Een groeiend aantal mensen draait modellen offline met tools zoals Ollama, LM Studio of llama.cpp. Het is goed om helder te zijn over wat je hier wel en niet kunt, want het wordt breed verkeerd begrepen:
- Een kaal lokaal model heeft geen internettoegang. Het antwoordt alleen uit zijn bevroren trainingsdata, dus je kunt het niet in real time beïnvloeden. Je pagina bereikt het alleen als hij in de trainingsset van het open-gewichtenmodel zat - bepaald op het moment van de cutoff, en buiten jouw invloed.
- De uitzondering is een RAG- of webzoektool die op het lokale model is aangesloten. Dan haalt het live pagina's op, en helpen je schone HTML, gestructureerde data en op zichzelf staande passages (sectie 2.4) precies zoals bij elke retrieval-engine.
Dus de regel geldt over het hele landschap: je optimaliseert voor de retrieval-laag die een model voedt, nooit voor het model zelf. Doe dat goed en je bent klaar voor welke assistent een bezoeker ook gebruikt.
Naar boven6. Gestructureerde data en schema voor AI
6.1 Waarom schema belangrijker is voor AI
Gestructureerde data (meestal JSON-LD met de schema.org-woordenschat) beschrijft je pagina in een vorm die een machine zonder gokken leest: dit is een Article, hier is de auteur, dit is een vraag en dat is het antwoord. Voor AI-engines haalt dit dubbelzinnigheid weg. In plaats van af te leiden dat een tekstblok een antwoord is, krijgt het model dat expliciet verteld.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Hoe je Joomla optimaliseert voor AI-zoeken",
"datePublished": "2026-06-21",
"dateModified": "2026-06-21",
"author": { "@type": "Person", "name": "Peter Martin" }
}
</script>
6.2 De schematypen die het meest helpen
| Type | Waarvoor je het gebruikt |
|---|---|
Article / BlogPosting |
Elke contentpagina, met auteur en datums. |
FAQPage |
Een lijst met vragen en directe antwoorden. |
HowTo |
Stapsgewijze instructies. |
BreadcrumbList |
Het navigatiespoor, zodat de AI de sitestructuur ziet. |
Organization / Person |
Wie de site publiceert en wie de pagina schreef. |
WebSite |
De site als geheel, met naam en zoekactie. |
Product / SoftwareApplication |
Een product, extensie of app, met versie en prijs. |
Event |
Een gedateerd evenement, met begintijd en locatie. |
6.3 Joomla-core zendt dit niet uit
Wees helder over een beperking: Joomla-core geeft zelf geen JSON-LD of Open Graph uit. Net als bij klassieke SEO krijg je gestructureerde data uit een van drie bronnen:
- Je template, als het schema bouwt uit het actieve artikel.
- Een plugin of component speciaal voor gestructureerde data.
- Een kleine eigen plugin die
onBeforeCompileHeadaanhaakt en de JSON-LD toevoegt vanuit het huidige document (sectie 11).
Omdat schema geen core is, controleer het. Test elk type met Google's Rich Results Test en validator.schema.org voordat je erop vertrouwt, en zorg dat elk blok één keer voorkomt.
6.4 Custom Fields vormen een overzichtelijke bron voor het schema
Joomla's Aangepaste Velden zetten gestructureerde inhoud om in gestructureerde gegevens zonder dat er handmatig JSON hoeft te worden geschreven
Voeg velden toe zoals FAQ-vraag, FAQ-antwoord, Stap of Beoordeling aan een artikeltype. Een template-override of plugin leest die waarden dan en geeft bijpassend FAQPage- of HowTo-schema uit. De redacteur vult een gewoon formulierveld; de pagina krijgt precieze, machineleesbare opmaak die accuraat blijft als de content verandert. Dit is de best onderhoudbare manier om AI-engines vanuit Joomla te voeden.
De truc is om elk veld één keer aan een schema-eigenschap te koppelen en de plugin de rest te laten doen. Voor een software- of productartikel kan de koppeling zo zijn:
| Joomla Custom Field | Schema-eigenschap |
|---|---|
| Product Name | name |
| Version | softwareVersion |
| Release Date | datePublished |
| Price | offers.price |
| Author | author |
Definieer de koppeling één keer en hij schaalt naar elk artikel van dat type, zodat een site met honderden producten consistent, accuraat schema uitgeeft zonder dat iemand JSON met de hand bewerkt.
Naar boven7. Contentstructuur voor citeerbaarheid
7.1 Laat elke sectie op zichzelf staan
Een AI-engine citeert zelden een heel artikel. Het haalt de ene passage eruit die de vraag beantwoordt. Schrijf dus elke sectie alsof hij los gelezen kan worden. Vermijd "zoals we hierboven zagen" of "het volgende punt" - zinnen die alleen op hun plek kloppen. Benoem het onderwerp binnen de passage zodat het extractie overleeft.
7.2 De bouwstenen waar AI van houdt
| Bouwsteen | Waarom de AI het waardeert |
|---|---|
| Korte antwoordalinea | Valt zo in een antwoordblok. |
| Opsommingslijst | Al opgedeeld in losse punten. |
| Kleine vergelijkingstabel | Gestructureerde rijen die de engine als feiten leest. |
| Genummerde stappen | Past netjes op een "hoe doe ik"-antwoord. |
| Definitiezin | "X is ..." geeft het model een schoon feit. |
Elk van deze is gewone HTML die je in de Joomla-artikeleditor kunt schrijven. Je hebt geen extensie nodig om citeerbaar te zijn - je hebt discipline nodig in hoe je de tekst structureert.
7.3 Een citeerbaar artikelskelet
h1 De vraag of het onderwerp (een per pagina)
p Direct antwoord in de eerste twee zinnen
h2 Een subvraag, geformuleerd zoals mensen hem stellen
p Op zichzelf staand antwoord
ul De kernpunten als lijst
h2 Nog een subvraag
table Een kleine vergelijking die de AI als feiten leest
h2 FAQ
korte vraag-en-antwoordparen + FAQPage-schema
Dit is hetzelfde skelet dat deze Focus On-artikelen gebruiken. Het bedient menselijke lezers en AI-engines tegelijk, en dat is het hele punt: je schrijft één keer en beide doelgroepen winnen.
Naar boven8. AI-crawlers beheren
8.1 De robots.txt-beslissing
Joomla levert een robots.txt.dist-bestand in de site-root; hernoem een kopie naar robots.txt om het te gebruiken. Daar bepaal je welke AI-bots mogen crawlen. Om AI-engines toe te laten (de gebruikelijke keuze als je citaten wilt), blokkeer je ze simpelweg niet. Om een specifieke bot te blokkeren, voeg je een regel toe op user-agent:
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /administrator/
Twee belangrijke waarheden. Ten eerste: het blokkeren van GPTBot stopt trainingscrawls, maar niet per se een live ChatGPT-User-ophaling - de bots zijn apart, dus blokkeer de exacte agent die je bedoelt. Ten tweede: robots.txt is vrijwillig; nette bots gehoorzamen het, maar het is een verzoek, geen muur.
8.2 De afweging
Het blokkeren van AI-crawlers beschermt je content tegen training, maar haalt je ook uit de antwoorden die die engines geven. Voor de meeste Joomla-sites die publiceren om gevonden te worden - een bedrijf, een dienstverlener, een uitgever - weegt de waarde van geciteerd worden zwaarder dan de kosten van gelezen worden. Blokkeer alleen als je een duidelijke reden hebt, zoals betaalde of privé-content.
8.3 Help de vindbaarheid met een sitemap
Een crawler toelaten is niet hetzelfde als hem helpen elke pagina te vinden. Een XML-sitemap somt je URL's op zodat zoek- en AI-crawlers nieuwe content snel ontdekken in plaats van op links te leunen. Joomla-core genereert er geen; je voegt er een toe met een bekende extensie zoals OSMap of JSitemap, die artikelen, categorieën en tagpagina's dekt. Verwijs ernaar onderaan robots.txt en stuur hem naar Google Search Console en Bing Webmaster Tools:
Sitemap: https://petermartin.nl/nl/sitemap-xml
Snellere vindbaarheid betekent dat je nieuwste antwoorden de index - en de retrieval-pool - sneller bereiken.
8.4 llms.txt: Een opkomend idee
Een nieuwer voorstel, llms.txt, is een Markdown-bestand in je site-root dat AI-engines naar je belangrijkste, schone content wijst. Het is nog geen officiële standaard en de grote engines respecteren het niet allemaal, dus behandel het als optioneel en goedkoop in plaats van essentieel. Als je er een toevoegt, houd het simpel:
# Peter Martin - Joomla-specialist
> Joomla-support, -onderhoud en -ontwikkeling.
## Focus On-artikelen
- [Joomla SEO](https://petermartin.nl/nl/focus-op/joomla/seo): hoe Joomla SEO in core afhandelt
- [AI-zoeken](https://petermartin.nl/nl/focus-op/joomla/geo-aeo-en-aio-optimalisatie): GEO, AEO en AIO voor Joomla
Besteed je energie eerst aan schone HTML en schema; llms.txt is een kleine extra, geen vervanging.
Naar boven9. E-E-A-T en vertrouwenssignalen voor AI
9.1 Waarom vertrouwen de bronvermelding bepaalt
Een AI-engine citeert geen pagina die het niet vertrouwt, want een fout antwoord straalt af op de engine. Google's E-E-A-T-raamwerk - Experience, Expertise, Authoritativeness, Trustworthiness (ervaring, expertise, gezag, betrouwbaarheid) - beschrijft de signalen die deze systemen wegen. Voor AI-zoeken bepalen dezelfde signalen of je een geciteerde bron wordt of wordt overgeslagen.
9.2 Vertrouwen opbouwen met Joomla-core
Joomla geeft je de bouwstenen zonder extensie:
- Echte auteurspagina's. Gebruik de Contact-component (
com_contact) en koppel een contact aan een gebruiker, zodat elk artikel een echte auteur toont met bio, foto en kwalificaties. - Vertrouwenspagina's. Een heldere Over-, Contact-, Privacy- en Voorwaardenpagina. Gewone Joomla-artikelen, maar AI-engines en mensen zoeken er allebei naar.
- Versheid. Toon
publish_up- enmodified-datums zodat de content onderhouden oogt. - Bewijs van ervaring. Echte schermafbeeldingen, gemeten resultaten en casestudy's. Content die uitlegt hoe iets zich echt gedraagt, is zelf een ervaringssignaal.
9.3 Vertrouwen is ook technisch
Een deel van vertrouwen is de staat van de site zelf. Een site die data lekt of oude code draait, oogt onbetrouwbaar voor zowel crawlers als kwaliteitssystemen:
- Lever alles via HTTPS.
- Stel moderne beveiligingsheaders in met de core HTTP Headers-plugin (zie het aparte Focus On-artikel over HTTP Headers).
- Houd Joomla en elke extensie up-to-date, en bescherm beheerderslogins met multifactorauthenticatie.
10. Instellen in Joomla
10.1 Waar het werk gebeurt
Bijna alles in dit artikel verwijst naar een plek in Joomla die je al hebt. Deze tabel koppelt het concept aan het scherm:
| Doel | Waar in Joomla |
|---|---|
| Vraagkoppen + antwoorden | De artikeltekst-editor. |
| FAQ / HowTo-structuur | Componenten → Velden (Custom Fields) op een artikeltype. |
| Auteur / entiteit | Componenten → Contacten, gekoppeld aan een gebruiker. |
| Datums tonen | Artikelopties: toon datum Gemaakt en Gewijzigd. |
| Crawlerbeheer | robots.txt in de site-root. |
| Schema / Open Graph | Template, plugin of een eigen onBeforeCompileHead-plugin. |
| Snelheid voor retrieval | Globale configuratie-cache + Page Cache-plugin. |
10.2 Custom Fields, stap voor stap
Om een herbruikbare FAQ te maken die schema kan voeden, bouw je hem uit velden in plaats van hem in de tekst te typen:
1. Componenten → Velden → Nieuw → type "Tekst" of "Editor"
2. Maak gekoppelde velden, bv. "FAQ-vraag 1" en "FAQ-antwoord 1"
3. Wijs ze toe aan het artikeltype dat je voor handleidingen gebruikt
4. Vul ze per artikel in op het tabblad Velden van de editor
5. Een template-override of plugin leest ze en geeft FAQPage-schema uit
De opbrengst: de vraag en het antwoord leven als gestructureerde data, niet als losse tekst, zodat zowel de zichtbare FAQ als de JSON-LD automatisch synchroon blijven.
10.3 Snelheid is onderdeel van AIO
Live-retrieval-bots en Google geven allebei de voorkeur aan snelle pagina's. De Joomla-hendels zijn dezelfde als voor algemene prestaties: zet Caching en de Systeem - Page Cache-plugin aan, schakel Gzip of Brotli op serverniveau in, lever afbeeldingen op de juiste maat in WebP of AVIF, gebruik een lichte template en blijf op een actuele PHP-versie. Een pagina die time-out geeft, is een pagina die nooit geciteerd wordt.
Naar boven11. Onder de motorkap (developer view)
11.1 Injecteer schema met een plugin
De schone, template-onafhankelijke manier om JSON-LD over een Joomla-site toe te voegen is een kleine systeemplugin die de head-compile-event aanhaakt. Het leest het huidige document en schrijft een scriptblok in de head:
use Joomla\CMS\Factory;
public function onBeforeCompileHead(): void
{
$app = Factory::getApplication();
if (!$app->isClient('site')) {
return;
}
$doc = $app->getDocument();
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => $doc->getTitle(),
'datePublished' => '2026-06-21',
'author' => ['@type' => 'Person', 'name' => 'Peter Martin'],
];
$doc->addCustomTag(
'<script type="application/ld+json">'
. json_encode($schema, JSON_UNESCAPED_SLASHES)
. '</script>'
);
}
Door onBeforeCompileHead aan te haken houd je de opmaak buiten de template, zodat hij een templatewissel overleeft en site-breed vanuit één plek werkt.
11.2 Lees de echte artikeldata
Om accuraat schema te bouwen wil je het live artikel, geen gokwerk. In een contentweergave kun je het actieve artikel en zijn velden ophalen via de moderne MVC-factory:
$app = Factory::getApplication();
$input = $app->getInput();
$id = (int) $input->getInt('id');
$article = $app->bootComponent('com_content')
->getMVCFactory()
->createModel('Article', 'Site', ['ignore_request' => true])
->getItem($id);
// Custom Fields voor dit artikel (bv. FAQ-paren):
$fields = \Joomla\Component\Fields\Administrator\Helper\FieldsHelper::getFields(
'com_content.article', $article, true
);
Uit $article krijg je title, introtext, publish_up, modified en metadesc; uit $fields krijg je je FAQ- of HowTo-waarden. Voer die in de schema-array zodat de JSON-LD altijd overeenkomt met wat op de pagina staat.
11.3 De metatags komen nog steeds uit het Document
Open Graph en de klassieke metatags rijden op hetzelfde Document-object dat klassieke SEO gebruikt:
$doc->setMetaData('og:title', $doc->getTitle(), 'property');
$doc->setMetaData('og:type', 'article', 'property');
$doc->setMetaData('description', $article->metadesc);
AI-engines en sociale platforms lezen deze allebei, dus één plugin kan Open Graph, meta-omschrijving en JSON-LD samen instellen vanuit het live artikel.
11.4 Waar de data leeft
Elk AI-leesbaar signaal in dit artikel komt uiteindelijk uit een Joomla-databasetabel. Ze kennen helpt bij het bouwen van schema, het exporteren van content, of het debuggen van wat een engine werkelijk ontvangt:
| Tabel | Bevat | Nuttig voor AI |
|---|---|---|
#__content |
Artikelen: title, introtext, fulltext, metadesc, publish_up, modified. |
De tekst en de versheidsdatums waar modellen de voorkeur aan geven. |
#__categories |
De categorieboom. | Een logische hiërarchie die de onderwerpstructuur aangeeft. |
#__tags |
Tagdefinities. | Je entiteitslaag (sectie 4.4). |
#__fields |
Definities van Custom Fields. | De vorm van je gestructureerde data. |
#__fields_values |
De feitelijke veldwaarden per artikel. | De schone feiten die FAQ-, HowTo- en Product-schema voeden. |
Het waardevolste paar voor AI-werk is #__fields en #__fields_values: ze houden je feiten als losse, opvraagbare waarden in plaats van tekst verstopt in #__content, en dat is precies de vorm die een schemagenerator of exportpijplijn wil.
12. Headless en de Web Services-API
12.1 Wanneer Joomla de back-end is
Als je Joomla headless draait - een aparte React-, Vue- of statische front-end die content ophaalt via de Web Services-API - wordt de AI-leesbare opmaak het werk van de front-end. Joomla levert nog steeds de data:
curl -H "X-Joomla-Token: <token>" \
https://site.tld/api/index.php/v1/content/articles/42
De JSON bevat title, introtext, metadesc, publish_up, modified en de alias - alles wat nodig is om de head en het schema aan de andere kant opnieuw op te bouwen.
12.2 Render echte HTML voor de bots
AI-crawlers lezen, net als zoekcrawlers, HTML en draaien weinig JavaScript. Een headless front-end moet daarom server-side renderen (SSR) of statische pagina's genereren, zodat de bot afgewerkte content en tags ziet. Een lege schil die zich pas in de browser vult, is voor AI-engines vrijwel onzichtbaar. De regel: elk AEO- en GEO-signaal - de antwoordalinea, de FAQ, de JSON-LD - moet in de server-side gerenderde HTML staan, en niet pas na hydratie verschijnen.
Naar boven13. AI-zichtbaarheid meten
13.1 Je kunt niet beheren wat je niet ziet
AI-zoeken geeft je minder feedback dan klassiek zoeken, maar je staat niet blind. Combineer een paar bronnen:
- Google Search Console. Het begint AI Overview-vertoningen op te nemen in de zoekprestaties, en het blijft de waarheidsbron voor welke pagina's Google sowieso kan indexeren.
- Serverlog-analyse. Filter je access-logs op
GPTBot,PerplexityBot,ClaudeBoten consorten om te zien welke AI-engines je crawlen en hoe vaak. - Handmatige prompts. Stel de engines je doelvragen en kijk of je geciteerd wordt. Grof, maar direct.
- Verwijzingsverkeer. Houd je analytics in de gaten op bezoeken van
chatgpt.com,perplexity.aien dergelijke - bewijs dat een AI een echte persoon stuurde.
13.2 Lees de logs in de Joomla-omgeving
Op de Docker- of hostingstack waarop Joomla draait, is het webserver-access-log de plek waar AI-bots als eerste opduiken. Een simpel filter vertelt je wie je leest:
grep -E "GPTBot|PerplexityBot|ClaudeBot|OAI-SearchBot" access.log \
| awk '{print $1, $12}' | sort | uniq -c | sort -rn
Als een bot die je wilt nooit verschijnt, controleer dan of robots.txt hem niet blokkeert en of de pagina's die hij zou willen snel en bereikbaar zijn. Als een bot die je niet wilt zwaar crawlt, is dat je teken om een blokkade toe te voegen (sectie 8).
13.3 Volg AI-verwijzingen in analytics
Als een AI-antwoord een bronvermelding draagt en een echte persoon erop klikt, verschijnt dat bezoek in je analytics als een verwijzing. In Google Analytics 4 kun je dit verkeer isoleren door de sessiebron te filteren op de AI-hostnamen:
chatgpt.com
perplexity.ai
gemini.google.com
copilot.microsoft.com
Bouw een segment of een verkenning in Rapporten → Acquisitie → Verkeersacquisitie die op die bronnen filtert, en vergelijk sessies, betrokkenheidspercentage en conversies met gewoon organisch zoeken. Dit vertelt je niet alleen dat AI-engines je crawlen, maar dat ze bezoekers sturen die iets doen - het duidelijkste bewijs dat het werk loont.
14. Veelgemaakte fouten en valkuilen
14.1 AI najagen en SEO negeren
Symptoom: je voegt schema en een llms.txt toe maar verschijnt nog steeds nergens in AI Overviews.
Oplossing: AI Overviews putten uit pagina's die al ranken. Repareer eerst de SEO-basis - indexeerbare, snelle, goed gelinkte pagina's - en leg daar AEO en GEO bovenop.
14.2 Het antwoord ligt begraven
Symptoom: je pagina behandelt het onderwerp maar wordt nooit geciteerd.
Oplossing: verplaats het directe antwoord naar de eerste twee zinnen onder elke kop. Engines pakken de heldere passage, niet de trage aanloop (sectie 3.1).
14.3 Content verstopt achter JavaScript
Symptoom: de tekst die je geciteerd wilt zien laadt via een slider, tab of "meer laden" en de AI ziet hem nooit.
Oplossing: zet citeerbare content in server-side gerenderde HTML. Joomla doet dit standaard; laat een scriptzware template het niet verbergen.
14.4 Per ongeluk de bots blokkeren
Symptoom: geen enkele AI-engine crawlt je, terwijl je dat wel wilt.
Oplossing: controleer robots.txt op een te brede Disallow en bevestig dat de AI-user-agents niet geblokkeerd zijn. Onthoud dat een noindex van een ontwikkelsite die bij livegang aan bleef staan, klassiek én AI-zoeken blokkeert.
14.5 Schema dat niet bij de pagina past
Symptoom: je markeert een FAQPage, maar de zichtbare pagina heeft geen FAQ, of de getallen verschillen.
Oplossing: schema moet beschrijven wat een bezoeker echt ziet. Genereer het uit de echte content (Custom Fields zijn ideaal) en valideer met de Rich Results Test.
14.6 Dunne, versnipperde content
Symptoom: veel korte pagina's, geen enkele gezaghebbend over iets.
Oplossing: voeg samen tot diepere pijlerartikelen met gelinkte detailpagina's. Diepgang en consistentie voeden de entiteitssignalen die GEO beloont (sectie 4).
14.7 Inconsistente merk- en auteursfeiten
Symptoom: je naam, bedrijf of adres staat anders op verschillende pagina's en profielen, en AI-engines halen je door elkaar.
Oplossing: vermeld overal dezelfde feiten, veranker ze met één Organization- of Person-schemablok, en koppel een echt Contact aan elke auteur.
15. Beste praktijken
Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:
- Bouw AI-optimalisatie boven op solide SEO, nooit in plaats daarvan.
- Beantwoord de vraag in de eerste een of twee zinnen onder elke kop.
- Formuleer koppen als de vragen die mensen echt stellen.
- Voeg een FAQ-blok toe en voorzie het van
FAQPage-schema. - Houd elke sectie op zichzelf staand zodat hij los geciteerd kan worden.
- Zet citeerbare content in server-side gerenderde HTML, niet in JavaScript-widgets.
- Voed schema uit Custom Fields zodat de opmaak bij de content past.
- Toon je structuur - een XML-sitemap, entiteitstags en schone categorieën - zodat engines je pagina's ontdekken en verbinden.
- Noem concrete feiten, cijfers en bronnen - die worden het meest geciteerd.
- Toon echt auteurschap met de Contacten-component en consistente entiteitsfeiten.
- Bepaal je AI-crawlerbeleid in
robots.txtbewust, niet per ongeluk. - Houd de site snel, veilig en up-to-date zodat retrieval-bots hem kunnen lezen.
- Meet met Search Console, serverlogs en directe prompts.
16. In het kort
AEO Antwoord eerst, 1-2 zinnen onder elke kop
GEO Noem feiten/cijfers; diepe, consistente pagina's op een onderwerp
AIO Win een eerste-pagina-ranking, dan de AI Overview-passage
RAG zoeken → ophalen → genereren; win het opgehaalde stuk
KOPPEN Formuleer h2/h3 als de vragen die mensen stellen
FAQ Vraag-en-antwoordblok + FAQPage-schema aan het eind
SCHEMA Article / FAQPage / HowTo / BreadcrumbList /
Organization / Person / Product / Event
SCHEMABRON niet core: template, plugin of Custom Fields
CUSTOM FIELDS Componenten → Velden → voed FAQ/HowTo-schema
TAGS gebruik als entiteiten, niet als losse labels
AUTEUR/ENT. Contacten-component + consistente Person/Organization
SERVER-HTML citeerbare tekst moet server-side zijn, niet alleen JS
CRAWLERS GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot,
PerplexityBot, Google-Extended, Bingbot, CCBot
ROBOTS.TXT toelaten = niet blokkeren; blokkeren = Disallow per user-agent
SITEMAP XML-sitemap (OSMap/JSitemap) versnelt AI-vindbaarheid
LLMS.TXT opkomend, optioneel; schone HTML + schema eerst
SNELHEID Page Cache + Gzip/Brotli + WebP/AVIF + lichte template
VERTROUWEN HTTPS + beveiligingsheaders + updates + echt auteurschap
ONTWIKKELAAR onBeforeCompileHead-plugin voegt JSON-LD site-breed toe
DATA bootComponent('com_content') → getMVCFactory()
DB-TABELLEN #__content, #__fields_values, #__categories, #__tags
HEADLESS API geeft velden; front-end moet HTML + schema renderen
METEN Search Console + access-log-grep + handmatige prompts
Naar boven17. Samenvatting
Een Joomla-site optimaliseren voor GEO, AEO en AIO gaat minder over nieuwe trucs en meer over de fundamenten zo goed doen dat een machine je kan lezen, vertrouwen en citeren. Met Joomla-core en een beetje discipline kun je:
- Helder antwoorden door het directe antwoord eerst te geven, onder vraaggevormde koppen.
- Structureren voor extractie met lijsten, kleine tabellen en op zichzelf staande passages.
- Betekenis markeren met FAQ-, HowTo- en Article-schema, gevoed uit Custom Fields.
- Een entiteit opbouwen met consistente merk- en auteursfeiten en de Contacten-component.
- Leesbaar blijven voor bots door echte HTML te leveren en de site snel en veilig te houden.
- Toegang bewust regelen via
robots.txt, en de engines toelaten die je willen citeren. - Meten met Search Console, serverlogs en je eigen testprompts.
De rode draad is dat goede SEO en goede AI-optimalisatie hetzelfde vak zijn, twee keer bekeken. Een heldere, snelle, betrouwbare Joomla-pagina die een echte vraag goed beantwoordt, is precies wat zowel een zoekmachine als een generatieve engine beloont.
Als je verkeer daalt terwijl AI-antwoorden stijgen, of je niet zeker weet of de engines je site sowieso kunnen lezen, loont het om deze fundamenten te controleren voordat je de volgende shortcut najaagt. De oplossing is vaak een begraven antwoord, content verstopt achter JavaScript, of schema dat niet bij de pagina past - kleine dingen in Joomla die bepalen of de machines jou citeren of je concurrent.
Naar boven

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.
Veelgestelde vragen
SEO blijft de basis van online zichtbaarheid en wordt niet vervangen door GEO, AEO of AIO. Integendeel, deze nieuwere benaderingen bouwen voort op traditionele SEO-principes. Zoekmachines en AI-systemen zijn nog steeds afhankelijk van crawlbare websites, hoogwaardige content, autoriteit en vertrouwenssignalen. Het verschil is dat moderne optimalisatie zich ook richt op de manier waarop content wordt geïnterpreteerd, samengevat en geciteerd door AI-aangedreven zoek- en antwoordmachines. Een sterke SEO-basis is daarom essentieel voor succes in GEO, AEO en AIO.
Begin met het verbeteren van je bestaande content in plaats van volledig nieuwe content te maken. Richt je op het beantwoorden van echte vragen van gebruikers met duidelijke, goed gestructureerde content. Gebruik logische kopjes, beknopte alinea’s, opsommingstekens en consistente terminologie. Versterk interne links, implementeer waar nodig gestructureerde data en zorg ervoor dat je technische SEO in orde is. AI-systemen zullen eerder verwijzen naar content die gemakkelijk te begrijpen, goed georganiseerd en betrouwbaar is, en die direct inspeelt op de intentie van de gebruiker.
Schema-markup helpt zoekmachines en AI-systemen de betekenis en structuur van je content te begrijpen. Hoewel schema op zichzelf geen garantie biedt voor zichtbaarheid in door AI gegenereerde antwoorden, biedt het wel waardevolle context over onderwerpen, entiteiten, producten, organisaties en veelgestelde vragen. Gestructureerde data vormt daarom een belangrijk ondersteunend element voor GEO-, AEO- en AIO-strategieën, vooral in combinatie met hoogwaardige content en sterke technische SEO.
Er bestaat momenteel geen algemeen geldend rapport over de zichtbaarheid van AI. De beste aanpak is om relevante vragen te testen op platforms zoals ChatGPT, Google AI Overviews, Gemini en Perplexity, en tegelijkertijd het verwijzingsverkeer en de merkvermeldingen vanuit AI-gestuurde bronnen in de gaten te houden. De zichtbaarheid in AI-systemen wordt vaak gemeten aan de hand van citaten, vermeldingen en de kwaliteit van het verkeer, in plaats van aan de hand van traditionele ranglijsten.
Inhoud die vragen duidelijk beantwoordt, deskundigheid laat zien en logisch is gestructureerd, presteert het beste. AI-systemen geven de voorkeur aan inhoud die gemakkelijk te interpreteren en te citeren is, zoals beknopte uitleg, vraag-en-antwoordrubrieken, lijstjes, voorbeelden, overzichtelijke kopjes en originele inzichten op basis van praktijkervaring.
Ja. Veel AI-platforms kunnen openbare webpagina’s raadplegen en analyseren, hetzij via hun eigen crawlers, hetzij via zoekintegraties. Om de kans te vergroten dat er naar uw inhoud wordt verwezen, moeten uw pagina’s openbaar toegankelijk en technisch in orde zijn, en duidelijke, betrouwbare informatie bevatten die AI-systemen kunnen begrijpen en citeren. De basisprincipes van SEO blijven essentieel voor dit proces.


