Waarom een afwijking ertoe doet
De meeste Shopify-productpagina's bevatten een blok JSON-LD (<script type="application/ld+json">) dat het product beschrijft met schema.org-termen: Product (of ProductGroup bij varianten) en een of meer Offer-objecten met price, priceCurrency en availability.
Machines lezen dit blok omdat het makkelijker is dan uw ontwerp ontleden. Google Merchant Center documenteert bijvoorbeeld dat automatische artikelupdates de schema.org-prijs, -valuta en -beschikbaarheid op uw landingspagina's lezen om tijdelijke afwijkingen in de feed te corrigeren, en dat het de annotaties van een site niet meer vertrouwt als ze onjuist zijn. AI-shoppingagenten die uw pagina's ophalen, kunnen op dezelfde gegevens leunen. Zegt de JSON-LD 39,00 en de pagina 29,00, dan krijgt iemand verderop het verkeerde bedrag.
In de documentatie van Google voor verkopersvermeldingen zijn price (groter dan nul) en priceCurrency verplicht in de Offer, en wordt availability aanbevolen.
Hoe een kloppende Offer eruitziet
Voor een product dat op de pagina 29,00 euro kost en op voorraad is, bevat de Offer precies dezelfde feiten:
"@type": "Offer""price": "29.00"(de prijs die de klant nu betaalt, niet de vergelijkingsprijs; met een punt als decimaalteken)"priceCurrency": "EUR"(de valuta die op de pagina voor die markt wordt getoond)"availability": "https://schema.org/InStock"(ofOutOfStockals de pagina „uitverkocht” zegt)"url"naar de product- of variant-URL waar het te koop is
Bij een product met varianten heeft elke variant een eigen Offer met eigen prijs, beschikbaarheid en SKU. Is de ene variant uitverkocht en de andere niet, dan moet het schema dat ook zeggen.
Een productpagina met de hand controleren
- Kies testpagina's. Een product in de sale, een product met varianten tegen verschillende prijzen en een uitverkocht product. Daar zitten de afwijkingen, niet in de simpele gevallen.
- Bekijk de bron. Open de pagina, druk op Ctrl+U (Cmd+Option+U op een Mac) en zoek op
ld+json. Tel de blokken: meer dan éénProduct-blok is een waarschuwing. - Lees de Offer. Noteer per blok
price,priceCurrency,availabilityen deskuofurlvan de variant. - Vergelijk met de pagina. Zelfde zichtbare prijs, ook bij een saleprijs? Zelfde valuta? Zegt de pagina „uitverkocht” terwijl het schema
InStockzegt? - Gebruik de Rich Results Test van Google op search.google.com/test/rich-results. Die toont welke gestructureerde gegevens Google uitleest en markeert ontbrekende verplichte velden. Of de waarde klopt met de zichtbare prijs, vergelijkt u zelf.
- Wissel van variant en markt. Kies een andere variant en bekijk de pagina, als u in meerdere landen verkoopt, als klant uit een andere markt. Controleer opnieuw.
Gebruikelijke oorzaken in Shopify
Hard gecodeerde of oude themablokken
Sommige thema's, of snippets die een ontwikkelaar jaren geleden toevoegde, zetten een vaste prijs, vaste valuta of altijd InStock neer, ongeacht de variant. Bij een thema-update kan zo'n oud snippet blijven staan en een tweede, verouderd blok uitvoeren.
SEO-, review- en feedapps met een eigen schema
Schema- en review-apps voegen vaak eigen Product-markup toe. Doet het thema dat ook, dan hebt u twee Product-blokken die elkaar kunnen tegenspreken, bijvoorbeeld een met de saleprijs en een met de vergelijkingsprijs. Een app verwijderen haalt niet altijd weg wat die in de themabestanden heeft gezet.
Varianten
Een schemasnippet dat altijd de eerste variant leest, zit fout zodra de klant op een variant-URL met een andere prijs of voorraad terechtkomt.
Meerdere valuta en Shopify Markets
Met Shopify Markets kan de zichtbare prijs in de lokale valuta van de klant staan. Staat in de JSON-LD de standaardvaluta van de winkel vast, of wordt shop.currency gebruikt, dan lopen bedrag en valutacode buiten uw thuismarkt uit elkaar.
Sales, kortingen en caching
Prijzen die een app of script na het laden van de pagina aanpast, kunnen afwijken van de prijs in de server-gerenderde JSON-LD.
Checklist voor afwijkingen
| Wat vergelijken | Typisch symptoom | Waar oplossen |
|---|---|---|
| Prijs | Schema toont vergelijkings- of oude prijs | Productsjabloon van het thema of instellingen van de schema-app |
| Valuta | EUR op de pagina, USD in het schema | Gebruik de valuta van de markt, geen vaste code |
| Beschikbaarheid | Uitverkocht op de pagina, InStock in het schema | Snippet moet de gekozen variant lezen |
| Aantal Product-blokken | Twee blokken met verschillende waarden | Zet één bron uit: thema of app |
| Variant | Variant-URL toont prijs van de eerste variant | Eén Offer per variant |
| Ontbrekend blok | Helemaal geen ld+json | Thema gebruikt structured_data niet; vraag uw ontwikkelaar of de themasupport |
Oplossen zonder iets te breken
- Eén bron van waarheid. Kies of het thema of een app het Product-schema uitvoert, en zet de andere uit.
- Gebruik het filter van Shopify. Actuele Shopify-thema's gebruiken
{{ product | structured_data }}, dat live productdata leest. Breidt u het uit, lees dan waarden van de gekozen variant, geen vaste tekst. - Test op een duplicaatthema via Online winkel > Thema's (Online Store > Themes) voordat u publiceert, en herhaal de handcontrole.
- Controleer opnieuw na wijzigingen. Een review-app installeren, van thema wisselen of een markt toevoegen kan maanden later een afwijking terugbrengen.
Elk product automatisch controleren
De handcontrole werkt voor een paar pagina's, niet voor een hele catalogus, en zegt alleen iets over vandaag. AI Sales Assurance voert deze vergelijking uit voor al uw producten: het signaleert ontbrekende JSON-LD en JSON-LD die afwijkt van de pagina, plus afwijkingen in prijs, valuta, beschikbaarheid en varianten, en legt uit welk themablok of welke app de waarschijnlijke bron is. Alleen-lezen, uw webshop blijft onaangeroerd. Doe een gratis check.
Controleer wat AI-shopping-agents in uw webshop zien
Gratis controle, alleen-lezen: prijzen, voorraad, varianten, gestructureerde gegevens en links vergeleken met uw echte productpagina's. Geen creditcard nodig.
Start mijn gratis controleVeelgestelde vragen
Hoe controleer ik de gestructureerde gegevens van mijn Shopify-producten?
Bekijk de paginabron en zoek op ld+json, en haal de URL door de Rich Results Test van Google. Vergelijk prijs, valuta en beschikbaarheid in de Offer met wat de pagina toont.
Waarom tonen mijn gestructureerde gegevens een andere prijs dan mijn pagina?
Meestal door een hard gecodeerd themasnippet, een tweede Product-blok van een SEO- of review-app, een snippet dat alleen de eerste variant leest, of een vaste standaardvaluta.
Vindt de Rich Results Test van Google prijsafwijkingen?
Nee. De test toont welke gestructureerde gegevens Google uitleest en markeert fouten in verplichte velden, maar de vergelijking met de zichtbare pagina maakt u zelf.
Mag ik twee Product-schemablokken op één pagina hebben?
Beter niet. Twee blokken met verschillende waarden laten crawlers en agenten raden welke klopt. Houd één bron aan: het thema of één app.
Gerelateerde gidsen
Bronnen
- Google Search Central — Gestructureerde gegevens voor verkopersvermeldingen (Product, Offer)
- Google Merchant Center Help — Automatische artikelupdates
- Google — Test voor uitgebreide resultaten (Rich Results Test)
- Anglera — Shopify Product JSON-LD
- Shopify Community — Dawn theme duplicate structured data with a review app