Structured Data en Schema Markup: Complete Gids
Leer hoe je structured data en schema markup implementeert voor betere zoekresultaten. Van JSON-LD basics tot geavanceerde schema types met praktische code-voorbeelden.
Introductie
Structured data is een van de meest onderbenutte SEO-technieken. Terwijl de meeste website-eigenaren zich richten op content en backlinks, biedt structured data een directe manier om zoekmachines te vertellen wat je content precies betekent. Het resultaat: rijkere zoekresultaten, hogere click-through rates en betere zichtbaarheid.
In deze gids leggen we uit wat structured data is, hoe je het implementeert met JSON-LD, welke schema types het belangrijkst zijn, en hoe je het test en monitort. Met praktische code-voorbeelden die je direct kunt toepassen.
Wat is Structured Data?
Structured data is een gestandaardiseerd formaat om informatie over een webpagina te verstrekken aan zoekmachines. Waar HTML de structuur van een pagina beschrijft voor browsers, beschrijft structured data de betekenis van de content voor machines.
Waarom het belangrijk is voor SEO
Structured data levert meerdere voordelen op:
- Rich snippets: Sterren, prijzen, FAQ-accordeons en meer in de zoekresultaten
- Betere CTR: Rich results krijgen tot 30% meer klikken dan standaard resultaten
- Knowledge Graph: Je organisatie kan verschijnen in Google's Knowledge Panel
- AI Overviews: Google gebruikt structured data als betrouwbare bron voor AI-gegenereerde antwoorden
- Voice search: Gestructureerde informatie wordt vaker gebruikt voor voice assistants
Schema.org als standaard
Schema.org is het vocabulaire dat door Google, Bing en andere zoekmachines wordt ondersteund. Het definieert honderden types (Person, Product, Article, etc.) met specifieke eigenschappen. Niet elk type levert rich results op, maar het helpt zoekmachines altijd om je content beter te begrijpen.
JSON-LD Formaat Uitgelegd
Er zijn drie formaten voor structured data: JSON-LD, Microdata en RDFa. JSON-LD is de aanbevolen standaard door Google vanwege:
- Het staat los van je HTML (makkelijker te onderhouden)
- Het is leesbaar voor ontwikkelaars
- Het kan dynamisch worden gegenereerd
- Het vermengt niet met je template code
Basisstructuur
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Titel van het artikel",
"author": {
"@type": "Person",
"name": "Auteursnaam"
},
"datePublished": "2026-02-12",
"image": "https://jouwsite.nl/afbeelding.jpg"
}
</script>
```
De belangrijkste elementen:
- @context: Altijd "https://schema.org"
- @type: Het schema type (Article, Product, Organization, etc.)
- Eigenschappen: Specifiek per type (headline, author, price, etc.)
De Belangrijkste Schema Types
Organization
Essentieel voor de homepagina. Vertelt Google over je bedrijf:
```json
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Jouw Bedrijf BV",
"url": "https://jouwsite.nl",
"logo": "https://jouwsite.nl/logo.png",
"description": "Korte omschrijving van je bedrijf",
"address": {
"@type": "PostalAddress",
"streetAddress": "Hoofdstraat 1",
"addressLocality": "Amsterdam",
"postalCode": "1012 AA",
"addressCountry": "NL"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+31-20-1234567",
"contactType": "customer service",
"availableLanguage": "Dutch"
},
"sameAs": [
"https://www.linkedin.com/company/jouwbedrijf",
"https://twitter.com/jouwbedrijf"
]
}
```
LocalBusiness
Voor bedrijven met een fysieke locatie — levert lokale rich results op:
```json
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Restaurant De Smakelijke Hap",
"image": "https://voorbeeld.nl/foto.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Keizersgracht 100",
"addressLocality": "Amsterdam",
"postalCode": "1015 AA",
"addressCountry": "NL"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.3676,
"longitude": 4.9041
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "11:00",
"closes": "22:00"
}
],
"priceRange": "$$",
"servesCuisine": "Nederlandse keuken"
}
```
Product
Levert productrijke zoekresultaten op met prijzen, beschikbaarheid en reviews:
```json
{
"@context": "https://schema.org",
"@type": "Product",
"name": "SEO Keyword Tool - Professional",
"description": "Professionele keyword research tool voor de Nederlandse markt",
"brand": {
"@type": "Brand",
"name": "CleverKeywords"
},
"offers": {
"@type": "Offer",
"price": "49.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://jouwsite.nl/product"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "156"
}
}
```
Article en BlogPosting
Voor blog- en nieuwsartikelen:
```json
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Structured Data en Schema Markup: Complete Gids",
"author": {
"@type": "Person",
"name": "Sophie Bakker",
"url": "https://jouwsite.nl/team/sophie-bakker"
},
"datePublished": "2026-02-12",
"dateModified": "2026-02-12",
"image": "https://jouwsite.nl/blog/structured-data.jpg",
"publisher": {
"@type": "Organization",
"name": "CleverKeywords",
"logo": {
"@type": "ImageObject",
"url": "https://jouwsite.nl/logo.png"
}
},
"description": "Leer hoe je structured data implementeert voor betere SEO."
}
```
FAQ
FAQ schema levert opvallende accordeon-resultaten op in Google:
```json
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Wat kost structured data implementatie?",
"acceptedAnswer": {
"@type": "Answer",
"text": "De implementatie van structured data is technisch gratis. De tijdsinvestering hangt af van de complexiteit van je site."
}
},
{
"@type": "Question",
"name": "Hoe snel zie ik resultaten?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Na implementatie duurt het gemiddeld 2-4 weken voordat Google je rich results toont."
}
}
]
}
```
HowTo
Ideaal voor instructie-content en handleidingen:
```json
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Schema markup toevoegen aan je website",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "EUR",
"value": "0"
},
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "Kies het juiste schema type",
"text": "Bepaal welk schema type past bij je pagina-content."
},
{
"@type": "HowToStep",
"name": "Genereer de JSON-LD code",
"text": "Maak de JSON-LD code aan met de juiste eigenschappen."
},
{
"@type": "HowToStep",
"name": "Voeg toe aan je pagina",
"text": "Plaats het script-element in de head of body van je HTML."
}
]
}
```
BreadcrumbList
Verbetert de weergave van je URL-pad in zoekresultaten:
```json
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://jouwsite.nl/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://jouwsite.nl/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Structured Data Gids"
}
]
}
```
Implementatie in Next.js en React
In een modern React of Next.js project kun je structured data elegant implementeren:
Next.js App Router
```tsx
// app/blog/[slug]/page.tsx
export default function BlogPost({ params }) {
const post = getPostBySlug(params.slug);
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'BlogPosting',
headline: post.title,
datePublished: post.publishedAt,
author: {
'@type': 'Person',
name: post.author.name,
},
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(jsonLd),
}}
/>
<article>
<h1>{post.title}</h1>
{/ ... /}
</article>
</>
);
}
```
Herbruikbare component
```tsx
// components/JsonLd.tsx
interface JsonLdProps {
data: Record<string, unknown>;
}
export function JsonLd({ data }: JsonLdProps) {
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
'@context': 'https://schema.org',
...data,
}),
}}
/>
);
}
// Gebruik:
<JsonLd data={{
'@type': 'Product',
name: 'Mijn Product',
offers: { '@type': 'Offer', price: '29.99' }
}} />
```
Testen met Google Rich Results Test
Na implementatie moet je valideren dat alles correct is:
Stap-voor-stap testen
1. Ga naar search.google.com/test/rich-results
2. Voer je URL in of plak je code
3. Controleer of er geen fouten zijn
4. Bekijk welke rich result types gedetecteerd worden
5. Test zowel op mobiel als desktop
Veelvoorkomende fouten
- Verplichte velden ontbreken: Elk schema type heeft verplichte eigenschappen. Controleer de documentatie op schema.org
- Verkeerde data types: Prijzen moeten strings zijn ("49.00"), niet getallen
- Niet-overeenkomende data: De structured data moet overeenkomen met de zichtbare content op de pagina
- Ongeldige URLs: Alle URL-velden moeten absolute, werkende URLs zijn
- Missende afbeeldingen: Voor Article en Product schema zijn afbeeldingen vaak verplicht
Veelgemaakte Fouten
1. Structured data zonder zichtbare content
Google vereist dat de informatie in je structured data ook zichtbaar is op de pagina. Je kunt niet een 5-sterren rating opnemen in je schema als er geen reviews zichtbaar zijn.
2. Te veel schema op een pagina
Focus op het schema type dat het meest relevant is. Eén pagina met Article, FAQ en BreadcrumbList schema is prima. Maar voeg niet tien verschillende types toe die nauwelijks relevant zijn.
3. Verouderde schema data
Houd je structured data actueel. Een Product met een prijs van vorig jaar of een Event met een datum in het verleden schaadt je geloofwaardigheid.
4. Microdata en JSON-LD mixen
Gebruik consistent hetzelfde formaat. JSON-LD is de aangeraden standaard. Mix het niet met Microdata-attributen in dezelfde content.
5. Structured data niet testen na updates
Elke keer dat je je templates of CMS wijzigt, test opnieuw. Een kleine HTML-wijziging kan je structured data breken.
Impact op Click-Through Rate
De impact van rich results op CTR is significant:
- FAQ rich results: Tot 87% meer SERP-ruimte, gemiddeld 15-25% hogere CTR
- Product rich results (sterren, prijs): Gemiddeld 20-35% hogere CTR
- How-to resultaten: Hogere CTR op mobiel door visuele stappen
- Breadcrumbs: Subtiel, maar verbeteren het vertrouwen en de CTR met 5-10%
- Review snippets: Sterren trekken het oog en verhogen de CTR met 10-20%
Meten van de impact
- Vergelijk CTR in Search Console voor en na implementatie
- Filter op pagina's met vs. zonder rich results
- Monitor het aantal rich results over tijd in het "Verbeteringen" rapport
- Let op zoektermen waarvoor rich results verschijnen
Conclusie
Structured data is een van de weinige SEO-technieken waarbij je relatief weinig inspanning levert voor een potentieel groot rendement. De implementatie is eenmalig (per template), de impact op je zichtbaarheid in zoekresultaten is direct meetbaar, en het wordt steeds belangrijker nu AI-systemen structured data gebruiken als betrouwbare informatiebron.
Begin met de basis — Organization, Article en BreadcrumbList — en breid uit naar Product, FAQ en HowTo waar relevant. Test altijd met de Google Rich Results Test en monitor je resultaten in Search Console. Het is een van de slimste investeringen die je in je SEO kunt doen.
Tags
Deel dit artikel
Sophie Bakker
SEO Specialist bij CleverKeywords
Gerelateerde Artikelen
Klaar om je SEO te verbeteren?
Probeer CleverKeywords gratis en ontdek de beste keywords voor jouw website.
Start Gratis Proefperiode