Structured data is extra code op je pagina die zoekmachines helpt om sneller en preciezer te begrijpen wat je content betekent. Denk aan een artikel, product, recept, evenement of vacature. Als je die context goed toevoegt, vergroot je de kans op opvallendere zoekresultaten met extra informatie, zoals prijzen, vragen of kruimelpaden. In deze gids leer je welke markup je nodig hebt, hoe je die implementeert en hoe je fouten voorkomt.
- Je helpt zoekmachines de inhoud van je pagina beter te interpreteren.
- De meest praktische implementatiemethode is meestal JSON-LD.
- De juiste markup kan je zichtbaarheid in rich results vergroten.
- Testen en monitoren zijn net zo belangrijk als implementeren.
- Niet elk schema-type past bij elke pagina; kies altijd op basis van de content.
Wie bezig is met SEO, development of contentoptimalisatie krijgt vroeg of laat te maken met structured data. Toch blijft het in veel teams iets dat “ooit nog moet”. Dat is een gemiste kans. Met relatief kleine technische aanpassingen maak je voor zoekmachines veel duidelijker wat een pagina precies is en welke elementen erop staan.
Zie het als een extra vertaallaag tussen jouw content en zoekmachines. Een bezoeker ziet vaak meteen of een pagina een product, handleiding, recept of vacature is. Voor een crawler is dat minder vanzelfsprekend. Met schema markup leg je die betekenis expliciet vast. Dat kan de kans vergroten op rich results en meer aandacht in de zoekresultaten.
Werk je ook aan de technische basis van je site, combineer dit dan met technische SEO. Structured data werkt het best op pagina’s die snel laden, goed indexeerbaar zijn en logisch intern zijn opgebouwd.
Structured data: kort overzicht

Definitie in één zin
Structured data is gestructureerde code die zoekmachines vertelt wat de inhoud van een pagina precies betekent.
Korte businesscase: rich results, CTR en indexatie
Structured data is geen directe rankingfactor, maar het helpt zoekmachines wel om je pagina beter te begrijpen. Daardoor kun je in aanmerking komen voor rich results en soms ook rich snippets, afhankelijk van het type pagina en hoe Google de markup interpreteert.
Zakelijk is dat interessant omdat verrijkte zoekresultaten vaak meer opvallen dan standaardresultaten. Een hogere zichtbaarheid kan zorgen voor een betere CTR, zelfs zonder positieverbetering. Zeker bij productpagina’s, recepten, artikelen en events zie je dat effect regelmatig terug.
Belangrijke standaarden en terminologie rond structured data
Schema.org — rol en voorbeelden
schema.org is de standaardwoordenlijst die je gebruikt om entiteiten en eigenschappen te beschrijven. Daarin staan typen zoals Article, Product, Recipe, Event en JobPosting. Ook navigatie-elementen zoals Breadcrumbs kun je ermee beschrijven.
Belangrijk om te weten: schema.org is de taal, maar Google bepaalt zelf welke typen en properties het gebruikt om rich results te tonen. Met andere woorden: je kunt technisch geldige markup hebben zonder dat die zichtbaar wordt in de zoekresultaten.
JSON-LD vs RDFa vs Microdata
| Methode | Waar staat de markup? | Voordelen | Nadelen | Aanbevolen gebruik |
|---|---|---|---|---|
| JSON-LD | Los in een scriptblok | Overzichtelijk, schaalbaar, onderhoudsvriendelijk | Kan losraken van zichtbare content als processen slecht zijn ingericht | Meeste websites en CMS’en |
| RDFa | In HTML-attributen | Direct gekoppeld aan content | Complexer in beheer | Specifieke technische implementaties |
| Microdata | In HTML-attributen | Direct in de markup van elementen | Foutgevoeliger en minder prettig schaalbaar | Kleine sites of legacy-templates |
In de praktijk is JSON-LD vrijwel altijd de beste keuze. De code staat los van je visuele HTML, is makkelijker te genereren vanuit templates en eenvoudiger te valideren.
Wanneer kies je welk schema-type?

