NL
Taal · dezelfde pagina NLNederlands/tools-en-plugins/lokaal-schema/ ENEnglish (UK)/en/tools-and-plugins/local-business-schema/ ESEspañolnog niet vertaald We onthouden je keuze niet en sturen je nooit automatisch door.
Over deze keuze

We bewaren alleen je weergavekeuze met een weergavecookie, maximaal 180 dagen op dit apparaat. Geen CRM- of advertentiedata. Je trackingtoestemming verandert niet. Als cookies geblokkeerd zijn, blijft je keuze mogelijk niet bewaard.

SRV · plugin · localbusiness schema reg. T.000 · wordpress · gplv2 of later

LocalBusiness schema met KVK en btw-nummer

Gestructureerde data voor een lokaal bedrijf is niet nieuw. Gestructureerde data die weet dat een Nederlands bedrijf een KVK-nummer heeft, een btw-identificatienummer en klanten die met iDEAL betalen, wel. Deze plugin publiceert een compleet en geldig LocalBusiness knooppunt uit wat je invult, en leest daarna je eigen site terug om de plekken te vinden waar je telefoonnummer, je postcode of de schrijfwijze van je naam er niet mee overeenkomt.

Download de plugin ↓ Plan een gesprek theseo-lokaal-schema-1.0.0.zip · 47 KB · versie 1.0.0 · GPLv2 of later · geen account, geen registratie, geen sleutel
Gianluca, die de tools en plugins van deze site bouwt
beeld · wie het instrument bouwde, legt het ook uit
FIG.01: Wat er uit je invulvelden komtblad 1/3

Het knooppunt zoals het werkelijk in je broncode komt te staan

Dit is geen samenvatting van het knooppunt maar de vorm zoals hij eruit ziet. Let op de drie regels die je bij een gewone LocalBusiness plugin niet krijgt: het KVK-nummer als identifier met een eigen propertyID, het btw-nummer in de schema.org eigenschap vatID, en iDEAL bij de betaalwijzen. Lege velden worden weggelaten, want gestructureerde data met een lege eigenschap erin is slechter dan gestructureerde data zonder.

JSON-LD in de kop van je voorpaginavoorbeeld · ingekort
{ "@type": "Bakery", "name": "Bakkerij De Korenaar", "legalName": "De Korenaar Oisterwijk B.V.", "identifier": { "@type": "PropertyValue", "propertyID": "KVK", "value": "77834453" }, "vatID": "NL003245282B11", "address": { "@type": "PostalAddress", "streetAddress": "Dorpsstraat 12", "postalCode": "5061 HL", "addressLocality": "Oisterwijk", "addressCountry": "NL" }, "telephone": "+31135280000", "openingHoursSpecification": [ ... per dag, tot drie blokken ], "paymentAccepted": [ "iDEAL", "Bancontact", "Pin", "Op rekening" ], "areaServed": [ ... per plaats of per postcodegebied ] }
De rechtsvorm wordt als additionalProperty gepubliceerd, want schema.org heeft er geen eigen veld voor. Coordinaten komen er alleen in als je ze allebei invult, want een halve coordinaat is geen plek. De volledige uitvoer staat woordelijk op het instellingenscherm, zodat je hem kunt lezen voordat hij op je site staat.
DOC.01

Waarom een algemene LocalBusiness plugin voor een Nederlands bedrijf tekortschiet

Elke SEO-plugin kan tegenwoordig wel iets met LocalBusiness. Wat ze allemaal gemeen hebben is dat ze zijn ontworpen op een Amerikaans bedrijf: naam, adres, telefoon, openingstijden, klaar. Een Nederlands bedrijf draagt drie dingen die daar niet in passen en die juist de dingen zijn waar een klant of een zoekmachine naar kijkt.

PUNT 01

Het KVK-nummer

Er is geen standaardveld voor. De juiste plek is een identifier met een eigen propertyID, en dat is precies wat bijna geen enkele plugin doet.
PUNT 02

Het btw-identificatienummer

Schema.org heeft daar wel een eigenschap voor, vatID, en die blijft in de praktijk leeg.
PUNT 03

De betaalwijzen

iDEAL bestaat in geen enkele Amerikaanse lijst, en het is wel de manier waarop je klanten betalen.

Daar komt de tweede helft bij, en die is nog saaier. Gestructureerde data die keurig klopt terwijl er op je contactpagina nog een oud nummer staat, is gestructureerde data die met je eigen site in tegenspraak is. Dat verschil zoeken doet niemand met de hand.

DOC.02
FIG.02: De consistentiecontroleblad 2/3

