Kort antwoord: Schema markup (JSON-LD) is gestructureerde data die zoek- en AI-engines precies vertelt wat een pagina is — een product, artikel, FAQ of merk. Op Shopify bevatten de meeste thema's alleen gedeeltelijke Product-schema's, waardoor winkels FAQ-, Breadcrumb- en Organization-markup missen en de rijke resultaten en AI-begrip die ze ontgrendelen. Voeg geldige JSON-LD toe die overeenkomt met de zichtbare pagina — niet-overeenkomende markup (een beoordeling of prijs die niet wordt getoond) is een spam-signaal. RankEngine injecteert en valideert het automatisch.
Dit is een complete Shopify schema markup implementatiegids — hoe je JSON-LD gestructureerde data toevoegt die zoekmachines precies vertelt wat een pagina is: een product, een artikel, een set FAQs, een merk. Doe het goed en je komt in aanmerking voor rijke resultaten in Google en ben je gemakkelijker te citeren voor AI-antwoormachines. Op Shopify is de realiteit dat de dekking van thema's gedeeltelijk is, en de hiaten kosten je de meest waardevolle snippets. Hieronder: de JSON-LD types die ertoe doen, waar elk blok naartoe gaat, en de validatiediscipline die ze werkend houdt.
Wat JSON-LD gestructureerde data is en waar het naartoe gaat
JSON-LD is een script-tag in de pagina-kop die de pagina beschrijft in een vocabulaire van schema.org. Het is onzichtbaar voor shoppers en wordt alleen door machines gelezen. Google beveelt JSON-LD aan boven de oudere microdata-aanpak omdat het in één blok zit in plaats van verstrengeld door je HTML-markup, wat het veel gemakkelijker maakt om correct te houden.
Op Shopify wordt JSON-LD uitgezonden door Liquid in je thema (vaak in bestanden zoals theme.liquid, product.json secties, of een gedeeld snippet), of geïnjecteerd door een app. Het belangrijkste om te begrijpen: de data moet beschrijven wat er daadwerkelijk op de weergegeven pagina staat. Schema dat een aantal beoordelingen claimt die de pagina niet toont, of een prijs die niet meer overeenkomt, is de snelste route naar een handmatige straf voor gestructureerde-data-spam.
De JSON-LD types die ertoe doen voor een Shopify-winkel
Je hebt niet elk bestaand schema-type nodig. Vijf dekken bijna alle waarde:
| Schema Type | Primair Rijk Resultaat / Verbetering | AI Signaal / Begripswaarde |
|---|---|---|
| Product | Prijs, voorraad, sterbeoordeling verbetering; Google Shopping-vermelding | Biedt productdetails aan AI-winkelantwoorden |
| BreadcrumbList | Breadcrumb-pad in zoekresultaten | Minimale AI-signaal |
| FAQPage | FAQ rijk resultaat (beperkt tot gezaghebbende sites) | Sterk geanalyseerd door AI-antwoormachines voor samenvatting en citatie |
| Organization | Kennisvenster met merkidentiteit | Verbindt producten terug naar een echt bedrijf voor AI-machines |
| Article | Artikelbehandeling met kop, auteur, datum | Schone auteurschapssignalen voor antwoormachines |
- Product — naam, prijs, valuta, beschikbaarheid, merk, en (indien daadwerkelijk aanwezig op de pagina) aggregateRating en review. Dit is wat een vermelding in aanmerking laat komen voor prijs-, voorraad- en sterbeoordelingverbeteringen, en het is de data die Google Shopping en AI-winkelantwoorden lezen. Beschikbaarheid moet een schema.org-waarde gebruiken zoals https://schema.org/InStock of https://schema.org/OutOfStock, niet de woorden "op voorraad."
- BreadcrumbList — drukt je Home → Collectie → Product hiërarchie uit zodat Google een breadcrumb-pad kan weergeven in plaats van een ruwe URL in resultaten.
- FAQPage — markeert echte vraag-en-antwoordinhoud. Google heeft FAQ rijke resultaten beperkt tot gezaghebbende overheids- en gezondheidssites voor de meeste winkels, dus behandel FAQPage vandaag als een AI-antwoormachine-signaal eerst: het wordt sterk geanalyseerd door machines die samenvatten en citeren. Markeer nooit promotionele tekst als een FAQ.
- Organization — je merkidentiteit: wettelijke naam, logo en sociale of profiel links. Dit is wat een kennisvenster vult en AI-machines in staat stelt een productpagina terug te verbinden naar een echt bedrijf.
- Article — voor blogposts: kop, auteur, datumPublicatie. Het helpt inhoud naar voren te brengen in Google's artikelbehandelingen en geeft antwoormachines schone auteurschapssignalen.
Waarom je thema niet genoeg is
De meeste Shopify-thema's bevatten gedeeltelijke Product-schema's en weinig anders. Dawn en zijn afstammelingen bevatten een basis Product-blok, maar je zult meestal geen BreadcrumbList, geen Organization en geen Article-markup uit de doos vinden. De gevolgen zijn stil: er verschijnt nergens een fout, je komt simpelweg nooit in aanmerking voor de verbeteringen die je mist.
Het diepere probleem is dat gedeeltelijke schema's vaak ook ongeldige schema's zijn. De fout die we het vaakst zien is een Product-blok dat een vereist of sterk aanbevolen veld mist — geen priceCurrency, een offers object zonder prijs, of een review zonder reviewProperty om aan op te hangen. Google's parser is strikt: één ontbrekende vereiste eigenschap op een item verlaagt de geschiktheid van dat item, en een echte syntaxisfout — een verdwaalde komma, een niet-ontsnapte aanhalingsteken in een productbeschrijving die door Liquid wordt gehaald — kan het hele blok ongeldig maken zodat er helemaal niets wordt gelezen.
Stapsgewijze implementatie: voeg de markup toe en valideer deze
De mechanica is eenvoudig; de discipline ligt in validatie.
- Plaats geldige JSON-LD in de pagina-kop, één script-tag per type, met de juiste @context van https://schema.org en een nauwkeurige @type.
- Vul elk veld met live data. Op een product moeten de prijs, valuta en beschikbaarheid overeenkomen met wat de etalage op dat moment toont — niet een gecachte of hardgecodeerde waarde.
- Voer de pagina door Google's Rich Results Test en de schema.org validator. Rich Results Test vertelt je voor welke verbetering je in aanmerking komt; de schema.org validator vangt structurele fouten die de Google-tool soms tolereert. Gebruik beide.
- Controleer opnieuw na elke thema-update. Thema-upgrades en app-installaties voegen routinematig een tweede, conflicterend blok toe.
Dat laatste punt is de valkuil die zorgvuldig werk ongedaan maakt. Dubbele schema's — twee Product-blokken op één pagina, één van het thema en één van een app — verwarren Google over welke te vertrouwen en kunnen het rijke resultaat volledig onderdrukken. Voordat je schema toevoegt via welke methode dan ook, bekijk de pagina-bron en zoek naar bestaande script-tags van het type application/ld+json zodat je geen tweede kopie bovenop stapelt.
Controleer wat je winkel al uitzendt
De meeste Shopify-winkels hebben niet zozeer gestructureerde data nodig die moet worden toegevoegd, maar gecorrigeerd: het thema levert een gedeeltelijk Product-blok, een beoordelingen- of SEO-app injecteert een tweede, en de twee zijn het oneens. Dus voordat je iets toevoegt, ontdek wat de winkel vandaag uitzendt.
Vertrouw niet op de app-lijst. Open een productpagina, bekijk de bron en zoek naar application/ld+json. Je zult meestal meer dan één blok vinden: het thema zendt er één uit, en elke SEO- of beoordelingen-app zendt een andere uit. Tel ze voordat je iets verandert.
Voer vervolgens de pagina door Google's Rich Results Test. Het rapporteert per type: wat het heeft gedetecteerd, welke velden ontbreken en welke ongeldig zijn. Waarschuwingen zijn optionele velden; fouten maken de pagina volledig ongeschikt voor het rijke resultaat.
De Search Console Enhancements rapporten (Product snippets, Merchant listings) zijn het vlootoverzicht. Ze lopen dagen achter, maar ze dekken elke geïndexeerde URL in plaats van degene die je toevallig hebt getest, en ze laten zien of een fout zich verspreidt.
De vijf gestructureerde-datafouten die Shopify-winkels het meest tegenkomen
Twee Product-blokken die het oneens zijn. Het thema zendt een Product uit met één prijs; een beoordelingen-app zendt een andere uit met een beoordeling. Google kiest er één, meestal niet degene die je wilt. Los het op door één bron te verwijderen, niet door een derde toe te voegen.
Prijs en beschikbaarheid drijven af. Markup wordt gegenereerd bij het weergeven van de pagina maar gecached, of hardgecodeerd tijdens een thema-bewerking. Een product raakt uit voorraad en de markup zegt nog steeds InStock. Dit is de snelste manier om merchant listings onderdrukt te krijgen, omdat het wordt gecontroleerd tegen je etalage.
AggregateRating zonder zichtbare beoordelingen. Google vereist dat de beoordeling zichtbaar is op de pagina waarop het is gemarkeerd. Markup die een beoordeling draagt die de shopper niet kan zien is een spam-signaal, en het is de meest voorkomende oorzaak van een handmatige actie voor gestructureerde data op een Shopify-winkel.
Volledig ontbrekende aanbiedingen. Een Product-node met een naam, beschrijving en merk maar geen offers komt helemaal niet in aanmerking voor een productrijk resultaat. Het valideert zonder fouten en doet niets.
Geëscaped of afgeknot JSON. Markup die via een thema-instelling of een metafield wordt geïnjecteerd, wordt HTML-geëscaped, dus een dubbele aanhalingsteken wordt " en het blok stopt met parseren. Het faalt stilletjes — de Rich Results Test meldt gewoon dat er geen gestructureerde data is gevonden.
Verander één bron tegelijk en test opnieuw. Twee gelijktijdige bewerkingen aan twee emitters is hoe winkels eindigen met drie Product-blokken. En stem markup elke keer af op de zichtbare pagina: als de pagina geen prijs toont, markeer er dan geen op. De regel die Google handhaaft is niet "is de data waar" maar "kan een shopper het zien".
Ecommerce gestructureerde data: de Product-velden die het gewicht dragen
Voor een online winkel doen de Product-node en zijn Aanbieding bijna al het werk, dus het is de moeite waard om te weten welke velden de geschiktheid bepalen en welke decoratie zijn.
| Veld | Waar het zit | Wat het ontgrendelt | Veelvoorkomende Shopify-fout |
|---|---|---|---|
| naam, afbeelding, beschrijving | Product | Basisgeschiktheid | Afbeeldings-URL wijst naar een kleine miniatuurvariant |
| merk, sku, gtin / mpn | Product | Merchant-listing matching, Shopping | Merk ontbreekt op niet-gemerkte of private-label producten |
| offers → prijs, priceCurrency | Aanbieding | Prijs in het resultaat | Prijs weergegeven als "19.99 USD" tekst, of ontbrekende priceCurrency |
| offers → beschikbaarheid | Aanbieding | Voorraadstatus | Gewone woorden ("op voorraad") in plaats van de schema.org URL-waarde |
| offers → url | Aanbieding | Diepe link naar de variant | Weggelaten, dus alle varianten lossen op naar de ouder |
| aggregateRating, review | Product | Sterbeoordeling | Gemarkeerd terwijl er geen beoordeling zichtbaar is op de pagina |
| shippingDetails, hasMerchantReturnPolicy | Aanbieding | Verzending en retourverbeteringen | Nooit uitgezonden door thema's; alleen apps voegen ze toe |
Varianten zijn de Shopify-specifieke rimpel. Een product met zes maten is één Shopify-product maar zes koopbare items, elk met zijn eigen prijs en voorraad. Google's variant-markup drukt dit uit als een ProductGroup met hasVariant-vermeldingen, of als één Product per variant-URL; wat het niet wil is een enkel Product waarvan de prijs en beschikbaarheid stilletjes alleen de standaardvariant beschrijven. Collectiepagina's hebben minder nodig: een BreadcrumbList en een CollectionPage, en markeer alleen de producten van het raster met volledig Product-schema als de prijs en beschikbaarheid die op de kaart worden getoond overeenkomen met wat de markup zegt.
Het correct houden terwijl de catalogus verandert
Een winkel met 40 producten kan met de hand worden gevalideerd. Een winkel met 4.000 kan dat niet, en de faalmodus is dat een subset van pagina's breekt — een producttype zonder merk, een collectie zonder afbeelding — terwijl de pagina's die je spot-checkt prima blijven.
| Winkelgrootte | Validatiebenadering | Risico |
|---|---|---|
| 40 producten | Gevalideerd met de hand | Alle pagina's gecontroleerd; fouten waarschijnlijk opgevangen |
| 4.000 producten | Kan niet met de hand worden gevalideerd; alleen spot-check | Een subset van pagina's breekt terwijl de spot-gecontroleerde pagina's prima blijven |
Dat is het geval voor het genereren van markup uit live productdata in plaats van het sjabloneren ervan: de waarden komen uit dezelfde bron die de etalage weergeeft, dus ze kunnen niet uit elkaar drijven. RankEngine's Autopilot heeft een Auto JSON-LD Schema-regel die Product-, Artikel- en Organization-schema schrijft via het metafields.seo.jsonld-veld van de etalage en opnieuw valideert bij de dagelijkse run, en zijn Content Studio voegt FAQPage, HowTo, Recept, Auteur, VideoObject en Evenement-bouwers toe met hetzelfde metafield-toepadingspad — gedocumenteerd in Instellen van Autopilot-regels en de gestructureerde schema-suite. Test opnieuw na thema-updates ongeacht de route: een thema-update vervangt sjabloonbestanden, en handmatig bewerkte JSON-LD in product.liquid wordt zonder waarschuwing overschreven.
Handmatig Liquid bewerken versus een app gebruiken
Je kunt schema toevoegen door thema Liquid direct te bewerken — de stapsgewijze methode, en zijn faalmodi, staan in hoe schema toe te voegen aan Shopify zonder een app. Het werkt, en voor een enkel statisch blok zoals Organization is het redelijk. Maar het is fragiel op schaal: je schrijft JSON met de hand binnen een sjabloontaal, productdata stroomt binnen via variabelen die aanhalingstekens en regeleinden kunnen bevatten, en elke thema-update riskeert je bewerkingen te overschrijven. Eén misvormde interpolatie en Google negeert stilletjes het hele blok — zonder foutmelding in de admin.
Een app-gebaseerde aanpak injecteert gevalideerde JSON-LD over de hele catalogus en houdt het gesynchroniseerd met live prijs en voorraad, wat de twee moeilijkste delen verwijdert: correctheid op schaal en actueel blijven terwijl de voorraad verandert. Welke route je ook neemt, de validatiestap is niet-onderhandelbaar.
Schema als een AI-begripssignaal
Rijke resultaten zijn de klassieke reden voor schema, maar de waardevollere reden nu is machinebegrip. AI-antwoormachines die het web samenvatten leunen op gestructureerde data om te weten wat een pagina is, wat het verkoopt en wie het heeft gepubliceerd. Schone Product- en Organization-schema's zijn een van de sterkste "begrip"-signalen die je ze kunt geven, daarom staat het centraal in answer engine optimization en de bredere verschuiving naar AI search optimization. Combineer het met een llms.txt-bestand en je geeft zowel crawlers als taalmodellen een duidelijke, ondubbelzinnige lezing van je winkel. Onze AEO voor Shopify antwoormachines gids gaat dieper in op dat oppervlak, en schema is een terugkerende lijn in de Shopify SEO checklist voor 2026.
Waar het past bij de rest van je SEO
Schema vervangt geen fundamenten — het versterkt ze. Een pagina heeft echte inhoud nodig, correcte canonical tags, en solide productpagina-SEO voordat rijke data de moeite waard is om toe te voegen; markup op een dunne pagina beschrijft gewoon een dunne pagina. Behandel schema als de laag die een al goede pagina leesbaar maakt voor machines, en zie de volledige Shopify SEO basis voor de rest.
RankEngine injecteert geldige Product-, FAQ-, Breadcrumb- en Organization JSON-LD over een winkel, valideert elk blok tegen de live productdata, en schrijft de wijzigingen terug in Shopify met verificatie — geen Liquid-bewerking, geen dubbele blokken, geen stille breuk na een thema-update.