Gestructureerde data beschrijft in een vast formaat wat al op een pagina staat. Kies eerst de functie van de pagina, modelleer daarna alleen de relevante entiteiten en eigenschappen en controleer het resultaat tegen de zichtbare inhoud. Voeg nooit reviews, prijzen, personen of prestaties toe om het schema rijker te laten lijken.

Begin met de functie van de pagina

Een organisatieprofiel, dienstpagina, artikel en contactpagina vervullen verschillende taken. Gebruik een passend hoofdtype en voeg ondersteunende typen alleen toe wanneer ze echt iets beschrijven. Een BlogPosting hoort bij een gepubliceerd artikel. Service beschrijft een concrete dienst. BreadcrumbList volgt een zichtbare en werkende navigatiestructuur.

Meer typen leveren niet automatisch betere zoekresultaten op. Een klein, volledig en juist model is beter te onderhouden dan een grote graph met half ingevulde objecten. Kies eigenschappen vanuit de officiële documentatie voor het beoogde zoekresultaat en vanuit schema.org voor de bredere betekenis.

Houd zichtbare inhoud en JSON-LD gelijk

Google schrijft in de inleiding tot gestructureerde data dat markup de inhoud van de betreffende pagina moet beschrijven en geen informatie moet toevoegen die voor bezoekers ontbreekt. Gebruik die regel als publicatiegrens.

Staat een telefoonnummer in het schema, toon het dan ook op een passende openbare pagina. Gebruik een rating alleen wanneer de onderliggende beoordelingen echt bestaan, zichtbaar zijn en correct worden beheerd. Noem openingstijden pas wanneer het bedrijf die uren heeft bevestigd en kan bijhouden.

Geef iedere entiteit een stabiele identiteit

Gebruik een vaste absolute @id voor de organisatie, website en belangrijke pagina-entiteiten. Laat andere nodes naar die identifiers verwijzen in plaats van steeds een nieuw organisatieobject te maken. Dat voorkomt verschillende spellingen, logo's of adressen binnen dezelfde site.

Beheer naam, URL, logo, contactgegevens en geverifieerde profielen vanuit één configuratie. Paginaspecifieke data blijft bij de pagina: titel, beschrijving, auteur, publicatiedatum en hoofdafbeelding komen uit het gepubliceerde item. Zo blijven sitebrede en redactionele verantwoordelijkheid gescheiden.

Modelleer relaties zonder claims te verdubbelen

Een WebPage kan onderdeel zijn van WebSite en uitgegeven worden door Organization. Een Service verwijst naar dezelfde aanbieder. Een BlogPosting verwijst naar zijn pagina en auteur. Deze relaties maken de graph begrijpelijk zonder de volledige organisatiegegevens op iedere pagina te herhalen.

Gebruik dezelfde canonical URL in metadata, sitemap en @id-opbouw. Bij meerdere talen krijgt iedere openbare route een eigen URL en taalcode, terwijl vertalingen naar dezelfde inhoudsgroep kunnen verwijzen. Meng geen taalvarianten binnen één pagina-entiteit.

Valideer syntax en betekenis apart

Een parser controleert of JSON geldig is. Een schema- of rich-resulttest controleert typen en vereiste eigenschappen. Geen van beide bewijst dat de claim waar is. Vergelijk daarom na iedere technische test ook naam, URL, afbeelding, auteur, datum en zakelijke gegevens met de gerenderde pagina.

Test daarnaast de production HTML, niet alleen een object in de code. Templates kunnen dubbele graphs, verkeerde canonicals of ontwikkel-URL's produceren. Neem een paar representatieve routes op in de releasecontrole en laat ontbrekende of tegenstrijdige kernvelden de build stoppen.

Beheer wijzigingen als contentwijzigingen

Wijs een eigenaar aan voor sitebrede bedrijfsdata en leg vast welke velden uit het CMS, de plugin of de siteconfiguratie komen. Controleer schema opnieuw wanneer een template, contentmodel, URL-structuur of bedrijfsgegeven verandert. Zo blijft gestructureerde data een betrouwbare weergave van de site in plaats van vergeten code.

Gebruik een publicatiecheck per pagina

Voor een dienstpagina kan de zichtbare inhoud bijvoorbeeld de dienstnaam, aanbieder, werkwijze, regio en contactroute dragen. Modelleer alleen die bevestigde gegevens. Laat AggregateRating, Offer, prijs of FAQ weg wanneer de pagina geen echte beoordeling, concreet aanbod, zichtbare prijs of vragenblok bevat. Een leeg of verzonnen object is geen optimalisatie.

Controleer vóór publicatie één canonical, één primaire pagina-entiteit, stabiele @id's, absolute productie-URL's, correcte taal en gelijkheid met de gerenderde tekst. Valideer daarna een representatieve pagina van ieder template. Geldige markup kan een zoekmachine helpen de inhoud te begrijpen, maar garandeert geen rich result, vertoning of hogere positie.