Schema markup in WordPress: zo krijg je rich results (2026)
Schema markup in WordPress is het verschil tussen een kaal blauw linkje en een resultaat met sterren, een prijs met voorraadstatus of een leesbaar kruimelpad. En sinds AI-assistenten live meelezen op het web, bepaalt diezelfde code ook of jouw pagina als bron wordt geciteerd.
Je zoekt op je telefoon naar het inbouwen van een kattenluik, en tussen de tien resultaten staat er eentje met beoordelingssterren onder de titel. Daaronder een webshop met prijs en voorraadstatus, en een derde resultaat met een leesbaar kruimelpad in plaats van een kale URL. Dat is geen toeval en je kunt er ook niet voor betalen. Op die pagina's staat schema markup: code die zoekmachines precies vertelt wat elk stuk inhoud voorstelt, in plaats van ze te laten raden. In WordPress voeg je die code makkelijker toe dan ooit, en precies daardoor gaat het ook vaker mis. Dit artikel loopt langs wat gestructureerde data zijn, welke types echt iets opleveren, hoe je ze inbouwt zonder je site te beschadigen en hoe je controleert of het werkt.
Wat gestructureerde data zijn en waarom JSON-LD wint van microdata
Gestructureerde data zijn een gedeelde woordenschat, vastgelegd door schema.org, waarmee je de inhoud van een pagina beschrijft op een manier die een crawler niet hoeft te interpreteren. In plaats van dat Google moet afleiden of een blok tekst nu een veelgestelde vraag is of de publicatiedatum van een artikel, zeg je het gewoon: dit is een FAQPage, dit is een Article met deze datePublished. Voor je bezoekers verandert er niets. Je levert alleen een tweede versie van dezelfde inhoud mee, in machinetaal.
Technisch kan dat op drie manieren, maar in de praktijk telt er nog maar één. Microdata plak je als attributen zoals itemscope en itemprop direct in je zichtbare HTML. Dat betekent dat elke template van je thema de juiste attributen op de juiste plek moet dragen, en dat iemand die het ontwerp aanpast zonder het te weten je schema kan slopen. RDFa is een variant met precies hetzelfde probleem. JSON-LD daarentegen is een op zichzelf staand codeblok, meestal in de <head>, dat je zichtbare HTML met rust laat. Je kunt het toevoegen, aanpassen of weghalen zonder je layout aan te raken, en bij een themawissel sneuvelt het niet ongemerkt. Google beveelt JSON-LD al jaren expliciet aan, en het is het formaat dat moderne thema's en SEO-plugins standaard gebruiken. Begin je vanaf nul, dan is er geen enkele reden om iets anders te kiezen.
Welke schema-types er in WordPress echt toe doen
Schema.org kent honderden types. Op een gewone WordPress-site leveren er maar een handvol iets zichtbaars op in de zoekresultaten. Deze vijf kun je maar beter door en door kennen:
- Article en BlogPosting: markeren een artikel of blogbericht, met kop, auteur, publicatiedatum en datum van wijziging. Google gebruikt dat onder meer om de datum correct te tonen in plaats van er zelf naar te gissen. Voor nieuwssites bestaat er met NewsArticle een aparte variant.
- FAQPage: markeert vraag- en antwoordparen, zoals die onderaan dit artikel. Let wel: sinds 2023 toont Google die uitklapbare vragen alleen nog bij overheids- en gezondheidssites, dus reken er op een gewone WordPress-site niet meer op. Als machineleesbare koppeling van vraag en antwoord blijft het type nuttig, vooral voor AI-assistenten.
- HowTo: beschrijft een stappenplan, desgewenst met een afbeelding per stap en een totale duur in ISO 8601-notatie, bijvoorbeeld
PT45Mvoor 45 minuten. Google heeft de visuele weergave hiervan in 2023 uit de zoekresultaten gehaald, maar als leesbare structuur voor AI-assistenten blijft het waardevol. - BreadcrumbList: geeft de navigatieroute weer, dus Start, Blog, dit artikel. Google toont dat kruimelpad vaak in plaats van een kale URL, een klein detail dat je resultaat meteen verzorgder laat ogen.
- Product: voor webshops onmisbaar, met prijs, beschikbaarheid en beoordelingen. Dit type werkt het meest direct door in je doorklikratio, omdat sterren en prijs pal onder de titel van je resultaat komen te staan.
Wat het oplevert in de zoekresultaten, en waarom AI er dol op is
Het zichtbare effect heet een rich result, in het Nederlands ook wel een verrijkt zoekresultaat: sterren, een prijs met voorraadstatus, een leesbaar kruimelpad. Het is geen rankingfactor, daar is Google expliciet over. Wel neem je meer ruimte in op de resultatenpagina, en bij een gelijke positie levert dat doorgaans meer klikken op. Zo werkt schema als indirecte hefboom via je doorklikratio, niet als magische stijging in de ranglijst.
Welk type in 2026 nog iets zichtbaars oplevert
De kring is kleiner dan de meeste handleidingen op het web beweren. Google heeft in 2023 opgeruimd en twee van de populairste markeringen uit de zoekresultaten gehaald. Waardeloos worden ze daar niet van, ze werken alleen ergens anders: in AI-assistenten, in je eigen llms.txt en overal waar een programma je tekst moet lezen in plaats van bekijken.
| Type | Zichtbaar rich result in 2026 | Waar het nog wel voor deugt |
|---|---|---|
| Article, BlogPosting | Ja, auteur en datum van wijziging bij het resultaat | Levert kop, auteur en datum zonder giswerk aan elk systeem dat meeleest |
| BreadcrumbList | Ja, een leesbaar pad in plaats van een kale URL | Laat zien waar de pagina in je hiërarchie staat, ook voor crawlers die je menu niet snappen |
| Product met Offer | Ja, prijs, beschikbaarheid en beoordelingssterren | Zet prijs en voorraad als gegeven neer, niet alleen ergens in de lopende tekst |
| Review, AggregateRating | Ja, maar alleen bij het beoordeelde object; beoordelingen die een bedrijf over zichzelf plaatst toont Google niet | Maakt van een bewering in je tekst een controleerbaar getal |
| FAQPage | Nee, sinds augustus 2023 alleen nog bij een handvol overheids- en gezondheidssites | Scheidt vraag en antwoord ondubbelzinnig, precies de vorm die AI-assistenten citeren |
| HowTo | Nee, in 2023 door Google uitgezet | Geeft een stappenplan een machineleesbare volgorde, inclusief duur |
Het deel dat veel minder mensen op het netvlies hebben, is het effect op AI-zoekmachines. ChatGPT, Perplexity, Claude en Gemini lezen jouw site niet zoals een mens dat doet. Ze halen de HTML op en moeten in een fractie van een seconde bepalen wat feit is en wat navigatietekst. Vinden ze dan schone gestructureerde data, een Article met duidelijke auteur en datum, een FAQPage waarin vraag en antwoord al aan elkaar gekoppeld zijn, dan hoeven ze een stuk minder te interpreteren dan bij losse tekst uit een zware pagebuilder. Dat is de kern van wat in de branche AEO heet, Answer Engine Optimization: je concurreert niet alleen om een plek tussen tien blauwe links, je concurreert om de bron te zijn die een assistent letterlijk citeert. Het is niet de enige factor, maar wel een van de goedkoopste om op orde te brengen.
Naast het schema: llms.txt en antwoordblokken
JSON-LD beantwoordt de vraag wat een bepaalde passage betekent. Twee bouwstenen ernaast beantwoorden de vraag welke pagina überhaupt van belang is, en dat is de vraag die een AI-assistent als eerste stelt.
llms.txt is een eenvoudig Markdown-bestand in de hoofdmap van je domein, bereikbaar via jouw-domein.nl/llms.txt. Het somt de inhoud op die je voor AI-systemen voorrang geeft, met titel, link en een halve zin over waar het goed voor is. In plaats van zich door navigatie, cookiemelding en voettekst te worstelen leest een assistent een samengestelde kaart; de uitgebreidere versie heet llms-full.txt. Wat er eerlijk bij hoort: het is een voorstel, geen vastgestelde standaard, en geen enkele zoekmachine garandeert dat ze het bestand leest. Daar staat weinig werk tegenover, want meer dan dit staat er niet in:
# Voorbeeldsite
> WordPress-onderhoud uit Hamburg, gespecialiseerd in snelle blokthema's.
## Kern
- [Diensten](/diensten/): wat we bouwen en wat niet
- [Prijzen](/prijzen/): pakketten met een vaste prijs
## Optioneel
- [llms-full.txt](/llms-full.txt)
Antwoordblokken zijn de tweede bouwsteen: een samenvatting bovenaan, een definitie in één zin, vraag-en-antwoordparen, genummerde stappen. Ze staan er voor je lezers en leveren en passant precies de tekstvorm op die een AI-systeem kan overnemen zonder eerst een alinea te verbouwen. Zet je ze in de editor en laat je de bijbehorende markering automatisch meeschrijven, dan verdwijnt het dubbele onderhoud waar handgebouwd schema in de praktijk op stukloopt. Bij ons is dat werk verdeeld zoals de WordPress-directory het eist: het thema Hafen doet de weergave, en de bijbehorende plugin Hafen Core levert de JSON-LD voor artikelen, auteurs, kruimelpaden en de organisatie, plus de llms.txt en de antwoordblokken. De reden is een regel van de directory: functies moeten een themawissel overleven, dus een thema mag alleen over de weergave gaan.
Drie eerlijke manieren om schema markup toe te voegen
Er zijn drie redelijke wegen, en geen ervan is objectief de juiste voor iedereen. Naast elkaar gezet zien de afwegingen er zo uit:
| Weg | Voordelen | Nadelen |
|---|---|---|
| SEO-plugin (Yoast, Rank Math, AIOSEO) | Automatisch voor artikel en auteur, grote gebruikersgroep, nauwelijks instelwerk | Extra plugin met eigen onderhoud, FAQ en HowTo vaak alleen in de betaalde versie, instellingen verspreid over veel schermen |
| Handmatig codeblok | Volledige controle, geen extra plugin nodig, werkt met elk thema | Handwerk bij elke wijziging, één typefout maakt het hele blok ongeldig, het onderhoud blijft aan jou hangen |
| Thema met bijbehorende plugin (Hafen en Hafen Core) | Geen SEO-plugin nodig, het schema blijft vanzelf synchroon met de zichtbare inhoud en overleeft een themawissel, en beide pakketten zijn gratis in de officiële directory's | Twee pakketten in plaats van één, en Hafen is nog jong in plaats van jarenlang beproefd |
Weg A: een SEO-plugin
Yoast SEO, Rank Math en AIOSEO genereren Article en BreadcrumbList meestal automatisch, en bieden blokken of velden voor FAQPage en HowTo. Voor iedereen die geen code wil aanraken is dit de toegankelijkste route: je stelt het één keer in en de plugin houdt het schema bij. De prijs is een extra laag plugin, met eigen onderhoud, eigen updates en soms functies achter een betaalde versie. Draai je toch al een SEO-plugin, dan is dit vrijwel altijd het meest pragmatische beginpunt.
Weg B: een handmatig codeblok
Wie precies weet wat er op elke pagina hoort te staan, plakt een JSON-LD-blok in de editor of zet het via functions.php of een lichte plugin voor codefragmenten in de <head>. Volledige controle, geen afhankelijkheid van een compleet SEO-pakket. Het risico zit in de escaping: ongeldige JSON geeft geen zichtbare foutmelding, Google negeert het blok gewoon stilletjes. Zo ziet een minimaal en geldig FAQPage-blok eruit:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Wat is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD-code die de inhoud van een pagina machineleesbaar uitlegt aan zoekmachines en AI-assistenten."
}
}]
}
</script>
Voor één losse pagina is dat prima met de hand te doen. Zodra je het over tientallen artikelen moet bijhouden, wordt het monnikenwerk met een hoge kans op een vergeten komma. Daarvoor bestaat onze gratis schema markup generator: je vult een formulier in, de tool bouwt de code via JSON.stringify in plaats van via het aan elkaar plakken van tekst, en wat eruit komt is per definitie geldige JSON om te kopiëren.
Weg C: een thema met een bijbehorende plugin
De derde weg is de minst bekende: JSON-LD die rechtstreeks uit je blokken rolt. Schrijf je een blok met veelgestelde vragen in de editor, dan rolt het FAQPage-schema er vanzelf uit, altijd synchroon met wat er op het scherm staat. Die weg bestaat uit twee delen, en de volgorde wordt vaak omgedraaid: het thema doet de weergave, een kleine bijbehorende plugin levert de gestructureerde data. Zo pakken ons thema Hafen en de plugin Hafen Core het aan. Daar komen we verderop op terug.
Maak je JSON-LD in twee minuten
Plak je vragen, je artikel of je stappenplan en krijg kant-en-klare JSON-LD voor FAQPage, HowTo of Article. Correcte escaping gegarandeerd, alles in je browser, zonder account en zonder dat er iets naar ons wordt gestuurd.
Fouten die je beter kunt vermijden
Schema zonder zichtbare inhoud
De duurste fout: een FAQPage voor vragen die nergens op de pagina te lezen zijn, of beoordelingen die geen enkele klant ooit heeft achtergelaten. Google noemt dat gestructureerde spam, en de gevolgen lopen van het verliezen van je rich result tot een handmatige maatregel op het hele domein. De vuistregel is simpel: staat het in je schema, dan moet een bezoeker het ook op de pagina kunnen lezen, in dezelfde bewoordingen of heel dicht daarbij.
Verplichte velden die dat niet meer zijn
Veel oude handleidingen en verouderde plugins vragen nog om velden die Google jaren geleden verplicht stelde en nu alleen aanbeveelt. Of het omgekeerde: ze proppen alles erin wat maar kan, waardoor je JSON-LD onnodig opzwelt. Voor je een sjabloon uit 2021 overtypt, controleer je de actuele eisen in de documentatie van Google zelf. Een ontbrekende publicatiedatum bij Article of een verkeerd genest acceptedAnswer bij FAQPage levert technisch geldige JSON op die Google alsnog niet als rich result accepteert.
Dubbel schema
Een klassieker zodra je een SEO-plugin combineert met een thema dat ook schema genereert, of met een blok dat ooit voor de zekerheid handmatig is toegevoegd: twee Article-blokken die op dezelfde pagina met elkaar concurreren. Google kiest niet altijd het juiste blok en negeert in het slechtste geval allebei de blokken. Kijk dus eerst wat je thema en je plugin al produceren voor je zelf iets toevoegt.
Testen: de Rich Results Test van Google
Voor je iets live zet, controleer je het met het officiële hulpmiddel: de Rich Results Test van Google. Je plakt de URL van de live pagina erin, of de JSON-LD-code rechtstreeks, en je ziet welke types worden herkend, of er fouten of alleen waarschuwingen zijn en welk rich result in aanmerking komt. Een waarschuwing blokkeert niets, een fout wel. Loop ze allebei na voor je het werk als af beschouwt, en herhaal de test na elke wissel van thema of SEO-plugin. Juist bij zo'n wissel sneuvelt het schema vaak stil, zonder dat je er elders op je site iets van merkt. Voor een simpele typefout is een kale JSON-validator overigens sneller.
Eén beperking hoort erbij: voor FAQPage en HowTo laat de test geen voorbeeldweergave meer zien, omdat Google die resultaten heeft uitgezet. Of de markering geldig is zie je er nog steeds, en de Schema Markup Validator beantwoordt die vraag zonder te kijken naar wat Google besluit te tonen: die toetst rechtstreeks aan schema.org.
De aanpak van Hafen: schema uit de plugin, weergave uit het thema
Bij hafenstudios bouwen we Hafen, ons eigen WordPress-thema, juist omdat we het zat waren om schema tegen te komen dat niet meer klopte met de zichtbare inhoud. Het thema doet de weergave. De gratis bijbehorende plugin Hafen Core genereert Article, FAQPage, BreadcrumbList en Organization automatisch uit je blokken: je schrijft een blok met veelgestelde vragen in de editor en de JSON-LD rolt er meteen uit, altijd gelijk aan wat je bezoeker ziet. Geen extra SEO-plugin voor dit onderdeel, geen kopieerwerk, en niet het risico dat een ontwerpwijziging een schema breekt waar al maanden niemand naar kijkt. Die scheiding is geen kuur, het is een regel van de directory: functies moeten een themawissel overleven en horen daarom niet in het thema. Installeer je alleen het thema, dan krijg je geen JSON-LD.
Eerlijk erbij: Hafen staat gratis in de officiële themadirectory van WordPress, versie 1.0.0 verscheen op 4 september 2026 en brengt 38 looks mee waartussen je wisselt zonder iets opnieuw te bouwen. Hafen Core is net zo gratis en staat in de officiële plugindirectory, sinds 4 september 2026 op versie 1.0.1. Wat het niet heeft, zijn jaren draaiuren op andermans servers, en die heeft een gevestigd thema wel. Heb je vandaag een thema met een lange staat van dienst nodig, blijf dan bij je vertrouwde combinatie van thema en SEO-plugin. Wil je de native aanpak zonder kosten uitproberen, dan is het een reële optie, en hoe het thema in elkaar zit lees je in Hafen 1.0: één thema, 38 looks, nul lettertypebestanden. Voor elke andere site kun je intussen prima gestructureerde data maken met onze gratis schema-generator voor WordPress.
Conclusie
Schema markup in WordPress is geen optioneel technisch detail meer. Het is de kortste route om zowel Google als de AI-assistenten je inhoud te laten begrijpen zonder dat ze hoeven te gokken. Begin bij Article, FAQPage en BreadcrumbList, want die geven de meeste opbrengst voor de minste moeite. Kies daarna de weg die bij je technische comfort past, en beschouw niets als klaar voor je het door de officiële test hebt gehaald. Wil je zonder documentatie te lezen meteen schema markup genereren, dan staat de tool klaar, samen met de rest van onze gratis WordPress-tools. Overweeg je sowieso een zware pagebuilder achter je te laten, lees dan onze vergelijking van alternatieven voor Elementor. En houd je plugins actueel, want ook een update van een SEO-plugin kan je schema onderuithalen.
Schema dat nooit uit de pas loopt
Hafen is ons AI-native WordPress-thema, gratis in de officiële directory sinds versie 1.0.0 van 4 september 2026, en het doet de weergave. Article, FAQPage, BreadcrumbList en Organization komen automatisch uit je blokken, met llms.txt en antwoordblokken erbij, uit de al even gratis bijbehorende plugin Hafen Core en zonder extra SEO-plugin voor dit onderdeel. Alle details op de themapagina.
Veelgestelde vragen
Wat is schema markup in WordPress precies?
Schema markup is code, meestal in JSON-LD-formaat, die de inhoud van je pagina expliciet beschrijft voor zoekmachines en AI-assistenten in plaats van ze te laten afleiden uit de zichtbare tekst. In WordPress maakt dat rich results mogelijk, zoals sterren, een prijs of een leesbaar kruimelpad, en het helpt AI-zoekmachines om je pagina nauwkeuriger te citeren.
Heb ik een plugin nodig voor gestructureerde data in WordPress?
Een SEO-plugin is niet verplicht, maar helemaal zonder plugin houd je de JSON-LD met de hand bij. Een SEO-plugin als Yoast of Rank Math is de makkelijkste weg, je kunt JSON-LD ook handmatig in een codeblok zetten, of het thema Hafen combineren met de gratis bijbehorende plugin Hafen Core, die het schema uit je inhoud genereert. Die verdeling is een regel van de WordPress-directory, want functies moeten een themawissel overleven: met alleen het thema komt er geen JSON-LD uit.
JSON-LD of microdata: wat kies ik?
JSON-LD, zonder twijfel, als je opnieuw begint. Het staat als los codeblok naast je zichtbare HTML, Google beveelt het expliciet aan en het is het formaat dat moderne thema's en SEO-plugins gebruiken. Microdata vraagt om attributen in elke afzonderlijke template en sneuvelt makkelijk bij een thema-update.
Kan schema markup mijn website schaden?
Ja, als het schema niet klopt met wat er zichtbaar op de pagina staat. Verzonnen vragen of opgepompte beoordelingen gelden volgens de richtlijnen van Google als gestructureerde spam en kunnen je het rich result kosten of, in ernstige gevallen, een handmatige maatregel opleveren. De regel is simpel: schema beschrijft wat er al te zien is, het vervangt het nooit.
Hoe controleer ik of mijn schema markup werkt?
Met de gratis Rich Results Test van Google. Je plakt de URL of de JSON-LD-code erin en ziet welke types worden herkend, welke fouten of waarschuwingen er zijn en welk rich result in aanmerking komt. Herhaal die test na elke wissel van thema of SEO-plugin, want juist dan sneuvelt schema zonder dat je er verder iets van merkt.