Drie patronen, drie bronnen, en een lijst met de plek erbij

Dit is de saaie helft van lokale SEO en de helft die niemand doet. Op de meeste sites staat ergens nog een oud 06-nummer, en niemand weet waar. De controle leest je eigen site terug en vergelijkt drie dingen met wat jij hebt ingevuld. Hij verandert nooit iets aan je inhoud; hij wijst aan.

controleleest terug · verandert niets
waar hij kijkt

Drie bronnen

Je gepubliceerde items, de tekst van je widgets, en je menus.

Alles wat een bezoeker kan lezen en wat jij zelf hebt getypt.

waarnaar hij zoekt

Drie patronen

Elk telefoonnummer dat begint met 0, +31 of 0031 en negen tot elf cijfers heeft.

Elke postcode geschreven als vier cijfers en twee hoofdletters.

Elke schrijfwijze van je bedrijfsnaam die niet letter voor letter gelijk is aan wat je hebt ingevuld.

wat eruit komt

Een lijst met de plek

Per verschil een regel met een link naar de plek waar het staat, zodat je er in twee klikken bent.

De uitkomst wordt een uur in een transient geparkeerd, want het is een momentopname en geen archief.

Een lang ordernummer kan als vals alarm in de lijst belanden. Dat is de grens van tekst lezen en het scherm zegt het er zelf bij in plaats van te doen alsof elke treffer een fout is.
DOC.04

Zo installeer je hem, in vier stappen

Er is geen account nodig, geen sleutel en geen registratie. Een gewone WordPress waar je beheerder bent is genoeg.

WordPress6.0 of hoger. In de plugin staat getest tot en met 6.8.
PHP7.4 of hoger. De code is gecontroleerd op 8.5.
RechtenJe hebt manage_options nodig, dus beheerder.
Taal van het schermNederlands op een Nederlandse site, anders Engels.
Ook te vinden op Volledige broncode op GitHub De zip hierboven en de broncode op GitHub zijn dezelfde versie. Deze plugin staat nog niet in de officiele WordPress-pluginmap. Hij is klaargezet voor inzending; zolang dat niet rond is, is de download hierboven de enige plek waar je hem krijgt. Stand gemeten op 19 augustus 2026.
STAP 1 · OPHALEN

Klik hierboven op de downloadknop. Je krijgt theseo-lokaal-schema-1.0.0.zip, 47 KB. Pak hem niet uit: WordPress wil de zip zelf.

STAP 2 · UPLOADEN

In je WordPress: Plugins, Nieuwe plugin, Plugin uploaden. Kies het bestand en klik op Nu installeren.

STAP 3 · ACTIVEREN

Klik op Plugin activeren. Er verschijnt een nieuw onderdeel in je beheermenu. Je site verandert er op dat moment nog niet van.

STAP 4 · INSTELLEN

Open het instellingenscherm en loop de standen langs. Alles wat aan je openbare site raakt staat uit tot je het zelf aanzet.

DOC.03

Waar het knooppunt terechtkomt

Drie keuzes, en de eerste is de standaard.

Alleen op de voorpagina

De standaard, en voor de meeste sites de juiste. Een zoekmachine verwacht het bedrijfsknooppunt op de voorpagina en niet twintig keer verspreid over de site.

Op elke pagina

Kan, en is soms nuttig bij een site waar de voorpagina niet de belangrijkste ingang is.

Op de pagina's die je zelf kiest

Voor een site met meerdere vestigingen of met een aparte contactpagina die als bedrijfspagina dienst doet.

Ongeacht de keuze staat de volledige uitvoer woordelijk op het instellingenscherm. Je leest wat er komt te staan voordat het er staat, en je kunt hem in de Rich Results Test van Google plakken zonder je site aan te raken.

FIG.03: Wat de plugin bewust niet doetblad 3/3

Vier dingen die hij wel doet, en vier die hij weigert

Bij gestructureerde data is de grootste schade niet een ontbrekend veld maar twee plugins die tegelijk hetzelfde publiceren. Google krijgt dan twee LocalBusiness knooppunten die elkaar tegenspreken en kiest er zelf een. Daarom kijkt deze plugin eerst of er al iemand aan het woord is.

grenzenwat wel · wat niet
doet hij wel
  • Een compleet en geldig LocalBusiness knooppunt publiceren, standaard alleen op de voorpagina
  • Zwijgen zodra Yoast Local SEO actief is, of Rank Math met een lokaal bedrijfstype ingesteld, en op het scherm zeggen welke van de twee hij vond
  • De vorm van het KVK-nummer controleren: acht cijfers
  • De vorm van het btw-nummer controleren: NL, negen cijfers, de letter B, twee cijfers
