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.
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.
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.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.
Het KVK-nummer
Er is geen standaardveld voor. De juiste plek is eenidentifier met een eigen propertyID, en dat is precies wat bijna geen enkele plugin doet.Het btw-identificatienummer
Schema.org heeft daar wel een eigenschap voor,vatID, en die blijft in de praktijk leeg.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.
Wat er allemaal in het knooppunt kan
De velden die de plugin kent, en wat er met een leeg veld gebeurt.
- Bedrijfsnaam, plus de statutaire naam wanneer die afwijkt
- Rechtsvorm, gepubliceerd als
additionalProperty - KVK-nummer als
identifiermetpropertyIDKVK - Btw-identificatienummer in
vatID - Straat, postcode, plaats en land
- Telefoonnummer en e-mailadres
- Coordinaten, alleen wanneer je ze allebei invult
- Prijsklasse
- Openingstijden, tot drie blokken per dag voor een lunchpauze
- Afwijkende dagen, met de Nederlandse feestdagen in een klik toe te voegen
- Verzorgingsgebied, per plaats of per postcodegebied
- Betaalwijzen, waaronder iDEAL, Bancontact, pin en op rekening
- Een van 39 schema.org bedrijfstypen, elk een echt subtype van LocalBusiness
Wat je leeg laat komt er niet in
Dat klinkt vanzelfsprekend en is het niet: veel plugins publiceren een lege string, en een lege eigenschap is voor een validator een fout.
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.
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.
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.
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.
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.
manage_options nodig, dus beheerder.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.
In je WordPress: Plugins, Nieuwe plugin, Plugin uploaden. Kies het bestand en klik op Nu installeren.
Klik op Plugin activeren. Er verschijnt een nieuw onderdeel in je beheermenu. Je site verandert er op dat moment nog niet van.
Open het instellingenscherm en loop de standen langs. Alles wat aan je openbare site raakt staat uit tot je het zelf aanzet.
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.
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.
- 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
- 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
theseo_lokaal_schema_conflict en het afgemaakte knooppunt aanpassen met theseo_lokaal_schema_node.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.
Geen enkel uitgaand verzoek
Zoek in de uitgepakte zip opwp_remote_, curl_init en file_get_contents. Nul treffers. Er wordt geen register bevraagd, er is geen sleutel en er is geen dienst erachter.Geen bezoekersgegeven
Geen cookie, geen browseropslag, geen IP-adres, geen teller. De plugin kijkt naar je eigen inhoud.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.Verwijderen ruimt op
De optie en de transient gaan weg. Deactiveren laat ze staan.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.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.
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.