Data Integratie

Google Sheets data in WordPress tonen: zo doe ik het bij klanten

Google Sheets data in WordPress tonen: zo doe ik het bij klanten

Foto: Luca Sammarco via Pexels

Kort antwoord

Met de Remote Data Blocks plugin koppel je een Google Sheet aan WordPress en toon je de data live op je site. Ideaal voor prijslijsten, contactgegevens en productcatalogi die in een spreadsheet leven. Ik gebruik dit bij klanten die hun data al in Sheets bijhouden en geen zin hebben om alles dubbel in WordPress te onderhouden. De setup duurt ongeveer een uur de eerste keer, daarna binnen 15 minuten klaar per nieuwe sheet.

Je begrijpt waarom dit voor klanten een verschil maakt

Bij mijn klanten zie ik dit elke maand: ze hebben een prijslijst, productcatalogus of contactdatabase in Google Sheets staan, omdat dat snel werkt. Op de website moeten dezelfde gegevens komen, dus ze typen alles over. Of erger: ze laten het verouderen omdat dubbel onderhouden te veel werk is.

De typische klant: een MKB-bedrijf met 50 producten, prijzen die elk kwartaal aangepast worden, en een website waar de prijzen op moeten staan. zonder integratie betekent dit dat iemand elke kwartaal handmatig 50 prijzen overzet. Met integratie pas je het in Google Sheets aan en de website volgt automatisch.

Ik werk met dit patroon nu een jaar of twee bij verschillende klanten. Het scheelt aantoonbaar tijd, en het voorkomt het type foutje dat ontstaat als je hetzelfde getal op twee plekken bijhoudt.

Je hebt de plugin geïnstalleerd en geactiveerd

Remote Data Blocks is een gratis WordPress-plugin van Automattic. Installeer hem via je WP-admin onder Plugins → Nieuw, zoek op "Remote Data Blocks", activeer. Daarna verschijnt er een extra menu-item in je dashboard.

De plugin is open-source en wordt actief onderhouden door het Automattic-team. Geen jaarlijkse licentiekosten, geen verborgen Pro-functies. Bij klanten gebruik ik altijd alleen de gratis versie en dat is genoeg.

Een tip uit eigen ervaring: zet de plugin eerst op een staging-omgeving voordat je hem op productie laat draaien. De koppeling met Google Cloud kan in zeldzame gevallen vragen om herauthorisatie, en dat wil je niet midden in een werkdag op de live site.

Je hebt Google Cloud klaar staan voor de koppeling

Voor de koppeling heb je een Google Cloud-project nodig met de Google Sheets API ingeschakeld en een service-account-credentials-bestand. Klinkt zwaar, in de praktijk is het 10 minuten klikken in de Google Cloud Console.

Mijn route door de Google Cloud Console, de eerste keer 15 minuten, daarna minder dan 5: één: open console.cloud.google.com en maak een nieuw project aan. Twee: ga naar APIs & Services en zet de Google Sheets API aan. Drie: maak onder Credentials een service account aan en download de JSON-sleutel. Vier: deel je Google Sheet met het e-mailadres van het service account zodat het toegang heeft.

Die laatste stap vergeten developers regelmatig. Het service account heeft een eigen e-mailadres dat eindigt op iam.gserviceaccount.com, en je deelt je Sheet daarmee net als met een collega. Vergeten betekent dat de plugin alleen "permission denied" oplevert, dat zoek je dan een tijdje uit.

Je hebt je eerste Google Sheet aan WordPress gekoppeld

Upload de JSON-sleutel in de Remote Data Blocks instellingen, plak de URL van je Google Sheet erbij, en kies welk tabblad je wilt gebruiken. De plugin haalt de kolommen op en je kunt direct kiezen welke je wilt tonen op je site.

Concreet bij een klant met een prijslijst: hij had een Sheet met kolommen Productnaam, Prijs, Voorraad, Categorie. Na koppeling kon ik in elke pagina-editor een Remote Data Block invoegen, kiezen welke kolommen ik wilde tonen, en de styling aansluiten op de huisstijl.

De data ververst standaard elk uur, maar je kunt dat instellen tot elke 5 minuten of juist eens per dag. Voor prijslijsten zet ik het op een uur, voor contactgegevens elke dag. Vaker ververseten kost je extra Google API-calls maar is meestal niet nodig.

Je hebt een werkbare workflow voor de klant

De klant past Google Sheets aan, de website werkt automatisch bij. Zo simpel hoort het te zijn. Bij mij is de standaard nu: korte instructie schrijven (één A4 met screenshots), klant traint zichzelf in 15 minuten, klaar.

Wat ik bij elke klant achterlaat: een korte handleiding van één A4 met "zo werk je je prijslijst bij" plus screenshots. Daarop staan de drie regels die ze moeten weten: welk Sheet, welk tabblad, en hoe vaak de site zichzelf vernieuwt. Niet meer, niet minder.

Resultaat: klanten die hun eigen content kunnen onderhouden zonder dat ze me hoeven te bellen voor elke prijswijziging. Voor mijn praktijk levert dat blije klanten op en voor mij voorspelbaarder werk. Beide partijen winnen.

Conclusie

Mijn werkwijze in het kort: Google Sheets is voor de data, WordPress voor de presentatie. Door beide te koppelen voorkom je het overtypen dat klanten kost en dat fouten introduceert. Ik gebruik dit nu standaard bij elke klant met regelmatig veranderende lijst-data. Wat je niet doet: koppelen zonder testfase. Een halve dag op staging is goedkoper dan een storing op je productiesite. Probeer het op een rustig project en je hebt het na een uurtje onder de knie.

Veelgestelde vragen

Ja, en dat is meestal wat je wilt. Het service-account heeft alleen toegang tot Sheets die je expliciet met zijn e-mailadres deelt. Je hoeft je Sheet dus niet "openbaar" te maken. Voor klantgegevens en prijslijsten is dat een belangrijk verschil.

Standaard elk uur, instelbaar van 5 minuten tot eenmaal per dag. Bij mijn klanten zet ik prijslijsten op elk uur en informatieve content op eenmaal per dag. Vaker dan elk uur is zelden nodig en kost extra Google API-calls die je gratis quota op kunnen eten.

Ja, de plugin levert standaard tabel- en kaart-templates die je via het thema kunt overschrijven. Voor klanten met een specifieke huisstijl bouw ik meestal een aangepast template-part in het thema dat de Remote Data Blocks-output overneemt. Dat is een uurtje werk en geeft een veel mooier resultaat.

De plugin werkt het beste met platte tabellen: kop in rij 1, data eronder. Samengevoegde cellen, formules met externe referenties of complexe layouts werken niet zonder wat opschoonwerk. Mijn tip: maak voor de website een apart tabblad in dezelfde Sheet met een schone tabelstructuur, en koppel dat tabblad in plaats van het origineel.