Structured data voor producten: prijs, voorraad en reviews in Google
Structured data is een stukje code op je productpagina dat Google vertelt wat de prijs, de voorraad en de beoordeling van een product zijn. Staat het er goed in, dan kan Google die gegevens onder je zoekresultaat tonen: "€ 89,95 – Op voorraad – 4,6 van 5 (128)". Je hebt er maar een handvol velden voor nodig, en je controleert het in vijf minuten.
Wat Google toont bij producten met structured data
Google gebruikt twee soorten weergave voor producten. Bij een productfragment zie je onder de blauwe link de prijs, de beschikbaarheid en eventueel sterren met het aantal beoordelingen. Bij een verkopersvermelding kan Google er ook verzendkosten en de retourtermijn bij zetten, plus een melding als de prijs recent is gedaald.
Wat je niet zelf bepaalt, is óf het getoond wordt. Je levert de gegevens aan, Google beslist per zoekopdracht. In de praktijk zie je het vaak bij specifieke productzoekopdrachten ("bosch gsb 18v-55 accuboormachine") en zelden bij brede zoekwoorden ("boormachine kopen").
Het effect is vooral dat je resultaat breder wordt en meer vertrouwen wekt. Een webshop in wandlampen die naast de titel ook "€ 64,00 – Op voorraad – 4,7 (89)" laat zien, neemt meer ruimte in dan drie concurrenten die alleen een titel en twee regels tekst hebben.
Welke velden je minimaal nodig hebt
Zet de code in JSON-LD in de `<head>` of onderaan de pagina. Dat leest het makkelijkst en je hoeft je sjablonen niet uit elkaar te trekken. Voor een productpagina heb je nodig:
- `name` – de productnaam zoals hij op de pagina staat
- `image` – minimaal één afbeelding, liefst de hoofdafbeelding in hoge resolutie
- `offers` met `price`, `priceCurrency` (EUR) en `availability`
- `offers.url` – de canonieke url van het product
Sterk aanbevolen, en nodig als je in verkopersvermeldingen wilt verschijnen:
- `brand`, `sku` en `gtin13` (de EAN-barcode)
- `aggregateRating` of losse `review`-items
- `shippingDetails` met verzendkosten en levertijd
- `hasMerchantReturnPolicy` met de retourtermijn, bijvoorbeeld 30 dagen
Voor `availability` gebruik je een vaste waarde: `https://schema.org/InStock`, `OutOfStock`, `PreOrder` of `BackOrder`. "Ja", "3 stuks" of "Binnen 24 uur verzonden" doen het niet.
Heb je maatvarianten, zoals bij schoenen? Zet de varianten dan in een `ProductGroup` met `hasVariant` en geef per variant een eigen `sku` en prijs. Doe je dat niet, dan kiest Google zelf welke prijs hij toont en dat is meestal niet de goedkoopste variant waar je op adverteert.
Prijs en voorraad: waar het het vaakst misgaat
Verreweg de meestvoorkomende fout: de structured data en de zichtbare pagina zeggen iets anders. Dat gebeurt bij kortingen die alleen in het thema-sjabloon worden verwerkt, of bij een cache die de JSON-LD apart bewaart. Een klant klikt op "€ 49,95" en ziet € 59,95. Die bestelt niet, en Google merkt dat ook.
Praktische controles:
- Prijs zonder valutasymbool en zonder duizendtalpunt: `"price": "1299.00"`, niet `"€ 1.299,-"`.
- Toon de prijs inclusief btw als dat ook op de pagina staat. Verkoop je zakelijk exclusief btw, wees dan consequent op pagina, in de feed en in de structured data.
- Zet `priceValidUntil` op een datum in de toekomst bij tijdelijke acties. Een datum uit het verleden levert waarschuwingen op.
- Update `availability` op hetzelfde moment als je voorraadstand. Een uitverkocht product dat in Google nog "Op voorraad" heet, levert klikken op die niets opbrengen.
Bij een webshop in bouwmaterialen met 4.000 producten scheelde het alleen al 300 tot 400 klikken per maand naar tijdelijk uitverkochte artikelen. Dat is geen ramp voor je organische kosten, maar wel voor je conversiepercentage en je productfeed voor Shopping, die uit dezelfde bron komt.
Reviews: wat mag nog wel en wat niet meer
Sterren mogen alleen als de beoordelingen ook echt op de pagina staan en van je eigen klanten of van een gekoppelde beoordelingspartij komen. Een `aggregateRating` van 4,8 zonder zichtbare recensies op de pagina is een beleidsovertreding en wordt genegeerd of afgestraft.
Verder:
- `ratingValue` en `reviewCount` (of `ratingCount`) zijn allebei nodig. Eén review is genoeg om te tonen, maar overtuigt niemand.
- Zet geen beoordelingen van de webshop zelf ("4,8 op Trustpilot") in het productschema. Dat hoort bij `Organization` en Google toont zelfgeplaatste bedrijfsbeoordelingen niet meer in de zoekresultaten.
- Heb je een product zonder recensies? Laat `aggregateRating` dan gewoon weg. Een leeg of nul-veld geeft fouten in Search Console.
- Reviews van een leverancier of een marktplaats overnemen mag niet als die niet op jouw pagina staan.
Een eerlijke 4,3 met 62 beoordelingen doet het in de praktijk beter dan een 5,0 met 3 beoordelingen. Mensen tellen mee.
Hoe je het test in vijf minuten
- Plak de product-url in de Rich Results Test van Google (search.google.com/test/rich-results). Je ziet meteen welke velden Google herkent en welke fouten of waarschuwingen er zijn. Fouten blokkeren de weergave, waarschuwingen niet.
- Controleer bij "Gerenderde HTML" of je JSON-LD er echt staat. Voeg je de code via JavaScript toe, dan zie je hier of Google hem heeft opgepikt.
- Gebruik validator.schema.org voor de schema.org-kant. Die is strenger over de opbouw dan Google en vindt typefouten in veldnamen.
- Kijk in Search Console onder Verbeteringen bij "Productfragmenten" en "Verkopersvermeldingen". Daar zie je fouten over je hele webshop, niet per pagina. Filter op de fout met de meeste getroffen pagina's; dat is bijna altijd één sjabloon.
- Test drie soorten pagina's: een gewoon product, een product met varianten en een uitverkocht product. Daar zitten de verschillen.
Na een aanpassing duurt het meestal een paar dagen tot enkele weken voor Google de pagina's opnieuw ophaalt. Vraag via de URL-inspectie handmatig om indexering voor twee of drie pagina's om te zien of de fout echt weg is, en laat de rest vanzelf gaan.
Wat het oplevert: een rekenvoorbeeld
Stel: een webshop in verlichting krijgt 40.000 vertoningen per maand op productpagina's, met een gemiddelde doorklikratio van 2,1 procent. Dat zijn 840 bezoekers. Gaat die ratio naar 2,5 procent doordat prijs, voorraad en sterren zichtbaar worden, dan zijn het er 1.000.
Die 160 extra bezoekers met een conversiepercentage van 1,8 procent geven bijna 3 extra bestellingen. Bij een gemiddelde orderwaarde van 85 euro en 38 procent brutomarge is dat ongeveer 93 euro brutomarge per maand, ofwel 1.100 euro per jaar, na een paar uur werk in je sjabloon. Geen doorbraak, wel een van de weinige verbeteringen die je één keer doet en daarna blijft doorlopen.
De grotere winst zit vaak aan de andere kant: dezelfde productgegevens voeden je Shopping-campagnes. Fouten die je hier oplost, los je daar ook op. Meer over de samenhang tussen productpagina's en organisch verkeer staat in SEO voor webshops.
Wil je niet elke maand handmatig door Search Console scrollen: Formyx houdt dit soort fouten per dag bij en meldt het als er ineens 200 producten uit je verkopersvermeldingen vallen.
Veelgestelde vragen
Moet ik structured data handmatig toevoegen?
Meestal niet. Shopify, WooCommerce, Lightspeed en Magento leveren basis-structured data mee, maar vaak onvolledig: geen `gtin`, geen retourbeleid, of varianten die verkeerd zijn opgebouwd. Test eerst wat je platform al doet en vul alleen aan wat ontbreekt.
Kom ik hoger in Google door structured data?
Nee, het is geen rangschikkingsfactor. Het verandert hoe je resultaat eruitziet, niet op welke plek het staat. De winst zit in meer klikken op dezelfde positie.
Wat doe ik met producten zonder beoordelingen?
Laat `aggregateRating` weg en vul de rest gewoon in. Prijs en voorraad worden ook zonder sterren getoond. Zodra je vijf tot tien echte beoordelingen hebt, zet je het veld erbij.
Lees ook
Search Console lezen als webshopeigenaar: de vijf rapporten die ertoe doenGastartikelen schrijven voor een link: hoe je het aanpakt zonder spam te wordenFacebook- en Instagram-advertenties beoordelen op winst in plaats van bereikMeta Ads voor webshops: waarom de advertentie belangrijker is dan de campagneLaat Formyx het bijhouden
SEO, Google Ads, Meta, backlinks en AI-zichtbaarheid elke dag gecontroleerd en bijgestuurd. 14 dagen gratis proberen, geen betaalgegevens nodig. Daarna vanaf €40 per maand excl. btw.
Gratis proberen →