Is cache slecht voor een webshop?
Nee, integendeel: juist een webshop heeft baat bij een snelle site. Maar er zijn pagina’s die je moet uitsluiten, en dat luistert nauw.
Je winkelwagen, je afrekenpagina en je accountpagina’s verschillen per bezoeker. Die mogen dus nooit uit een gedeelde cache komen.
Gaat dat mis, dan ziet een bezoeker de winkelwagen van iemand anders. Dat is geen theoretisch risico; ik heb het in de praktijk gezien.

Wat je uitsluit
De winkelwagen, het afrekenproces, de accountpagina en de bedanktpagina na een bestelling. Alle vier verschillen per persoon.
Elke fatsoenlijke cacheplugin doet dat standaard bij WooCommerce. Controleer het wel, want er zijn er die het niet doen.
De voorraad
Productpagina’s mag je wel cachen, maar houd rekening met je voorraadweergave. Staat er bij een uitverkocht product nog op voorraad, dan komt dat uit je cache.
Zet je bewaartijd bij een shop met snel wisselende voorraad daarom korter, bijvoorbeeld een uur in plaats van een dag.
Waar je op let
Kortingen en klantspecifieke prijzen. Toon je zakelijke klanten andere prijzen, dan mogen die pagina’s niet gedeeld gecachet worden.
Datzelfde geldt voor een melding als hallo met de naam van de klant erin. Meer daarover lees je bij woocommerce.
Mijn vuistregels
- Sluit winkelwagen, afrekenen, account en bedanktpagina altijd uit.
- Test met twee browsers tegelijk: leg iets in de wagen en kijk in de ander.
- Houd je bewaartijd kort bij wisselende voorraad.
- Controleer na elke plugin-update of de uitzonderingen nog staan.
Die tweede is de test die je echt moet doen. Zie je in de tweede browser een gevulde winkelwagen, dan is er iets goed mis.
Wat het oplevert
Snellere productpagina’s en categoriepagina’s, en dat is precies waar je bezoekers de meeste tijd doorbrengen.
Bij een drukke shop scheelt het ook serverbelasting, waardoor je site tijdens een piek overeind blijft. Meer daarover lees je bij pagespeed.
Als het toch misgaat
Sluit de betreffende pagina’s alsnog uit en leeg de cache. Controleer daarna opnieuw met twee browsers.
Blijft het gebeuren, dan cachet je hostingpartij mogelijk ook nog een laag. Meer daarover lees je bij hoe leeg je de cache van je website.