Module 5 · 5.2
LocalBusiness: je bedrijfsgegevens in JSON-LD
Module 5: Gestructureerde gegevens · Leestijd: 13 minuten
Leerdoel: Na deze les kun je een LocalBusiness-blok in JSON-LD schrijven en beoordelen, met de verplichte en aanbevolen eigenschappen volgens Google en het juiste subtype uit schema.org.
Kernbegrippen: LocalBusiness, subtype (Florist, Bakery, Dentist, ...), verplicht: name en address, PostalAddress (streetAddress, postalCode, addressLocality, addressCountry), aanbevolen: telephone, url, openingHoursSpecification, geo, image, priceRange, sameAs, openingHours als tekst, één bron van waarheid
Waarom dit blok ertoe doet
In les 5.1 zag je dat Google gestructureerde gegevens gebruikt om je pagina te begrijpen. Voor een bedrijf met een winkel, praktijk of werkplaats is het belangrijkste blok LocalBusiness: wie ben je, waar zit je, hoe bel je, wanneer ben je open. Google noemt als mogelijk gebruik het kennispaneel in Zoeken en Maps als iemand naar jouw bedrijf zoekt.
Het blok vervangt je Google Bedrijfsprofiel niet (module 6). Het is één van de bronnen waaruit zoekmachines je gegevens halen. Daarom moet het precies hetzelfde zeggen als je profiel, je contactpagina en je gidsvermeldingen. Les 6.4 komt daarop terug.
Het juiste type kiezen
Begin met de vraag: wat voor bedrijf ben ik? LocalBusiness heeft in schema.org dertig directe subtypen, en daaronder nog veel meer. Een paar voorbeelden:
| Bedrijf | Type | Pad in schema.org |
|---|---|---|
| Bloemenwinkel | Florist | LocalBusiness > Store > Florist |
| Bakker | Bakery | LocalBusiness > FoodEstablishment > Bakery |
| Tandarts | Dentist | LocalBusiness > Dentist |
| Kapper | HairSalon | LocalBusiness > HealthAndBeautyBusiness > HairSalon |
| Loodgieter | Plumber | LocalBusiness > HomeAndConstructionBusiness > Plumber |
| Boekhouder | AccountingService | LocalBusiness > FinancialService > AccountingService |
Google vraagt om het meest specifieke type dat past. Kun je niets vinden, dan gebruik je LocalBusiness zelf. Doet je bedrijf twee dingen (een bakkerij met een café), dan mag @type een lijst zijn: ["Bakery", "CafeOrCoffeeShop"]. Let op de schrijfwijze: types beginnen met een hoofdletter en staan precies zo in schema.org. Bloemist, florist of Flower shop bestaan niet; een lezer kent dat type dan niet.
Zoek een type op via https://schema.org/<Type> of in de volledige lijst. Bestaat de pagina, dan bestaat het type.
Verplicht en aanbevolen volgens Google
Google noemt voor een lokaal bedrijf maar twee verplichte eigenschappen:
name: de naam van het bedrijf, zoals die ook op je gevel en in je profiel staat;address: de fysieke locatie, alsPostalAddress. Google vraagt zo veel mogelijk onderdelen in te vullen.
En een reeks aanbevolen eigenschappen. De belangrijkste voor een klein bedrijf:
| Eigenschap | Wat erin hoort | Let op |
|---|---|---|
telephone | Het hoofdnummer | Met landcode en netnummer, bijvoorbeeld +31 33 000 0000 |
url | Het adres van de pagina van deze vestiging | Volledig adres met https://, en het moet werken |
openingHoursSpecification | Openingstijden per dag | Zie hieronder |
geo | GeoCoordinates met latitude en longitude | Getallen, minstens 5 decimalen |
image | Foto('s) van het bedrijf | Adressen die Google mag ophalen en indexeren |
priceRange | Prijsklasse, zoals €€ of €10-25 | Korter dan 100 tekens |
menu, servesCuisine | Alleen voor horeca |
Omdat LocalBusiness ook een Organization is, raadt Google aan ook de velden van Organization te volgen, zoals logo en sameAs (de adressen van je profielen op andere sites, bijvoorbeeld Instagram of Facebook).
Wat Google niet wil in dit blok: review en aggregateRating over je eigen bedrijf. Die zijn alleen bedoeld voor sites die reviews over andere bedrijven verzamelen. Les 5.3 legt uit waarom.
Het adres als PostalAddress
Het adres is een object met een eigen type. Niet één regel tekst, maar losse velden:
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
}streetAddress: straat en huisnummer, met toevoeging als die er is.postalCode: de postcode.addressLocality: de plaats.addressCountry: het land, het liefst als tweeletterige landcode (NL,BE,DE).addressRegion(provincie of staat) mag, maar is in Nederland niet nodig.
Een veelgemaakte fout is "address": "Voorbeeldstraat 12, 3811 AA Amersfoort". Dat is tekst; een lezer moet dan zelf raden wat de postcode is. Gebruik de losse velden.
Openingstijden
Google noemt openingHoursSpecification: een lijst van blokken met dagen, openingstijd en sluitingstijd.
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "17:00"
}
]De regels:
- Dagen in het Engels, zoals in schema.org:
Mondaytot en metSunday(of als volledig adres,https://schema.org/Monday). Geenma, geenmaandag. - Tijden in 24-uursnotatie:
09:00, niet9 uuren niet9:00 AM. - Een dag die niet in de lijst staat, geldt als niet beschreven. Wil je expliciet zeggen dat je een hele dag dicht bent, dan zet je
opensenclosesallebei op00:00. - Dag en nacht open:
opens00:00encloses23:59. - Open tot na middernacht (bijvoorbeeld 18:00 tot 02:00): één blok met
opens18:00encloses02:00. - Tijdelijk andere tijden, zoals een wintersluiting: hetzelfde blok met
validFromenvalidThrough(datums als2026-12-24).
Er is ook een kortere schrijfwijze uit schema.org: "openingHours": ["Tu-Fr 09:00-18:00", "Sa 09:00-17:00"], met tweeletterige Engelse dagen. Die is geldig in schema.org, maar staat niet in de lijst van Google. Heb je de keuze, gebruik dan openingHoursSpecification.
Het hele blok voor Bloemenatelier Lotte
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Florist",
"name": "Bloemenatelier Lotte",
"url": "https://www.example.com/",
"telephone": "+31 33 000 0000",
"image": "https://www.example.com/beelden/winkel.jpg",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.15617,
"longitude": 5.38763
},
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }
],
"sameAs": ["https://www.instagram.com/example"]
}
</script>Let op twee dingen. latitude en longitude zijn getallen, zonder aanhalingstekens; de breedtegraad ligt tussen -90 en 90, de lengtegraad tussen -180 en 180. En de url wijst naar je eigen site, niet naar je Instagram (dat hoort in sameAs).
Waar zet je het blok? Google zegt: op elke pagina mag, maar het is het logischst op een pagina met informatie over je bedrijf, zoals de homepage of de contactpagina. Heb je meer vestigingen, dan krijgt elke vestiging een eigen pagina met een eigen blok en een eigen url.
In de praktijk: AI Builder en WordPress
De AI Builder van WebOké maakt dit blok zelf, uit de bedrijfsgegevens die je bij de site invult: het bedrijfstype (een keuzelijst met onder meer Florist, Bakery en HairSalon, of algemeen LocalBusiness), naam, adres, postcode, plaats, telefoon, e-mail, openingstijden en je sociale profielen. Het blok staat op de homepage en op pagina's met een contactblok. De openingstijden zet de AI Builder nu in de korte schrijfwijze openingHours (bijvoorbeeld Tu-Fr 09:00-18:00). In WordPress doen SEO-plugins iets vergelijkbaars, vaak in een apart onderdeel voor lokale gegevens; bij andere websitebouwers werkt het ook zo.
Voor alle bouwers geldt: het blok is zo goed als wat jij invult. Vul je bij de bouwer een oud telefoonnummer in, dan staat dat oude nummer ook in je JSON-LD. Houd je bedrijfsgegevens op één plek bij en neem ze van daar over naar je site, je profiel en je vermeldingen.
Samenvatting
- Kies het meest specifieke schema.org-type dat past, precies zo geschreven als op schema.org.
- Verplicht volgens Google:
nameenaddress(alsPostalAddressmet losse velden). - Aanbevolen:
telephonemet landcode,urlvan de vestiging,openingHoursSpecification,geoals getallen,image,priceRange. - Openingstijden: Engelse dagnamen, 24-uurstijden; dicht is
00:00tot00:00, dag en nacht open00:00tot23:59. - Geen reviews over je eigen bedrijf in dit blok; zorg dat alles gelijk is aan je profiel en je contactpagina.
Quiz
Opdracht
Opdracht A5.2: Klopt je LocalBusiness-blok? Vul het adres van je homepage of contactpagina in, en daarnaast je bedrijfsnaam, postcode en telefoonnummer zoals ze in je Bedrijfsprofiel staan. Het programma zoekt het bedrijfsblok in de JSON-LD van de pagina en controleert type, verplichte velden, adres, telefoon, openingstijden, coördinaten en url, en vergelijkt naam, postcode en telefoon met wat jij invulde. Geen eigen bedrijfssite? Gebruik dan de site van een winkel of praktijk bij jou in de buurt en laat de drie vergelijkvelden leeg.
Verder lezen
De stappen in deze artikelen gelden voor de panelen van WebOké; bij andere aanbieders werkt het vergelijkbaar.
- WebOké handleiding 8.1: AI Builder: je website laten maken
- WebOké handleiding 8.2: AI Builder: aanpassen, versies en publiceren
- Google Search Central, Gestructureerde gegevens voor lokale bedrijven (LocalBusiness): https://developers.google.com/search/docs/appearance/structured-data/local-business
- Google Search Central, Gestructureerde gegevens voor organisaties (Organization): https://developers.google.com/search/docs/appearance/structured-data/organization
- schema.org, LocalBusiness en alle subtypen: https://schema.org/LocalBusiness
- schema.org, OpeningHoursSpecification: https://schema.org/OpeningHoursSpecification
- Je bedrijfsgegevens voor Google: gestructureerde gegevens (LocalBusiness)
- Gratis WordPress-cursus 9.2: Vindbaarheid: de basis
