WooCommerce sneller maken: 10 ingrepen voor een vlotte shop
WooCommerce maak je sneller met ingrepen die op de shoplaag mikken: hosting met Redis als object cache, page cache met de juiste uitzonderingen, High-Performance Order Storage, cart fragments uitschakelen buiten de shoppagina's, de sessietabel en verlopen transients opruimen, de Action Scheduler-wachtrij wegwerken, productafbeeldingen verkleinen, WooCommerce-scripts alleen laden waar ze nodig zijn en de checkout licht houden. Generieke WordPress-optimalisatie blijft de basis, maar deze tien pakken de vertraging aan die WooCommerce er zelf bovenop legt.
- WooCommerce voegt eigen vertraging toe via sessies, cart fragments en achtergrondtaken.
- Houd winkelwagen, checkout en accountpagina's buiten de page cache, anders mislukken bestellingen.
- Een object cache versnelt juist de shoppagina's die niet gecachet kunnen worden.
- Meet product-, categorie- en afrekenpagina's apart, voor en na elke ingreep.
Een trage shop kost twee keer geld: bezoekers haken af voor het afrekenen en Google crawlt minder pagina’s per bezoek. De generieke WordPress-tips heb je waarschijnlijk al gehad; dit artikel behandelt tien ingrepen die specifiek zijn voor WooCommerce, van sessies en cart fragments tot de Action Scheduler.
Waarom een WooCommerce-shop trager is dan een gewone site
WooCommerce voegt drie soorten gewicht toe aan WordPress. Ten eerste dynamiek: winkelwagen, voorraad en persoonlijke prijzen verschillen per bezoeker, waardoor pagina’s minder makkelijk uit de cache geserveerd kunnen worden. Ten tweede databaseverkeer: elke bezoeker met een winkelwagen krijgt een sessie in de database, en bestellingen, logs en achtergrondtaken laten tabellen groeien. Ten derde extra code: de scripts en stylesheets van WooCommerce laden standaard op elke pagina mee, ook op je blog en contactpagina.
Meet daarom eerst waar jouw shop staat, en test niet alleen de homepage maar juist een productpagina, een categoriepagina en de checkout; daar gebeurt de verkoop. Kijk naar de Core Web Vitals voor de gebruikerservaring en naar de serverreactietijd (TTFB) om te bepalen of het probleem in de code of op de server zit.
De twaalf generieke stappen rond thema, plugins, afbeeldingen en PHP-versie vind je in het stappenplan om WordPress sneller te maken; hieronder staat alleen wat daar voor een shop bovenop komt.
Ingreep 1 tot 3: server en caching op shopniveau
1. Hosting met object cache
Een shop vuurt veel meer databasequery’s af dan een gewone site. Redis of Memcached vangt herhaalde query’s op en versnelt juist de pagina’s die niet in de page cache passen, zoals winkelwagen en checkout. Kies hosting waar dit standaard op zit; op budgethosting ontbreekt deze laag vrijwel altijd.
2. Page cache met de juiste uitzonderingen
Product- en categoriepagina’s kunnen prima gecachet worden, zolang winkelwagen, checkout en accountpagina’s erbuiten blijven en de cache rekening houdt met ingelogde klanten. Goede plugins herkennen WooCommerce en regelen dat zelf; controleer het toch, want een gecachete checkout leidt tot mislukte bestellingen. Hoe de verschillende cachelagen samenwerken lees je in de gids over WordPress-caching.
3. High-Performance Order Storage aanzetten
HPOS geeft bestellingen eigen databasetabellen in plaats van de generieke posts-tabel. Vooral shops met veel orders merken het verschil in de beheeromgeving en bij alles wat bestellingen opvraagt. Je vindt de instelling onder WooCommerce, Instellingen, Geavanceerd, Functies; test eerst op een staging-omgeving als je oudere plugins draait.
Ingreep 4 tot 6: cart fragments, sessies en transients
4. Cart fragments beteugelen
WooCommerce ververst het winkelwagentje in je header via een AJAX-aanroep (wc-ajax=get_refreshed_fragments) die de cache omzeilt en op elke pagina meedraait. Op een blogartikel of contactpagina is dat pure ballast. Schakel de aanroep uit buiten de shoppagina’s, of gebruik een minicart die pas laadt na de eerste interactie. Test daarna wel of het winkelwagentje nog bijwerkt na het toevoegen van een product.
5. De sessietabel opruimen
Elke bezoeker die iets in de winkelwagen legt krijgt een rij in wp_woocommerce_sessions. Verlopen sessies worden via cron opgeruimd, maar dat faalt stilletjes wanneer je cron niet betrouwbaar draait. Groeit de tabel naar tienduizenden rijen, stel dan een echte server-cron in en verwijder de verlopen sessies.
6. Verlopen transients wissen
WooCommerce en veel plugins slaan tijdelijke data op als transients in de options-tabel. Verlopen exemplaren blijven staan, en autoloaded options worden bij elke paginalading volledig meegeladen. Ruim verlopen transients periodiek op en laat een specialist meekijken zodra de autoloaded data boven ruwweg een megabyte uitkomt.
Ingreep 7 tot 10: achtergrondtaken, media en scripts
7. De Action Scheduler-wachtrij wegwerken
Achtergrondtaken zoals mails, abonnementsverlengingen en voorraadacties staan in de tabel actionscheduler_actions. Een wachtrij met honderdduizenden afgeronde of mislukte taken vertraagt elke run. Onder WooCommerce, Status, Geplande acties zie je de omvang; oude voltooide acties mogen weg.
8. Productafbeeldingen in het gareel
Een categoriepagina laadt al snel tientallen afbeeldingen. Serveer WebP, houd thumbnails klein en laat de eerste rij afbeeldingen boven de vouw buiten de lazy loading, zodat je LCP niet lijdt onder een te laat geladen hoofdafbeelding.
9. WooCommerce-code alleen laden waar die nodig is
Met een asset-manager of een klein stukje code beperk je de WooCommerce-scripts en -styles tot shop-, product- en afrekenpagina’s. Je blog en informatiepagina’s worden daar direct sneller van, zonder risico voor de shop zelf.
10. De checkout licht houden
Elke vertraging op de afrekenpagina kost direct omzet. Verwijder chatwidgets, heatmaps en marketingscripts van de checkout, beperk het aantal velden en laad betaalmethodes pas op het moment dat ze gekozen worden, als je betaalplugin dat ondersteunt.
Veelgemaakte fouten bij het versnellen van een shop
- De checkout mee laten cachen. Dit veroorzaakt verlopen beveiligingstokens en mislukte betalingen. Fix: controleer de uitzonderingen van je cacheplugin na elke grote update.
- JavaScript agressief samenvoegen of uitstellen. Optimalisatieplugins breken geregeld de winkelwagen of betaalknoppen. Fix: sluit WooCommerce-scripts uit van optimalisatie en test een volledige bestelling na elke wijziging.
- Alleen de homepage testen. De winst en de pijn zitten op product-, categorie- en afrekenpagina’s. Fix: meet die drie apart, voor en na elke ingreep.
- De database opschonen zonder back-up. Sessies en oude geplande acties wissen is veilig, maar één verkeerde query niet. Fix: maak eerst een back-up en werk buiten piekuren.
- Meerdere snelheidsplugins stapelen. Twee cacheplugins tegelijk werken elkaar tegen en maken problemen onvindbaar. Fix: kies één oplossing per laag en meet het effect per stap.
Snelheid vasthouden na de eerste winst
Een shop wordt sluipend weer trager: elke nieuwe plugin, elk extra marketingscript en elke duizend bestellingen tellen op. Plan daarom een vast meetmoment per maand voor je drie kernpagina’s en noteer de scores, zodat je een verslechtering ziet voordat klanten hem voelen. Draait je shop op WooCommerce, dan houdt de WooCommerce-integratie van ViRank de technische gezondheid doorlopend in de gaten, zodat een groeiende sessietabel of een kapotte cache-uitzondering snel opvalt.
Weten waar jouw shop nu staat kost een minuut: met de gratis SEO-check zie je direct hoe je site scoort en waar de grootste knelpunten zitten. Wie daarna verder wil, laat ViRank de technische kant structureel bewaken: de Technische SEO-module meet je shop doorlopend, rangschikt problemen naar wat ze aan omzet kosten en voert oplossingen pas door nadat jij akkoord geeft, met een terugdraaioptie per wijziging. Zo blijft de snelheidswinst uit dit artikel behouden in plaats van dat die na drie maanden weer verdampt.
