Rich results leveren gemiddeld 20-30% hogere click-through rates op. Product schema, Offer schema, FAQ schema — drie implementaties die direct zichtbaar zijn in de zoekresultaten.
Structured data voor e-commerce — Product, Offer en FAQ schema
Rich results leveren gemiddeld 20-30% hogere click-through rates op. Dat is geen schatting — dat is data uit Google-experimenten en Search Console-analyses van e-commerce sites.
Structured data vertelt Google wat de inhoud van een pagina betekent, niet alleen wat er staat. Een prijs is een getal. Met structured data weet Google dat het een verkoopprijs is, voor welk product, in welke valuta, met welke beschikbaarheid.
Dit artikel legt uit hoe je Product schema, Offer schema en FAQ schema correct implementeert voor e-commerce.
Wat je leert in dit artikel
- Hoe JSON-LD werkt en waarom Google het prefereert
- Product schema met alle relevante eigenschappen
- Offer schema voor prijzen, kortingen en beschikbaarheid
- FAQ schema voor productpagina's
- Review schema en aggregate rating
- Hoe je implementaties test
Wat is structured data en waarom JSON-LD
Structured data is machine-leesbare informatie over de inhoud van een pagina. Google gebruikt het voor rich results: uitgebreide zoekresultaten met prijzen, beoordelingen, beschikbaarheid, FAQ-accordeons.
Drie formaten:| Formaat | Status |
|---|---|
| JSON-LD | Google's voorkeur, aanbevolen |
| Microdata | Verouderd, nog ondersteund |
| RDFa | Verouderd, nog ondersteund |
JSON-LD staat in een tag in de of . Het is gescheiden van de HTML-content — makkelijker te onderhouden en te debuggen. Meer over JSON-LD en schema.org vind je op schema.org en in de Google Search Central documentatie.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Voorbeeld Product"
}
</script>
Product schema: de basis
Product schema is het fundament van e-commerce structured data. Het beschrijft wat je verkoopt.
Minimaal vereist voor Google rich results:nameimage- Minstens één van:
review,aggregateRating, ofoffers
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Hardloopschoen Model Pro X",
"description": "Lichtgewicht hardloopschoen voor neutrale lopers. Demping voor lange afstanden.",
"sku": "HLP-PRO-X-44",
"mpn": "HLP-PRO-X",
"brand": {
"@type": "Brand",
"name": "RunTech"
},
"image": [
"https://www.shop.nl/images/schoen-voor.jpg",
"https://www.shop.nl/images/schoen-zij.jpg",
"https://www.shop.nl/images/schoen-boven.jpg"
],
"color": "Zwart/Wit",
"material": "Mesh bovenwerk, rubber zool",
"category": "Hardloopschoenen"
}
imagemag een array zijn — gebruik meerdere afbeeldingshoekenskuis de interne productcode,mpnhet manufacturersnummerbrandalsBrandobject, niet als plain stringdescriptionmag HTML bevatten maar Google rendert die niet
Offer schema: prijzen en beschikbaarheid
Offers zijn het deel van structured data dat zichtbaar wordt in de zoekresultaten. Prijs, beschikbaarheid, valuta — dit verschijnt als rich result.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Hardloopschoen Model Pro X",
"offers": {
"@type": "Offer",
"url": "https://www.shop.nl/schoenen/hardloopschoen-pro-x",
"priceCurrency": "EUR",
"price": "129.95",
"priceValidUntil": "2026-12-31",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "Jouw Webshop"
}
}
}
| Schema.org waarde | Wanneer gebruiken |
|---|---|
https://schema.org/InStock | Product op voorraad |
https://schema.org/OutOfStock | Product niet op voorraad |
https://schema.org/PreOrder | Nog niet beschikbaar, vooruitbestelbaar |
https://schema.org/BackOrder | Tijdelijk uitverkocht, nalevering verwacht |
https://schema.org/Discontinued | Product niet meer leverbaar |
price moet een string zijn zonder valutasymbool. "129.95" — niet "€ 129,95".
Kortingen en sale prices
{
"@type": "Offer",
"price": "89.95",
"priceCurrency": "EUR",
"priceValidUntil": "2026-03-31",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock"
}
Er is geen apart "salePrice" veld in schema.org. De huidige prijs is altijd het price veld. priceValidUntil geeft aan hoe lang de prijs geldig is — gebruik dit bij tijdelijke aanbiedingen.
Meerdere productvarianten
Voor webshops met varianten (maat, kleur) heb je twee opties.
Optie 1: één Offer per variant (aanbevolen){
"@context": "https://schema.org",
"@type": "Product",
"name": "Hardloopschoen Model Pro X",
"offers": [
{
"@type": "Offer",
"sku": "HLP-PRO-X-42",
"name": "Maat 42",
"price": "129.95",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
},
{
"@type": "Offer",
"sku": "HLP-PRO-X-44",
"name": "Maat 44",
"price": "129.95",
"priceCurrency": "EUR",
"availability": "https://schema.org/OutOfStock"
}
]
}
{
"@type": "AggregateOffer",
"lowPrice": "89.95",
"highPrice": "149.95",
"priceCurrency": "EUR",
"offerCount": "8"
}
Gebruik AggregateOffer als varianten sterk in prijs verschillen. Gebruik losse Offers als je beschikbaarheid per variant wilt communiceren.
AggregateRating en Review schema
Reviews in zoekresultaten zijn een van de meest zichtbare rich results. Sterren zijn direct zichtbaar in de SERP.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Hardloopschoen Model Pro X",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "847",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "Jan de Vries"
},
"reviewBody": "Uitstekende schoen voor lange duurlooptrainingen. Demping is top.",
"datePublished": "2026-02-15"
}
]
}
- Reviews moeten van echte gebruikers zijn, niet gefabriceerd
- Je mag alleen reviews tonen van je eigen platform — geen reviews aggregeren van andere sites
- Niet alle producten hoeven dezelfde reviews te tonen in structured data als op de pagina
FAQ schema voor productpagina's
FAQ schema is minder bekend maar effectief. Het laat accordeon-vraagantwwoorden verschijnen in de zoekresultaten — extra ruimte in de SERP.
Wanneer zinvol op productpagina's:- Technische producten met veel vragen
- Producten met specifieke gebruiksscenario's
- Producten waarbij retourbeleid of garantie een rol speelt
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is de hardloopschoen geschikt voor brede voeten?",
"acceptedAnswer": {
"@type": "Answer",
"text": "De Pro X heeft een normale pasvorm. Voor brede voeten adviseren wij een halve maat groter te nemen of te kiezen voor onze Wide Fit variant."
}
},
{
"@type": "Question",
"name": "Wat is de retourperiode voor schoenen?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Je kunt schoenen binnen 30 dagen na ontvangst retourneren, mits ongedragen en in originele verpakking. Zie ons volledig retourbeleid voor details."
}
},
{
"@type": "Question",
"name": "Zijn de schoenen machine wasbaar?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Nee, wassen op 30 graden met een schoenenzak is maximaal toegestaan. Niet in de droger."
}
}
]
}
Product als FAQPage schema op dezelfde pagina plaatsen via twee losse blokken.
BreadcrumbList schema
Breadcrumbs in de zoekresultaten vervangen de URL en geven context over de paginahiërarchie.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.shop.nl/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Hardloopschoenen",
"item": "https://www.shop.nl/hardloopschoenen/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Hardloopschoen Model Pro X",
"item": "https://www.shop.nl/hardloopschoenen/pro-x"
}
]
}
Implementatie in Magento 2
Magento 2 heeft beperkte ingebouwde structured data-ondersteuning. Voor complete implementatie gebruik je een extensie of maatwerk.
Via layout XML en Block:// Block class voor product structured data
class ProductStructuredData extends \Magento\Framework\View\Element\Template
{
public function getStructuredDataJson(): string
{
$product = $this->registry->registry('current_product');
$data = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->getName(),
'sku' => $product->getSku(),
'description' => strip_tags($product->getDescription()),
'image' => $this->getProductImageUrls($product),
'offers' => [
'@type' => 'Offer',
'url' => $product->getProductUrl(),
'priceCurrency' => 'EUR',
'price' => number_format($product->getFinalPrice(), 2, '.', ''),
'availability' => $product->isAvailable()
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock',
'itemCondition' => 'https://schema.org/NewCondition',
],
];
if ($product->getRatingSummary()) {
$data['aggregateRating'] = [
'@type' => 'AggregateRating',
'ratingValue' => round($product->getRatingSummary()->getRatingSummary() / 20, 1),
'reviewCount' => $product->getRatingSummary()->getReviewsCount(),
'bestRating' => '5',
'worstRating' => '1',
];
}
return json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
}
Testen van structured data
Google's tools:- Rich Results Test (
search.google.com/test/rich-results) — test of een URL in aanmerking komt voor rich results - Schema Markup Validator (
validator.schema.org) — valideer je JSON-LD syntax - Search Console — bekijk welke structured data Google heeft verwerkt en eventuele fouten
| Fout | Gevolg |
|---|---|
Prijs zonder priceCurrency | Rich result niet getoond |
price als getal in plaats van string | Validatiefout |
availability als platte tekst | Niet herkend door Google |
| Reviews niet op pagina maar wel in schema | Google's beleid verbiedt dit |
ratingValue boven bestRating | Validatiefout |
Ontbrekende image bij Product | Geen rich result |
Conclusie
Structured data is een van de weinige technische SEO-investeringen met direct zichtbaar resultaat in de SERP. Rich results met prijs, beoordeling en beschikbaarheid verhogen de click-through rate zonder dat je positie hoeft te verbeteren.
De implementatie is eenmalig werk. Zorg voor dynamische data — prijs en beschikbaarheid moeten realtime kloppen. Een verkeerde prijs in structured data leidt tot een beleidswaarschuwing van Google.
Lees ook: technische SEO audit checklist voor webshops en internationaal verkopen voor structured data bij meertalige implementaties. Bekijk onze aanpak voor Magento of Shopify. De officiële documentatie van Google over structured data vind je op Google Search Central.
Neem contact op voor hulp bij de implementatie van structured data in je webshop.
Geschreven door Ruthger Idema
15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.
Meer over ons team →