
In je dashboard staat een nieuwe versie van WooCommerce klaar en je durft niet goed op Nu bijwerken te klikken. Terecht, want dit is de plugin waar je omzet doorheen loopt. Update WooCommerce altijd eerst op een staging-omgeving, controleer daar checkout, betaalmethoden en e-mails, maak een volledige back-up en voer de update daarna live uit buiten piekuren. Doe direct na livegang een testbestelling. Hieronder lees je de volgorde die ik zelf aanhoud, wat je test en wat je doet als het toch misgaat. Het bredere plaatje staat in WooCommerce-onderhoud en beheer.
Waarom een WooCommerce-update meer risico geeft dan een gewone plugin-update
Een WooCommerce-update is riskanter dan een gewone plugin-update, omdat hij checkout, betaalkoppelingen, voorraad en e-mails tegelijk raakt. Breekt een sliderplugin, dan heb je een lelijke pagina. Breekt WooCommerce, dan kan niemand meer afrekenen en merk je dat pas als de orders uitblijven. Daar komt bij dat veel WooCommerce-updates een database-update bevatten. Een database-update is een aanpassing van de structuur van je database, zodat die past bij de nieuwe versie van de plugin. Na zo’n update kun je niet zomaar terug naar de oude versie, want die herkent de nieuwe structuur niet meer.
Het derde risico zit in alles wat op WooCommerce voortbouwt. Je thema, je betaalplugin en extensies voor verzending, facturen of abonnementen lopen soms een paar weken achter op een nieuwe WooCommerce-versie. De meest voorkomende klacht die ik na een update hoor, is dan ook niet dat WooCommerce zelf kapot is, maar dat één extensie ermee in de knoop raakt. Precies daarom is de volgorde waarin je werkt zo belangrijk.
Wat je checkt voordat je gaat updaten
Voordat je een WooCommerce-update uitvoert, check je de changelog, de compatibiliteit van je extensies, verouderde templates en het moment. In de changelog zie je of het om een grote versie of een onderhoudsrelease gaat, en of er een database-update of een hogere minimale PHP-versie in staat. Daarna kijk ik bij elke extensie naar de waarde “WC tested up to” en lees ik de changelog van de betaalplugin. Staat jouw nieuwe versie daar nog niet bij, dan weet je dat je een risico neemt.
Verouderde templates zie je onder WooCommerce > Status. Dat zijn kopieën van WooCommerce-bestanden in je thema, die na een update de checkout of de winkelwagen verkeerd kunnen tonen. Kies verder een rustig moment zonder lopende actie of campagne, en niet vlak voor een weekend of vakantie. Rond Black Friday, Sinterklaas en december doe ik bij webshops helemaal geen functionele updates, want je verbouwt de winkel niet tijdens de uitverkoop. Mijn eigen vuistregel is om een grote WooCommerce-versie niet te installeren op de dag dat hij uitkomt, maar te wachten op de eerste onderhoudsrelease. Extensies hebben dan de tijd gehad om bij te werken. De uitzondering zijn beveiligingsupdates. Die test je dezelfde dag op staging en zet je meteen live, want verouderde plugins zijn een geliefde ingang voor hackers. Is het al mis, kijk dan bij WordPress gehackt. Om dezelfde reden zet ik automatische updates niet aan voor grote WooCommerce-versies.
Zo update je WooCommerce veilig in acht stappen
Een veilige WooCommerce-update werkt als een pitstop, waarbij alles klaarligt en de auto zo kort mogelijk stilstaat. Dit is de volgorde die ik aanhoud.
- Maak een verse staging-omgeving van je live webshop.
- Scherm de staging-kopie af. Zet uitgaande e-mail, live betalingen, webhooks en geplande acties uit en ontmoedig zoekmachines. De kopie bevat klantgegevens die onder de AVG vallen, dus verwijder hem na gebruik.
- Update op staging in deze volgorde: WordPress, WooCommerce, extensies en betaalplugin, en als laatste het thema. Ondersteunt een cruciale extensie de nieuwe versie nog niet, dan wacht je met de hele update.
- Voer de database-update uit als WooCommerce erom vraagt, en wacht tot hij helemaal klaar is.
- Test het bestelproces volgens de testlijst hieronder.
- Maak vlak voor de live-update een volledige back-up van de live webshop, met bestanden en database.
- Voer dezelfde updates live uit, buiten piekuren.
- Leeg de cache in LiteSpeed Cache of je eigen cacheplugin en doe direct een testbestelling.
Let op het verschil tussen stap 3 en stap 7. Je zet de staging-kopie niet terug naar live, je herhaalt de update op de live shop. Terwijl jij aan het testen was, zijn er waarschijnlijk orders binnengekomen, en die verdwijnen als je de staging-database over de live webshop zet.
Wat je test na de update
Na een WooCommerce-update test je het hele bestelproces, eerst op staging en daarna nog een keer live. Ik loop het altijd door als een klant, van productpagina tot orderbevestiging, en kijk daarna in de achterkant of alles goed is verwerkt.
| Onderdeel | Wat je controleert |
|---|---|
| Productpagina en winkelwagen | Prijzen, varianten en een kortingscode |
| Checkout | Velden, verzendkosten en btw |
| Betaalmethoden | iDEAL en creditcard via de testmodus van je betaalprovider (zoals Mollie); live een kleine echte bestelling die je terugboekt |
| Orderbevestiging en e-mails | Komt de mail aan en klopt de inhoud |
| Voorraad | Wordt de voorraad afgeboekt |
| Koppelingen | Je betaal-, verzend- en boekhoudkoppelingen |
| Geplande acties en meldingen | Mislukte acties onder WooCommerce > Status > Geplande acties en beheermeldingen in het dashboard |
Kijk tot slot in de foutlog onder WooCommerce > Status > Logs. Een foutmelding van je betaalplugin zie je daar vaak eerder dan dat een klant erover mailt.
Gaat het toch mis? Zo zet je het terug
Gaat er na de update iets mis, dan zet je de back-up van vlak voor de update terug en niet alleen de plugin. Na een database-update past de oude pluginversie namelijk niet meer bij je database, en dan maak je het met een losse downgrade vaak erger.
- Zet de webshop in onderhoudsmodus en pauzeer je advertenties.
- Exporteer de orders die na de back-up zijn binnengekomen en maak een back-up van de huidige staat. Die blijft bij terugzetten niet automatisch bewaard.
- Zet de back-up van vlak voor de update terug. Hoe dat stap voor stap gaat, lees je in een back-up terugzetten.
- Leeg de cache en test opnieuw.
Voor uitgebreidere foutopsporing lees je site kapot na een update. Kom je er niet uit, neem dan contact op met onze support.
Hoe het bij Surver werkt met managed WooCommerce hosting, is vrij eenvoudig. Een staging-omgeving maak je door je installatie te klonen in Installatron, en de automatische back-ups zet je kosteloos zelf terug via JetBackup 5 in cPanel, waarbij je los kunt kiezen voor bestanden of databases. Die extra back-up vlak voor de update maak je zelf in Installatron, en die zet je daar ook weer terug. Wil je dit allemaal niet zelf doen, dan testen en monitoren we bij WooCommerce onderhoud je checkout, betaalmethoden en koppelingen zoals Mollie, Sendcloud en je boekhoudpakket, en laat onze firewall de webhooks van die diensten door.
Mijn laatste advies is om van updaten een vast maandelijks moment te maken, in plaats van te wachten tot er tien updates openstaan. Beveiligingsupdates doe je direct. Lees ook WordPress veilig updaten en WooCommerce back-up. Wil je de updates van je hele site uitbesteden, kijk dan bij WordPress onderhoud.
Veelgestelde vragen
Hoe lang duurt een WooCommerce-update?
De update zelf duurt meestal een paar minuten, het testen kost de meeste tijd. Uit ervaring reken ik op ongeveer een uur, inclusief testbestelling. Een database-update kan bij veel orders langer duren en loopt dan op de achtergrond via geplande acties.
Wat is het verschil tussen een staging-omgeving en een back-up?
Een staging-omgeving is een werkende kopie van je webshop om op te testen. Een back-up is een momentopname die je terugzet als het misgaat. Voor een veilige update heb je ze allebei nodig. Bij managed WordPress hosting en WooCommerce hosting van Surver zitten dagelijkse automatische back-ups standaard in het pakket.
Gaan bestellingen verloren tijdens het updaten?
Nee, niet als je de update live opnieuw uitvoert in plaats van de staging-database over live te zetten. Bij Surver maak je de staging-omgeving als kloon in Installatron en zet je back-ups terug via JetBackup 5 in cPanel.