Structured data implementeren met JSON-LD (mijn gids) | Ralfvanveen.com
4,9 ★★★★★ 97 reviews
Techniek · Schema · JSON-LD

Structured data met JSON-LD.

Structured data implementeren met JSON-LD: complete gids met Article-, Product-, Organization- en Breadcrumb-schema. Plus de 6 meest waardevolle schema-types voor SEO + validatie via Rich Results Test.

Door Ralf van VeenUpdate: 4 augustus 2025Leestijd: 10 min

01 — typesDe 6 meest waardevolle schema-types voor SEO

Schema.org definieert honderden types, maar slechts een handvol levert concrete SEO-waarde op. In mijn praktijk werk ik met deze 6 schema-types voor 95% van de implementaties. Per type leg ik uit wanneer je het inzet + een werkend JSON-LD voorbeeld. Voor breder context op FAQ-schema specifiek zie FAQ-pagina met schema markup.

6 schema-types · top-prioriteitJSON-LD voorbeelden
01 · Article
Article
Blogposts, kennisbank-artikelen, nieuws. Auteur, datum, publisher.
02 · Product
Product
E-commerce productpagina's. Prijs, voorraad, reviews-rating.
03 · Organization
Organization
Bedrijf identificeren. Logo, social profiles, contact-info.
04 · BreadcrumbList
BreadcrumbList
Site-hiërarchie tonen in SERP. Verbetert CTR.
05 · FAQPage
FAQPage
Question/Answer-paren. Vooral nuttig voor AI-zichtbaarheid.
06 · LocalBusiness
LocalBusiness
Fysieke locaties. Adres, openingstijden, geografische data.

Voorbeeld 1 — Article-schema (voor blog en kennisbank):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Structured data met JSON-LD",
  "author": {
    "@type": "Person",
    "name": "Ralf van Veen",
    "url": "https://ralfvanveen.com/wie-is-ralf/"
  },
  "datePublished": "2025-08-04",
  "dateModified": "2026-05-29",
  "publisher": {
    "@type": "Organization",
    "name": "Ralfvanveen.com"
  }
}
</script>

Voorbeeld 2 — Product-schema (voor e-commerce):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Voorbeeld Product",
  "sku": "SKU-001",
  "brand": {
    "@type": "Brand",
    "name": "Voorbeeld Brand"
  },
  "offers": {
    "@type": "Offer",
    "price": "49.95",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}
</script>

02 — validatieValidatie + 5 meest voorkomende fouten

Schema-implementatie is makkelijker dan vroeger, maar errors zijn nog steeds gangbaar. Hieronder de 5 meest voorkomende fouten in mijn audits en hoe je ze voorkomt. Test elke implementatie via Google's Rich Results Test én Schema.org Validator — beide tools tonen verschillende issues.

5 fouten · validatieveelvoorkomende issues
1
Schema-content komt niet overeen met zichtbare HTML
Cloaking-risico. Schema dat informatie bevat die niet zichtbaar is voor gebruikers = potentieel cloaking. Voorbeeld: Product-schema met "InStock" terwijl pagina "uitverkocht" toont. Google's spam-systemen detecteren dit en kunnen manual action triggeren. Oplossing: schema content moet exact overeenkomen met zichtbare content.
2
Ontbrekende verplichte velden
Geen rich results getoond. Elk schema-type heeft verplichte (required) en aanbevolen (recommended) velden. Article-schema vereist minimaal headline + author + datePublished. Product-schema vereist name + image + offers. Onvolledig schema = valid maar geen rich results. Check de exacte vereisten op schema.org.
3
Datum-formaten niet ISO 8601
Validatie-fout. Datum-velden zoals datePublished en dateModified MOETEN ISO 8601 formaat hebben: YYYY-MM-DD of YYYY-MM-DDTHH:MM:SSZ. Formaten zoals "29-05-2026" of "29 mei 2026" zijn invalid. WordPress-plugins en CMS'sen zetten dit soms verkeerd om — verifieer in raw HTML.
4
Meerdere conflicterende schema-blokken per pagina
Google kiest willekeurig. Twee verschillende Article-blokken op één pagina = Google kiest één om te interpreteren. Vaak via verschillende plugins die elk hun eigen schema injecteren. Audit alle schema-blokken via View Source en behoud alleen één canonieke variant per type.
5
Foutieve schema-types voor content-type
Verwarrende signalen. Een blog-post als Product-schema markeren is geen technische fout in JSON-LD validatie, maar geeft Google verkeerde context. Match schema-type strikt aan content-type: blog = Article, product = Product, FAQ = FAQPage. Niet 'gokken' om rich results te krijgen.

