Een bedrijfswebsite bewaart de naam en het mailadres van wie het contactformulier invult. Een webshop bewaart van elke klant naam, adres, telefoonnummer, mailadres, bestelhistorie, soms een geboortedatum voor achteraf betalen en een wachtwoord dat de klant waarschijnlijk ook elders gebruikt. Duizenden klanten, jaren terug. Dat is een ander soort verantwoordelijkheid.
WooCommerce beveiliging gaat daarom niet alleen over “niet gehackt worden”, maar over de vraag wie bij welke klantgegevens kan, waar ze staan, met welke partijen ze worden gedeeld en hoe lang ze bewaard blijven. Deze checklist van veertien punten is daarop ingedeeld. Loop hem na; de meeste punten kunt u in een middag controleren.
Toegang: wie kan erbij?
- Alleen beheerders zien bestellingen. WooCommerce heeft de rol Winkelmanager: die kan bestellingen en producten beheren, maar geen plugins installeren of instellingen wijzigen. Medewerkers die alleen bestellingen verwerken, horen die rol te hebben, geen beheerdersrechten. Controleer onder Gebruikers wie welke rol heeft.
- Elke gebruiker een eigen account. Een gedeeld “shop”-account met één wachtwoord is niet te herleiden en niet in te trekken als iemand vertrekt.
- Tweestapsverificatie voor iedereen met toegang tot bestellingen. Een gestolen wachtwoord van een winkelmanager geeft toegang tot uw hele klantenbestand. Tweestapsverificatie maakt dat wachtwoord alleen onvoldoende.
- Vertrokken medewerkers en oude bureaus verwijderd. Controleer ook accounts van webbouwers en freelancers van jaren geleden. Verwijder ze of zet ze op de laagste rol.
- Klantaccounts met een wachtwoordbeleid. Klanten kiezen zwakke wachtwoorden. Zet in WooCommerce de sterktemeter aan en overweeg om het wachtwoord te laten genereren in plaats van door de klant te laten kiezen.
Vergeet daarbij de toegang buiten WordPress niet. Wie het wachtwoord van het hostingaccount, van FTP of van de database heeft, kan bij alle klantgegevens zonder ooit in de shop in te loggen. Daar gelden dezelfde regels: eigen accounts per persoon, tweestapsverificatie waar de host dat aanbiedt, en opruimen zodra iemand vertrekt.
Opslag: waar staan de gegevens?
- Versleutelde verbinding, overal. Niet alleen op de afrekenpagina, maar op de hele shop, inclusief het beheer. Controleer of http-adressen worden omgeleid naar https en of er geen mixed content is.
- Geen kaartgegevens in uw database. Als u met iDEAL, Mollie, Pay.nl of een andere Nederlandse betaalprovider werkt, worden betaalgegevens bij hen ingevoerd en komen ze nooit op uw server. Zo hoort het. Twijfelt u, controleer dan of uw betaalplugin een omleiding gebruikt of gegevens op uw eigen afrekenpagina invoert. Meer daarover in het artikel over PCI DSS voor kleine webshops.
- Back-ups versleuteld en binnen de EU. Een back-up van uw database bevat uw hele klantenbestand. Als die onversleuteld op een Amerikaanse cloudschijf staat, heeft u een probleem dat niet met de shop zelf te maken heeft. Vraag uw host of onderhoudspartij waar de back-ups staan en of ze versleuteld zijn.
- Geen exportbestanden op de server. Een CSV-export van bestellingen die iemand ooit in de uploadmap heeft laten staan, is via een voorspelbare URL te downloaden. Zoek in de mediabibliotheek en op de server naar .csv- en .xlsx-bestanden.
- Logbestanden opgeschoond. WooCommerce en betaalplugins loggen soms volledige verzoeken, inclusief adressen. Controleer onder WooCommerce, Status, Logs wat er bewaard wordt en beperk de bewaartermijn.
Koppelingen: met wie deelt u?
- Elke koppeling een verwerkersovereenkomst. Betaalprovider, verzenddienst, nieuwsbriefsysteem, boekhoudpakket, reviewplatform: allemaal ontvangen ze klantgegevens. Voor elk hoort een verwerkersovereenkomst te zijn, meestal als onderdeel van hun algemene voorwaarden. Maak een lijstje en controleer per partij.
- API-sleutels beperkt en vernieuwd. Elke koppeling werkt met een sleutel. Geef sleutels alleen de rechten die nodig zijn (lezen in plaats van lezen én schrijven waar dat kan), en vernieuw ze als een medewerker of bureau vertrekt. In WooCommerce staan de sleutels onder Instellingen, Geavanceerd, REST API; verwijder wat u niet meer herkent.
Let ook op koppelingen die u zelf niet als koppeling ziet: een chatwidget die naam en mailadres meestuurt, een reviewplugin die na elke bestelling de klant benadert, een statistiekscript dat ordergegevens doorgeeft aan een advertentieplatform. Alles wat klantgegevens naar buiten stuurt, hoort op het lijstje, ook als u er nooit een factuur voor krijgt.
Bewaren: hoe lang?
- Een bewaartermijn instellen. De AVG vraagt dat u gegevens niet langer bewaart dan nodig. Voor bestelgegevens geldt de fiscale bewaarplicht van zeven jaar, maar klantaccounts die tien jaar niet zijn gebruikt, hoeven er niet meer te zijn. WooCommerce heeft onder Instellingen, Accounts en privacy opties om inactieve accounts en oude bestellingen automatisch te anonimiseren. Zet daar iets zinnigs in, in overleg met uw boekhouder.
- Verzoeken van klanten kunnen afhandelen. Een klant mag vragen welke gegevens u heeft en om verwijdering. WordPress heeft daar onder Extra de functies “persoonlijke gegevens exporteren” en “verwijderen” voor, die ook WooCommerce-gegevens meenemen. Test ze een keer met uw eigen testaccount, zodat u niet hoeft te zoeken als het verzoek echt komt.
Hoe u dit bijhoudt
De meeste punten zijn eenmalig, maar drie ervan verdienen een vast ritme: de gebruikerslijst (elk kwartaal), de API-sleutels en koppelingen (bij elke wijziging in leveranciers) en de bewaartermijnen (jaarlijks). De technische kant, zoals de versleutelde back-ups, de https-configuratie en de firewall die voorkomt dat iemand überhaupt bij uw database komt, hoort thuis in regulier onderhoud. Bij professioneel WooCommerce-onderhoud zit dat er standaard in, inclusief een verwerkersovereenkomst voor onszelf, want ook uw onderhoudspartij is een verwerker.
Een kinderkledingwebshop uit Utrecht liep deze lijst met ons door en vond op punt 4 vijf accounts van voormalige bureaus en stagiairs, alle met beheerdersrechten, en op punt 9 een exportbestand met tweeduizend adressen uit 2021 dat openbaar te downloaden was. Geen van beide had tot een incident geleid, voor zover bekend. Maar dat is precies het punt: u weet het niet totdat u kijkt.
Volgende stap: open de gebruikerslijst van uw shop en tel de beheerders. Zijn het er meer dan twee, dan begint u daar.