Overzicht van veelgebruikte types
Kies altijd markup die past bij de echte inhoud van de pagina. Een blog of kennisartikel gebruik je meestal met Article schema. Een productdetailpagina vraagt om Product schema. Veelgestelde vragen die zichtbaar op de pagina staan kun je markeren met FAQ schema. Navigatiepaden beschrijf je met Breadcrumbs.
Voor recepten gebruik je Recipe schema. Bij een vacaturepagina gebruik je JobPosting schema. Voor een evenement gebruik je Event schema. En op organisatieniveau kun je ook bedrijfsinformatie markeren met Organization.
Mapping van contenttype naar schema-type
| Contenttype | Aanbevolen markup | Opmerking |
|---|---|---|
| Blog, kennisbank, nieuws | Article schema | Gebruik correcte auteur, datum en hoofdpagina |
| Productdetailpagina | Product schema | Prijs, valuta en beschikbaarheid moeten kloppen |
| FAQ-sectie | FAQ schema | Alle vragen en antwoorden moeten zichtbaar zijn |
| Navigatiepad | Breadcrumbs | Moet overeenkomen met de echte sitestructuur |
| Receptpagina | Recipe schema | Gebruik ook ingrediënten, bereidingstijd en voeding waar relevant |
| Evenementpagina | Event schema | Gebruik datum, locatie en beschikbaarheid van tickets |
| Vacaturepagina | JobPosting schema | Voeg salaris, locatie en publicatiedatum toe indien beschikbaar |
Werk je aan thematische contentstructuren, dan sluit dit goed aan op onze uitleg over content clusters.
Praktische implementatie van structured data
Waar plaats je JSON-LD in je HTML?
Je plaatst JSON-LD meestal in een <script type="application/ld+json">-blok. Dat mag in de <head> of in de <body> staan. De veiligste keuze is meestal de head, omdat de code dan vroeg beschikbaar is voor crawlers en logisch gescheiden blijft van je front-end.
CMS-stappen: WordPress, Shopify en custom sites
In WordPress voeg je markup vaak toe via een SEO-plugin, een gespecialiseerde plugin of maatwerk in je theme. Controleer goed of er niet al schema markup wordt gegenereerd. Dubbele implementaties zijn een van de meest voorkomende fouten.
Werk je met WordPress, bekijk dan ook onze gerelateerde handleidingen over WordPress beveiligen en technische optimalisatie.
In Shopify wordt markup vaak aangestuurd via theme-bestanden of apps. Let daar extra op velden zoals prijs, valuta, voorraad en product-URL. Die moeten exact overeenkomen met de informatie die de gebruiker op de pagina ziet.
Op custom websites is het meestal slim om JSON-LD direct vanuit je database of CMS-velden te genereren. Daarmee voorkom je handmatig onderhoud en verklein je de kans op verouderde data.
Dynamische sites (SPA) — server-side rendering vs client-side injection
Bij een SPA kun je structured data client-side injecteren, maar dat is niet altijd de betrouwbaarste keuze. Google kan JavaScript renderen, maar dat proces kost extra tijd en geeft meer risico op interpretatieproblemen. Server-side rendering is meestal stabieler, omdat de markup direct in de eerste HTML-response aanwezig is.
Let ook op canonicalisatie. Gebruik je meerdere URL-varianten, filters of parameterpagina’s, laat je markup dan aansluiten op de canonieke URL. Dat helpt verwarring voorkomen en past binnen een goede website structuur.
Klaar-om-te-gebruiken JSON-LD-voorbeelden
Article schema voorbeeld
Gebruik Article schema voor blogs, gidsen en nieuwsberichten.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "structured data — wat het is, waarom het belangrijk is voor SEO en rich results",
"author": {
"@type": "Organization",
"name": "Web2View"
},
"publisher": {
"@type": "Organization",
"name": "Web2View"
},
"datePublished": "2026-04-11",
"dateModified": "2026-04-11",
"mainEntityOfPage": "https://web2view.nl/structured-data"
}
</script>
Zorg dat headline, auteur en publicatiedata overeenkomen met de zichtbare pagina.
Product schema voorbeeld
Gebruik Product schema alleen op echte productpagina’s.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Draadloze koptelefoon X200",
"image": "https://voorbeeld.nl/koptelefoon.jpg",
"description": "Lichtgewicht draadloze koptelefoon met noise cancelling.",
"sku": "X200",
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"price": "129.00",
"availability": "https://schema.org/InStock",
"url": "https://voorbeeld.nl/product/x200"
}
}
</script>
Voor e-commerce sluit dit goed aan op onze gids over SEO voor webshops.
FAQ schema voorbeeld
Gebruik FAQ schema alleen als de vragen en antwoorden ook echt zichtbaar zijn op de pagina.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Wat is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is code die zoekmachines helpt om de inhoud van een pagina beter te begrijpen."
}
},
{
"@type": "Question",
"name": "Wat is JSON-LD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD is een praktische en veelgebruikte methode om structured data toe te voegen."
}
}
]
}
</script>
Breadcrumbs voorbeeld
Breadcrumbs helpen zoekmachines om de hiërarchie van je website beter te begrijpen.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://web2view.nl/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Marketing SEO",
"item": "https://web2view.nl/category/marketing/seo/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Structured data",
"item": "https://web2view.nl/structured-data"
}
]
}
</script>
Recipe schema voorbeeld
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Pasta pesto",
"author": {
"@type": "Organization",
"name": "Web2View"
}
}
</script>
Event schema voorbeeld
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "SEO Webinar",
"startDate": "2026-05-20T19:00",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://voorbeeld.nl/webinar"
}
}
</script>
JobPosting schema voorbeeld
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Technical SEO Specialist",
"description": "Verantwoordelijk voor audits, implementaties en monitoring.",
"datePosted": "2026-04-11",
"employmentType": "FULL_TIME"
}
</script>
Organization voorbeeld
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Web2View",
"url": "https://web2view.nl/",
"logo": "https://web2view.nl/logo.png"
}
</script>
Testen en valideren van je structured data
Rich Results Test (Google)
De eerste stap is testen met de Rich Results Test. Daarmee controleer je of Google je markup kan lezen en of de pagina in aanmerking komt voor rich results.
Test zowel een live URL als losse codeblokken. Dat maakt foutopsporing sneller, zeker wanneer je met nieuwe templates werkt.
Search Console: verbeteringen en fouten
Gebruik Google Search Console om fouten, waarschuwingen en prestaties te monitoren. In de rapporten voor verbeteringen zie je welke pagina’s geldige markup bevatten en waar required fields ontbreken.
Onze gids over Google Search Console helpt je om die data goed te interpreteren.
Overige tools en automatiseringstips
Gebruik naast Google ook de documentatie van schema.org en laat waar mogelijk validaties meelopen in je ontwikkelproces. Werk je met deployment pipelines, voeg dan een controle toe op JSON-validiteit, verplichte velden en output per template.
Veelvoorkomende fouten en checklist om te voorkomen
10-punten checklist
- Kies het juiste schema-type voor het paginatype.
- Gebruik bij voorkeur JSON-LD.
- Laat markup altijd aansluiten op zichtbare content.
- Vul alle verplichte velden volledig in.
- Gebruik correcte datums, tijdzones en URL’s.
- Werk met absolute URL’s in plaats van relatieve paden.
- Voorkom dubbele markup uit plugins, apps of themes.
- Controleer prijs, voorraad en productdetails op consistentie.
- Test elke template met de Rich Results Test.
- Monitor wijzigingen na deploys, CMS-updates en redesigns.
Probleemoplossing: before/after
Fout 1: dubbele schema markup
Before: een SEO-plugin en een custom template genereren allebei Article schema.
After: laat slechts één bron verantwoordelijk zijn voor de markup.
Fout 2: ontbrekende velden
Before: een vacature heeft wel JobPosting schema, maar mist een datePosted.
After: voeg de ontbrekende property toe vanuit hetzelfde CMS-veld als op de pagina.
Fout 3: onjuiste prijzen of datums
Before: Product schema toont een oude prijs of Event schema bevat een verlopen datum.
After: haal deze gegevens dynamisch op uit dezelfde bron als de front-end.
Fout 4: verkeerde URL’s
Before: markup verwijst naar een niet-canonieke of niet-bestaande URL.
After: gebruik de juiste canonieke URL in je data.
Monitoring, meten en ROI
KPI’s: CTR, impressies en rich result appearances
Maak altijd een nulmeting voordat je live gaat. Kijk daarna in Search Console naar CTR, impressies, gemiddelde positie en pagina’s die vertoningen krijgen met verrijkte resultaten. Analyseer bij voorkeur per template of paginatype, niet alleen sitebreed.
Een praktisch monitoring-template:
- Exporteer prestaties van de betreffende pagina’s 28 dagen vóór livegang.
- Vergelijk die met 28 dagen na indexatie van de nieuwe markup.
- Filter op query’s, landingspagina’s en apparaattype.
- Controleer of CTR stijgt bij vergelijkbare gemiddelde positie.
- Documenteer deploydatum, type markup en gevonden fouten.
Case study / hypothetisch voorbeeld van impact
Stel dat een producttemplate 20.000 impressies per maand heeft met een CTR van 3,2%. Na correcte Product schema-implementatie en duidelijke Breadcrumbs stijgt de CTR naar 4,1%, terwijl de gemiddelde positie vrijwel gelijk blijft. Dat verschil lijkt klein, maar levert op schaal honderden extra klikken op.
Wil je het effect betrouwbaarder beoordelen, werk dan met een eenvoudige A/B-testmethode: implementeer eerst op een beperkte set vergelijkbare pagina’s, houd een controlegroep zonder wijziging aan en vergelijk CTR en impressies over 4 tot 8 weken.
Voor bredere impact op organische groei kun je dit combineren met onze pagina over organisch verkeer.
Wil je de context van crawlbaarheid en sitestructuur verder verbeteren, lees dan ook onze uitleg over interne links en on-page SEO.
FAQ over structured data
Structured data is code die zoekmachines helpt om de betekenis en context van een pagina beter te begrijpen.
Het helpt zoekmachines content beter te interpreteren en vergroot de kans op rich results en opvallendere zoekresultaten, wat je CTR kan verbeteren.
JSON-LD staat los van je HTML en is daardoor makkelijker te beheren. Microdata zit in HTML-elementen verwerkt en is vaak lastiger schaalbaar.
Begin met de typen die direct aansluiten op je belangrijkste pagina’s, zoals Article schema, Product schema, FAQ schema en Breadcrumbs.
Gebruik de Rich Results Test voor validatie en controleer daarna Search Console op fouten, waarschuwingen en prestaties.
Veelvoorkomende fouten zijn dubbele markup, ontbrekende verplichte velden, verkeerde datums, onjuiste URL’s en data die niet overeenkomt met de zichtbare content.
Nee, niet direct. Het helpt Google wel om je pagina beter te begrijpen, wat indirect kan bijdragen aan meer zichtbaarheid en klikken.
Nee. Correcte implementatie vergroot de kans, maar Google bepaalt uiteindelijk zelf of en wanneer rich results worden getoond.
Conclusie
Structured data is een praktische manier om zoekmachines extra context te geven over je content. Met schema.org en JSON-LD maak je die context duidelijk, schaalbaar en testbaar. De grootste winst zit meestal niet in “meer code”, maar in de juiste markup op de juiste pagina’s, gekoppeld aan een goed test- en monitoringsproces.
Begin daarom met een inventarisatie van je paginaformats. Koppel per type de juiste markup, implementeer die centraal in je templates, test alles met de Rich Results Test en monitor daarna de prestaties in Search Console. Zo werk je gestructureerd, voorkom je fouten en kun je het effect op CTR beter beoordelen.
Volgende stap: Bekijk de structured data checklist of plan een audit als je je implementatie wilt laten controleren.