03 — faqVeelgestelde vragen

FAQ · 3 vragenklik om te openen
Helpt schema markup ook voor AI-zoekmachines zoals ChatGPT?
Ja, schema markup heeft toegevoegde waarde voor AI-zichtbaarheid, maar de impact verschilt per AI-engine. Vijf observaties uit mijn praktijk. (1) Google's AI Overviews (Gemini) gebruiken schema als selectie-signaal. Pagina's met sterk geïmplementeerde Article-schema worden vaker geciteerd in AI Overviews dan vergelijkbare pagina's zonder schema. Effect ~10-15% verschil in citation-likelihood. (2) ChatGPT (met web-search) gebruikt schema indirect. Via Bing-index, en Bing waardeert schema voor topic-begrip. Niet direct meetbaar maar consistent observeerbaar. (3) Perplexity hecht minder belang aan schema, meer aan content-kwaliteit. Bron-vermelding gebaseerd op feitelijke kwaliteit, niet structured data. (4) Claude (Anthropic) gebruikt schema als hulp bij parsing, vooral voor Person-schema (auteur-autoriteit) en Article-schema (publicatie-datum, modified-time). (5) Best practice: implementeer schema als foundation, dan content-kwaliteit als hoofdfactor. Schema is multiplier op goede content, niet vervanging. Voor breder context zie structured data en GEO.
Wat is het verschil tussen JSON-LD, microdata en RDFa?
Drie verschillende formats om dezelfde structured data te beschrijven. Vijf principes om de juiste te kiezen. (1) JSON-LD is Google's aanbeveling. Apart script-block in HTML, gescheiden van content. Makkelijk te onderhouden, geen wijziging aan rendering nodig. 95%+ van moderne implementaties gebruikt JSON-LD. (2) Microdata = oudere methode. HTML-attributen (itemscope, itemtype, itemprop) verweven met content. Werkt nog steeds, maar moeilijker te onderhouden en lezen. Sites uit 2010-2015 hebben dit vaak. Migratie naar JSON-LD aan te raden. (3) RDFa = enterprise-georiënteerd. Lijkt op microdata maar met extra capabilities voor complexe data-modellen. Vooral in academische + enterprise-content. Praktisch zelden nodig voor commerciële SEO. (4) Belangrijk: niet mixen. Een pagina met zowel JSON-LD als microdata voor hetzelfde type creates verwarring. Kies één format en gebruik consistent. (5) Migratie-advies: huidige microdata-implementaties → JSON-LD vertalen via tools als merkle.com/seo/schema-markup-generator of handmatig. JSON-LD is duurzamere keuze voor nieuwe implementaties. Voor breder context zie entity-based SEO.
Hoeveel schema-types kan ik op één pagina combineren?
Meerdere schema-types op één pagina is normaal en zelfs aan te raden — mits logisch gecombineerd. Zes principes voor effectieve combinatie. (1) Article + Person + Organization op blog-pagina. Standaard combinatie: Article voor de content, Person voor auteur-info, Organization voor publisher. Drie aparte JSON-LD blokken of één gestructureerd schema met nesting. (2) BreadcrumbList altijd erbij. Werkt naast elk ander schema. BreadcrumbList helpt Google site-hiërarchie begrijpen, kost weinig moeite. (3) Product + Offer + AggregateRating + Review voor e-commerce. Volledige product-schema bevat geneste types. Belangrijk: AggregateRating moet matchen met echte reviews op pagina. (4) Niet overdrijven met types. Een blog-post heeft geen LocalBusiness-schema nodig. Een product geen FAQPage tenzij er echt een FAQ op de pagina staat. Schema moet matchen met inhoud. (5) Gebruik @graph voor complexe combinaties. Bij meer dan 3-4 schema-types: één JSON-LD blok met @graph-array voor alle entities. Cleaner dan multiple losse blokken. (6) Test elke combinatie via Rich Results Test. Sommige schema-combinaties triggeren niet altijd rich results — testen vóór deploy. Voor breder context zie article structured data stappenplan.

Structured data voor jouw hele site?

Volledige schema-audit + implementatie. Article, Product, Organization, Breadcrumb, FAQPage, LocalBusiness — alles netjes opgebouwd in JSON-LD met validatie via Rich Results Test. Plus monitoring van rich-result-impressions in Search Console.

Plan een gesprek met Ralf →