Product Schema Markup Instellen in Magento 2
Uitgebreide handleiding voor het configureren van Product structured data met de Rich Snippets Suite extensie. Product schema is het belangrijkste schema voor e-commerce, waarmee rich results in Google Search mogelijk worden met prijzen, beschikbaarheid, beoordelingen en meer.
Wat Product Schema Doet
Product schema vertelt Google over je producten:
- Naam en beschrijving - Wat het product is
- Afbeeldingen - Visuele weergave
- Prijs en valuta - Kostinformatie
- Beschikbaarheid - Op voorraad of niet
- Conditie - Nieuw, refurbished of gebruikt
- Merk - Fabrikant of merknaam
- Beoordelingen en reviews - Klantfeedback
- GTIN/SKU/MPN - Product identificatienummers
Deze informatie kan verschijnen als rich results in Google Search, met sterbeoordelingen, prijzen en voorraadstatus direct in zoekresultaten.
Basis Setup
Locatie: Magmodules → Rich Snippets Suite → Schema: Products
- Zet Enable op Yes
- Configureer Show Stock om beschikbaarheid te tonen
- Stel Attributes mapping in (Description, Brand)
- Klik Save Config
Offer Schema (Prijs & Beschikbaarheid)
Het Offer schema bevat aankoop-gerelateerde informatie.
Voorraadstatus
| Instelling | Beschrijving |
|---|---|
| Show Stock | Schakel in om availability in de offer op te nemen. Google toont "Op Voorraad" of "Niet op Voorraad" in resultaten. |
Productconditie
| Optie | Wanneer Gebruiken |
|---|---|
| Fixed value | Alle producten hebben dezelfde conditie (meest voorkomend voor nieuwe items) |
| Use attribute | Verschillende producten hebben verschillende condities |
Conditie Waarden:
NewCondition- Gloednieuwe productenRefurbishedCondition- Fabrieksmatig gereviseerdUsedCondition- Tweedehands items
Prijs Geldig Tot
Google vereist priceValidUntil voor Offer schema. Opties:
| Modus | Beschrijving |
|---|---|
| Use special price date | Gebruikt Magento's speciale prijs einddatum indien ingesteld |
| Custom fallback | Gebruik altijd een datum X dagen in de toekomst |
Tip: Stel een custom fallback in (bijv. 30-90 dagen) om te zorgen dat alle producten geldige datums hebben.
Beoordelingen & Reviews
Toon sterbeoordelingen en review aantallen in zoekresultaten.
Aggregate Rating
| Instelling | Beschrijving |
|---|---|
| Display Rating | Inclusief overall rating in Product schema |
| Rating Source | Waar beoordelingen vandaan komen (Native Magento of extern platform) |
| Rating Metric | Hoe de beoordelingsschaal weer te geven |
Individuele Reviews
| Instelling | Beschrijving |
|---|---|
| Add Separate Review(s) | Inclusief individuele Review schemas |
| Number of reviews | Hoeveel reviews op te nemen (standaard: 10) |
Best Practice: Schakel zowel aggregate rating als individuele reviews in voor maximale zichtbaarheid.
Attribuut Mapping
Map je Magento attributen naar schema.org properties.
Vereiste Mappings
| Schema Property | Aanbevolen Attribuut |
|---|---|
| Description | Short Description |
| Brand | Manufacturer |
Extra Attributen
Voeg custom mappings toe voor aanvullende productdata. De volgende Schema.org properties zijn beschikbaar:
| Schema Property | Beschrijving |
|---|---|
| description | Productbeschrijving (indien afwijkend van het hoofdveld) |
| model | Productnaam of modelnummer |
| sku | Stock Keeping Unit identificatie |
| gtin8 / gtin12 / gtin13 / gtin14 | Global Trade Item Numbers (barcodes). Gebruik gtin13 voor EAN, gtin12 voor UPC |
| mpn | Fabrikant artikelnummer (Manufacturer Part Number) |
| isbn | Internationaal Standaard Boeknummer (voor boeken) |
| category | Productcategorie als Schema.org property. Mapt je attribuutwaarde direct naar het category veld |
| material | Primair materiaal van het product (bijv. "Eiken", "Polyester", "RVS") |
| color | Productkleur (bijv. "Antraciet", "Naturel Teak") |
| numberOfItems | Aantal items in het product (bijv. "6" voor een eetset met 6 stoelen). Handig voor sets, bundels en multipacks |
De category, material, color en numberOfItems properties zijn beschikbaar vanaf v2.10.0.
Hoe numberOfItems werkt: Deze Schema.org property vertelt zoekmachines hoeveel individuele items er in een product zitten. De extensie leest de waarde uit je geselecteerde Magento attribuut, extraheert het numerieke deel en geeft het als integer uit op het Product schema. Dit betekent dat attribuutwaarden zoals "6 stuks" of "6 pieces" automatisch worden omgezet naar "numberOfItems": 6. Dit is vooral handig voor meubelsets (bijv. een eetset met tafel + 6 stoelen = "numberOfItems": 7), multipacks en bundels waar het aantal relevant is voor de koopbeslissing.
Voorbeeld mappings:
| Schema Property | Magento Attribuut |
|---|---|
| gtin13 | ean |
| mpn | manufacturer_part_number |
| color | color |
| material | material |
| category | product_type |
| numberOfItems | number_of_items |
Configureerbare Producten
Configureerbare producten hebben speciale behandeling nodig om variant informatie te tonen.
Het Probleem
Een configureerbaar product (bijv. "T-Shirt") heeft meerdere simple producten (bijv. "T-Shirt - Rood - Small", "T-Shirt - Blauw - Large"). Elke variant kan verschillen in:
- Prijs
- Voorraadstatus
- SKU/GTIN
- Afbeeldingen
De Oplossing: ProductGroup met Varianten
Schakel Split Configurable Products Snippets in met Use Variants modus.
Dit genereert:
{
"@type": "ProductGroup",
"name": "T-Shirt",
"hasVariant": [
{
"@type": "Product",
"name": "T-Shirt - Rood - Small",
"offers": { "price": "29.99" }
},
{
"@type": "Product",
"name": "T-Shirt - Blauw - Large",
"offers": { "price": "29.99" }
}
]
}
Configuratie Opties
| Instelling | Beschrijving |
|---|---|
| Use reviews from parent product | Pas parent reviews toe op alle varianten (aanbevolen) |
| Use Parent Data for Simples | Welke attributen varianten moeten overnemen van parent |
Overnemen van Parent:
- Naam (als varianten geen unieke namen hebben)
- Beschrijving (meestal hetzelfde voor alle varianten)
- Merk (altijd hetzelfde)
- Afbeelding (alleen als varianten geen unieke afbeeldingen hebben)
Niet Overnemen:
- Prijs (varianten kunnen verschillende prijzen hebben)
- SKU/GTIN (altijd uniek per variant)
Bundle Producten
Bundle producten bevatten meerdere items die samen verkocht worden.
Enable Split Bundle
Zet Split Bundle Products Snippets op Yes om schemas te genereren voor elk bundle item.
| Instelling | Beschrijving |
|---|---|
| Use reviews from parent product | Pas bundle reviews toe op items |
| Use Parent Data for Simples | Attributen om van bundle over te nemen |
Grouped Producten
Grouped producten tonen meerdere gerelateerde items.
Enable Split Grouped
Zet Split Grouped Products Snippets op Yes voor individuele item schemas.
| Instelling | Beschrijving |
|---|---|
| Use reviews from parent product | Pas grouped product reviews toe op items |
| Use Parent Data for Simples | Attributen om van grouped parent over te nemen |
Video Object
Neem productvideo's op in structured data.
| Instelling | Beschrijving |
|---|---|
| Video Object Enable | Inclusief VideoObject schema voor producten met video's |
| Video Object Source | Voor configurables: gebruik parent of child video's |
Vereisten voor VideoObject:
- Video moet een URL hebben (YouTube, Vimeo, of directe link)
- Video moet gekoppeld zijn aan het product in Magento
Additional Properties
Beschikbaar vanaf v2.10.0
Veel producten hebben attributen die belangrijk zijn voor kopers, maar niet passen bij een standaard Schema.org property. Denk aan specificaties zoals "Weerbestendig", "UV-bestendig", "Zithoogte", "Maximaal Draagvermogen" of "Inclusief Kussens". Zonder gestructureerde markup behandelen zoekmachines deze informatie als platte tekst en kunnen ze deze niet gebruiken voor filtering of rich results.
Het Schema.org additionalProperty veld lost dit op door custom attributen te verpakken in PropertyValue objecten. Google en andere zoekmachines kunnen deze verwerken als gestructureerde key-value paren, waardoor je productdata completer en machine-leesbaar wordt. Dit is vooral waardevol voor categorieën waar kopers technische specificaties vergelijken, zoals meubels, tuinproducten, elektronica en industriële producten.
Locatie: Schema: Products → Additional Properties
Configuratie
| Kolom | Beschrijving |
|---|---|
| Product Attribute | Het Magento productattribuut waarvan de waarde wordt gelezen |
| Property Name | De Schema.org property naam die in structured data verschijnt (bijv. "Weather Resistant", "Seat Height") |
| Value Type | Hoe de waarde geformateerd wordt: Text, Boolean of Quantitative |
| Unit Code | UN/CEFACT eenheidscode voor kwantitatieve waarden (bijv. CMT voor centimeters) |
Waardetypes
Kies het juiste waardetype op basis van de aard van het attribuut:
| Type | Gedrag | Geschikt voor |
|---|---|---|
| Text | Output als platte tekst | Materialen, certificeringen, vrije specificaties |
| Boolean | Converteert naar "Yes" of "No" | Feature-vlaggen zoals "Waterproof", "Opvouwbaar", "Inclusief Kussens" |
| Quantitative | Output als QuantitativeValue met optionele unitCode |
Metingen zoals zithoogte, draagvermogen, kabellengte |
Tip: Voor boolean attributen herkent de extensie veelvoorkomende waarden in meerdere talen ("yes", "true", "1", "ja", "oui") en ("no", "false", "0", "nee", "non") en normaliseert deze naar "Yes" of "No".
Voorbeeld Output
Een tuinloungeset met custom specificaties:
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Weather Resistant",
"value": "Yes"
},
{
"@type": "PropertyValue",
"name": "UV Resistant",
"value": "Yes"
},
{
"@type": "PropertyValue",
"name": "Seat Height",
"value": {
"@type": "QuantitativeValue",
"value": 45,
"unitCode": "CMT"
},
"unitCode": "CMT"
},
{
"@type": "PropertyValue",
"name": "Maximum Load Capacity",
"value": {
"@type": "QuantitativeValue",
"value": 150,
"unitCode": "KGM"
},
"unitCode": "KGM"
}
]
Afmetingen Mapping
Beschikbaar vanaf v2.10.0
Productafmetingen zijn eersteklas properties in Schema.org's Product type. Google herkent width, height, depth en weight direct op een Product en gebruikt ze voor Google Shopping en product knowledge panels. In tegenstelling tot additional properties hebben deze geen additionalProperty wrapper nodig — het zijn standaardvelden die zoekmachines al kunnen interpreteren.
De extensie mapt je Magento productattributen naar deze dimensie-properties met het QuantitativeValue formaat, dat een numerieke waarde koppelt aan een gestandaardiseerde UN/CEFACT eenheidscode. Dit zorgt ervoor dat afmetingen eenduidig zijn, ongeacht de locale.
Locatie: Schema: Products → Dimensions Mapping
Configuratie
| Kolom | Beschrijving |
|---|---|
| Dimension | De Schema.org property: width, height, depth of weight |
| Product Attribute | Het Magento attribuut met de numerieke waarde |
| Unit Code | UN/CEFACT eenheidscode (bijv. CMT voor cm, MTR voor m, KGM voor kg) |
Belangrijk: Zorg dat het attribuut alleen een numerieke waarde bevat (bijv. "240" en niet "240 cm"). De extensie extraheert het getal en koppelt het aan de geconfigureerde eenheidscode. Als de attribuutwaarde tekst bevat met nummers, probeert de extensie het numerieke deel te extraheren.
Voorbeeld Output
Een tafel met breedte, hoogte en gewicht:
{
"@type": "Product",
"name": "Eiken Eettafel",
"width": {
"@type": "QuantitativeValue",
"value": 240,
"unitCode": "CMT"
},
"height": {
"@type": "QuantitativeValue",
"value": 75,
"unitCode": "CMT"
},
"depth": {
"@type": "QuantitativeValue",
"value": 100,
"unitCode": "CMT"
},
"weight": {
"@type": "QuantitativeValue",
"value": 45.5,
"unitCode": "KGM"
}
}
Veelgebruikte Eenheidscodes
Gebruik UN/CEFACT Common Codes voor gestandaardiseerde meeteenheden:
| Code | Eenheid | Typisch gebruik |
|---|---|---|
| CMT | Centimeters | Meubels, huis & tuin |
| MTR | Meters | Grote items, textiel |
| MMT | Millimeters | Precisie/kleine items |
| INH | Inches | US-georiënteerde winkels |
| KGM | Kilogram | Gewicht (metrisch) |
| GRM | Gram | Lichtgewicht items, sieraden |
| LBR | Pond | Gewicht (US) |
Productrelaties
Beschikbaar vanaf v2.10.0
Zoekmachines gebruiken productrelaties om te begrijpen hoe items in je catalogus met elkaar verbonden zijn. Schema.org definieert twee belangrijke properties hiervoor: isRelatedTo voor algemene productverbindingen en isAccessoryOrSparePartFor voor onderdelen en accessoires die bij een hoofdproduct horen.
Het toevoegen van deze relaties helpt zoekmachines een rijkere productgrafiek op te bouwen. Dit kan verbeteren hoe je producten verschijnen in "gerelateerde items" en "anderen bekeken ook" functies in zoekresultaten, en het versterkt de algehele topical authority van je productcatalogus door zoekmachines de verbanden tussen je items te tonen.
Locatie: Schema: Products → Product Relationships
Gerelateerde Producten (isRelatedTo)
Mapt Magento's native productrelatie-types naar Schema.org isRelatedTo. Dit vertelt zoekmachines welke producten gerelateerd, vergelijkbaar of complementair zijn.
| Instelling | Beschrijving |
|---|---|
| Enable | Productrelaties aan of uit zetten |
| Related Products (isRelatedTo) | Welk Magento relatietype te gebruiken: Related Products, Up-Sell Products of Cross-Sell Products |
| Related Products Limit | Maximum aantal producten om op te nemen (standaard: 5). Hogere waarden vergroten de paginagrootte |
Welk relatietype kiezen:
- Related Products — Items die vaak samen gekocht worden of vergelijkbare alternatieven. Beste algemene optie.
- Up-Sell Products — Duurdere alternatieven. Goed om premium opties te tonen.
- Cross-Sell Products — Complementaire items (bijv. accessoires getoond bij checkout). Goed om verschillende productcategorieën te verbinden.
Tip: Houd het limiet redelijk (3-5 producten). Elk gerelateerd product vergroot de JSON-LD payload. Alleen ingeschakelde (zichtbare) producten worden opgenomen — uitgeschakelde producten worden automatisch gefilterd.
Voorbeeld output:
"isRelatedTo": [
{
"@type": "Product",
"@id": "https://winkel.nl/bijpassende-stoel.html#product",
"name": "Bijpassende Eetkamerstoel",
"sku": "STOEL-EIKEN-001",
"url": "https://winkel.nl/bijpassende-stoel.html"
},
{
"@type": "Product",
"@id": "https://winkel.nl/tafel-verlengstuk.html#product",
"name": "Tafel Verlengstuk",
"sku": "VERL-EIKEN-001",
"url": "https://winkel.nl/tafel-verlengstuk.html"
}
]
Accessoire / Onderdeel Voor (isAccessoryOrSparePartFor)
Koppelt een product aan het hoofdproduct waar het een accessoire of onderdeel van is. Dit is een gerichte relatie — het huidige product hoort bij een parent product, niet andersom.
Veelvoorkomende toepassingen:
- Kussensets voor een loungebank of bank
- Vervangende onderdelen voor apparaten of machines
- Telefoonhoesjes gekoppeld aan een specifiek telefoonmodel
- Inktcartridges gekoppeld aan een printer
| Instelling | Beschrijving |
|---|---|
| Accessory/Spare Part For | Selecteer een attribuut met de SKU of URL van het hoofdproduct |
De attribuutwaarde kan zijn:
- Een product SKU — de extensie zoekt het product op en genereert een volledige referentie met naam, SKU en URL
- Een product URL — wordt direct gebruikt als
@idenurl(handig voor externe of cross-store referenties)
Voorbeeld: Een kussenset die een accessoire is voor een loungeset.
"isAccessoryOrSparePartFor": {
"@type": "Product",
"@id": "https://winkel.nl/premium-loungeset.html#product",
"name": "Premium Loungeset",
"sku": "LOUNGE-001",
"url": "https://winkel.nl/premium-loungeset.html"
}
Tip: Als een product op basis van SKU niet gevonden wordt of verwijderd is, wordt de property stilzwijgend weggelaten om ongeldige structured data te voorkomen.
Geavanceerde Instellingen
Hide Offer When Price is Zero
Schakel in om Offer schema uit te sluiten wanneer productprijs €0,00 is. Nuttig voor:
- "Prijs op aanvraag" producten
- Gratis downloadbare producten
- Producten met verplichte opties
Custom Prijs Attribuut
Als je een custom attribuut gebruikt voor prijzen (niet Magento's standaard prijs):
- Schakel Use non-default attribute for price in
- Selecteer je custom prijs attribuut
Voorbeeld Output
Complete Product schema output:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Draadloze Koptelefoon",
"image": "https://winkel.nl/media/koptelefoon.jpg",
"description": "Hoogwaardige draadloze koptelefoon met noise cancellation",
"brand": {
"@type": "Brand",
"name": "AudioTech"
},
"sku": "AT-WH-001",
"gtin13": "1234567890123",
"offers": {
"@type": "Offer",
"url": "https://winkel.nl/koptelefoon",
"price": "199.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2025-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "Jan D." },
"reviewRating": { "@type": "Rating", "ratingValue": "5" },
"reviewBody": "Uitstekende geluidskwaliteit!"
}
]
}
Validatie Checklist
Na configuratie, valideer je Product schema:
- Gebruik Rich Results Test
- Controleer op fouten (rood) - moet opgelost
- Controleer op waarschuwingen (geel) - aanbevolen op te lossen
- Verifieer dat alle verwachte velden verschijnen
Veelvoorkomende problemen:
- Ontbrekend merk → Map brand attribuut
- Ontbrekende priceValidUntil → Configureer prijsgeldigheid
- Afbeelding te klein → Gebruik grotere productafbeeldingen
Meer Hulp Nodig?
Documentatie:
- Alle Help Artikelen - Compleet documentatie overzicht
Support:
- Contact Opnemen - Hulp van ons team