doet hij niet
  • Je KVK-nummer tegen het handelsregister aanhouden
  • Het btw-nummer narekenen met een controlecijfer
  • Je inhoud aanpassen als de consistentiecontrole iets vindt
  • Enig verzoek naar buiten sturen
Het btw-identificatienummer van een Nederlandse eenmanszaak wordt sinds 2020 willekeurig getrokken. Er valt geen controlecijfer meer na te rekenen, dus alleen de vorm wordt gecontroleerd, en de plugin beweert niet meer dan dat. Ontwikkelaars kunnen de conflictcontrole overrulen met het filter theseo_lokaal_schema_conflict en het afgemaakte knooppunt aanpassen met theseo_lokaal_schema_node.
DOC.05

Privacy: wat er wel en niet wordt vastgelegd

Deze plugin gaat over jouw bedrijfsgegevens en niet over je bezoekers. Dat maakt de paragraaf kort, maar hij is wel na te lopen.

PUNT 01

Geen enkel uitgaand verzoek

Zoek in de uitgepakte zip op wp_remote_, curl_init en file_get_contents. Nul treffers. Er wordt geen register bevraagd, er is geen sleutel en er is geen dienst erachter.
PUNT 02

Geen bezoekersgegeven

Geen cookie, geen browseropslag, geen IP-adres, geen teller. De plugin kijkt naar je eigen inhoud.
PUNT 03

Alles staat in een optierij

Wat je invult staat in je eigen database, in een enkele optierij. De uitkomst van de consistentiecontrole wordt een uur in een transient geparkeerd omdat het een momentopname is.
PUNT 04

Verwijderen ruimt op

De optie en de transient gaan weg. Deactiveren laat ze staan.
PUNT 05

Let op wat je publiceert

Dit is het enige punt waar je zelf een keuze maakt: een KVK-nummer en een btw-identificatienummer zijn openbare bedrijfsgegevens, maar bij een eenmanszaak vanuit huis is het bezoekadres je woonadres. Dat is geen bezwaar van de plugin maar een afweging van jou, en het staat hier omdat het anders pas opvalt als het al in de broncode staat.
DOC.06

Veelgestelde vragen

Controleert hij mijn KVK-nummer bij het handelsregister? Nee. Hij controleert de vorm, acht cijfers, en verder niets. Tegen het register aanhouden betekent een externe dienst aanroepen, en dat doet deze plugin niet.

Waarom wordt het btw-nummer niet nagerekend?

Omdat het btw-identificatienummer van een Nederlandse eenmanszaak sinds 2020 willekeurig wordt getrokken. Er is geen controlecijfer meer om na te rekenen. De vorm wordt wel gecontroleerd.

Ik gebruik Yoast of Rank Math.

Krijg ik twee blokken? Nee. De plugin zoekt naar Yoast Local SEO en naar Rank Math met een lokaal bedrijfstype ingesteld, en zwijgt zodra hij een van de twee vindt. Het beheerscherm zegt welke. Die controle staat aan en je kunt hem uitzetten.

Kan ik het knooppunt aanpassen vanuit mijn thema?

Ja, met het filter theseo_lokaal_schema_node op het afgemaakte knooppunt. De conflictcontrole overrule je met theseo_lokaal_schema_conflict.

Werkt de consistentiecontrole op een grote site?

Hij leest je gepubliceerde items, je widgets en je menus. Op een site met duizenden berichten duurt dat merkbaar langer, en daarom wordt de uitkomst een uur bewaard in plaats van bij elke schermweergave opnieuw berekend.

Meerdere vestigingen?

Deze versie publiceert een bedrijfsknooppunt. Voor meerdere vestigingen kies je de pagina's waar hij verschijnt en vul je per site of per subsite de gegevens in.

DOC.07 · Volgende stap

Wat je er de eerste week aan hebt

De snelste route is invullen, de uitvoer op het scherm lezen, en daarna de consistentiecontrole draaien. Die laatste levert bij vrijwel elke site die een paar jaar bestaat minstens een oud telefoonnummer op. Wil je weten hoe je bedrijf ervoor staat in Google zelf, dan is de lokale vindbaarheidschecker de plek, en de lokale SEO checklist legt de rest van het werk uit. Wil je erover doorpraten, plan dan een gesprek.

Sectie · Volgende stap24/7 bereikbaar · sales@theseo.nl
Plan een gesprek ↗
Geschreven door GianlucaOprichter. Bouwt sinds 2017 aan vindbaarheid voor Nederlandse bedrijven, in Google en in AI-antwoorden. Meer over het instituut.