Digizap

Jouw digitale zakmes.

Jouw IP: 216.73.217.62

Kennisbank

JSON-LD: wat je pagina belooft aan een zoekmachine

Een pagina kan meer zeggen dan zijn kop: in een script met application/ld+json schrijft een site in JSON wat hij over zichzelf beweert — een organisatie, een artikel, een breadcrumb, een product. Een zoekmachine leest dat als belofte: wat er in staat, mag ze gebruiken voor wat ze buiten de pagina toont. Linked data haalt die beloften uit de HTML en laat ze zien zoals een crawler ze vindt — blok voor blok, knoop voor knoop.

De tool doet geen nieuwe meting: hij bouwt op dezelfde HTML-lezing van Linkweergave — ons server haalt de pagina op, jouw browser leest. En hij leest eerlijk: een blok dat niet als JSON parseert krijgt de plek waar het brak, een leeg blok heet leeg, en JSON zonder één @type wordt bij naam genoemd in plaats van half gelezen. Wat er níét in staat — microdata, RDFa — blijft buiten beeld en wordt ook niet ontkend.

Dit artikel leest hoe die blokken zijn opgebouwd, wat een crawler er uit kan halen en wat niet, en waarom een blok dat netjes parseert nog geen juiste belofte is. De waarheid van de bewering erachter — of het product werkelijk bestaat — meet geen enkele tool.

1. Een blok is een brief aan de crawler

JSON-LD staat in de HTML als script met type application/ld+json en bevat strikte JSON. Bovenin staat @context: de wijzer die zegt uit welke woordenschat de eigenschappen komen — meestal "https://schema.org". Daaronder staat één object, of een lijst, of een object met @graph: een container van losse knopen. Knoop is wat een @type draagt; in de eigenschappen van een knoop mogen weer knopen staan — een Article met een Organization als author, een product met een offer, een website met een searchaction. De volgorde die de crawler leest, is de volgorde van het document: meerdere blokken zijn meerdere brieven, geen herroeping.

Waarom sites dit doen: wat je in een knoop schrijft, mag de zoekmachine buiten je pagina gebruiken — een breadcrumb in het zoekresultaat, de datum en het type van een artikel, de prijs van een product. Het is geen garantie en geen ranking-signaal op zich: het is een aanbod. En het adres van die brief is de pagina zelf: wat je op de ene pagina belooft, geldt daar — een blog die over een product beweert wat de productpagina niet zegt, twee brieven die twisten.

2. Wat de preview leest — en wat hij weigert

De preview leest wat er werkelijk staat: blokken in documentvolgorde, elk met zijn @context, daarin de knopen met @type — ook in @graph en genest in elkaars eigenschappen — met de eigenschappen erbij, kortgetoond maar in volle aantallen. Een blok dat geen JSON is, wordt geweigerd met de plaats die de parser zelf noemt: regel en kolom, of positie, of "geen plaats" als de JSON brak voordat er een te noemen viel. Een leeg blok heet leeg; JSON die wél parseert maar geen knoop met @type draagt, heet een belofte zonder type.

Ook de eigen grenzen zijn gemeten, niet weggelaten: élke tool leest maximaal 24 blokken, 80 knopen per blok en zes niveaus diep, en wat daar buiten valt staat in het rapport als "niet gelezen" in plaats van als "niet aanwezig". En bij een afgekapte HTML zegt de tool het hardop: blokken verderop zijn niet gezien, dus "geen JSON-LD" is dan geen bewijs dat de pagina er geen draagt.

3. Een blok dat parseert, is nog geen juiste belofte

Wat deze lezing níet doet, staat op de kaart erbij. Het vocabulaire wordt niet gecontroleerd: de tool leest wélke types en eigenschappen er staan, maar zoekt niet op of die bij schema.org horen — een onbekend type is onbekend, niet fout. Wat Google, LinkedIn of WhatsApp van een blok maakt, hangt van haar eigen regels af en die zijn niet gemeten; "rich results" zijn geen recht maar een kans. En microdata en RDFa — structuur in attributen van de body — blijven buiten beeld: "geen JSON-LD" betekent niet "geen structuur op deze pagina".

Het stilste punt is: Wát de JSON beweert, beoordeelt geen enkele tool. Een blok dat netjes parseert kan alsnog onwaarheid beloven — een prijs die niet de prijs is, een author die er niet is. De zoekmachine leest de belofte; of de Belofte uitkomt, moet de pagina zelf waarmaken. Structuurdata is een brief, geen notariële akte — en deze preview laat de brief zien, niet de waarheid ervan.

4. Van geloof naar blok: beginnen

Begin klein en echt: élk soort knoop die je op je pagina kunt onderbouwen. BreadcrumbList (de paden zoals je ze zelf toont), Organization (naam, logo, adres van de site), Article (kop, datum, auteur) of Product met Offer — gekozen uit wat de pagina seriesmatig waarmaakt, niet uit wat er mooi klinkt. Zet één blok, lees het terug met de preview en laat de crawler je brief controleren: de meeste crawler-fouten zijn geen mysterie maar slordigheid — een vergeten komma, een verwarrende quote, een knoop zonder @type — en die vind je hier bij naam en plek.

En lees de brief naast de rest van je kop: Linkweergave toont wat delers uit je meta-regels halen, Wat Google, LinkedIn en WhatsApp uit je pagina halen legt uit hoe die kop samenwerkt, en robots.txt en sitemap kruiscontrole gaat over wat de crawler überhaupt mag komen lezen. Kop, blok en crawl-regel zijn samen de brief die je aan een zoekmachine schrijft.

Meet het zelf: Linked data

De JSON-LD die je pagina al draagt, gelezen zoals een zoekmachine hem vindt: blokken, knopen met @type, eigenschappen — en de JSON die niet parseert. Gebouwd op dezelfde HTML-lezing als Linkweergave.

Lees verder