
Kort svar: LiteSpeed Cache og WooCommerce er en stærk kombination – når tre ting er på plads: kurv, checkout og Min konto skal aldrig caches offentligt (LiteSpeed håndterer det automatisk, så længe WooCommerce-integrationen er aktiv), indloggede kunder skal have privat cache, og dynamiske stumper som kurv-ikonet kan serveres med ESI, så resten af siden stadig kan cache-serveres. Test altid som kunde i inkognito – aldrig som administrator.
En webshop stiller cache-systemet over for et dilemma: siderne skal være lynhurtige, men kurven, navnet i headeren og checkout er personlige. LiteSpeed Cache løser det med tre værktøjer – offentlig cache, privat cache og ESI – og de fleste WooCommerce-cacheproblemer handler om, at ét af de tre lag er sat forkert.
Kontrolramme: WordPress 7.1, WooCommerce 11.0 og PHP 8.4.23 udgør versionsgrundlaget pr. 30. august 2026; menupunkternes navne kan variere mellem LiteSpeed Cache-versioner. Eksemplet i billedet er genskabt.
Offentlig cache er én kopi til alle – perfekt til produktsider og kategorier. Privat cache er en kopi pr. besøgende – LiteSpeed-serverens særlige evne, som gør selv indloggede kunders sider hurtige uden at blande dem sammen. ESI (Edge Side Includes) deler en side op: skabelonen serveres fra offentlig cache, mens markerede “huller” (kurv-ikon, velkomstnavn) fyldes med privat indhold ved hver visning. Sammen betyder det, at en webshop ikke behøver vælge mellem fart og korrekthed.

Viser dit tema kurvantal eller kundens navn på alle sider, ville hele sitet i princippet være u-cachebart. ESI løser det: slå ESI til, og LiteSpeed serverer skabelonen fra cache, mens kurv-blokken hentes privat. Bemærk to forhold: ESI kræver en rigtig LiteSpeed-server (som hos LiteSpeed-hosting) – og hver ESI-blok koster et delopslag, så brug det til få, små stumper, ikke til halve sider. Uden ESI er alternativet at hente kurv-antallet med AJAX efter indlæsning – mange temaer gør det allerede.
| Symptom | Sandsynlig årsag | Løsning |
|---|---|---|
| Kunder ser hinandens kurv/navn | Integration slået fra eller CDN cacher ovenpå | Slå integrationen til; tjek CDN-regler – se cache-guiden |
| Kurv-ikonet viser 0 trods varer | Ikonet ligger i cachet HTML uden ESI/AJAX | Slå ESI til for kurv-blokken, eller brug temaets AJAX-opsætning |
| „Udsolgt“ vises på varer på lager | Manglende purge ved lagerændring | Aktivér purge-reglerne for produktsider |
| Checkout føles langsom | Checkout caches aldrig – det er serverens rå fart | Object cache og PHP – se checkout-guiden |
Opsætningen holder, når en produktside viser cache-HIT i x-litespeed-cache-headeren for anonyme besøg, kurv og checkout aldrig gør, kurv-ikonet tæller rigtigt på cachede sider, og et fuldt testkøb i inkognito gennemføres med korrekt navn og total hele vejen. Læs headerne som beskrevet i header-guiden – og gentag testkøbet efter større ændringer i tema eller plugins.
Nej – WooCommerce-integrationen gør det automatisk, også med danske slugs, fordi den følger sidetildelingen og ikke URL-mønstre. Manuelle undtagelser er kun nødvendige for særlige egne sider med dynamik.
Nej – ESI og privat cache kræver en LiteSpeed-webserver (eller QUIC.cloud som edge). På anden hosting kører pluginnet i begrænset tilstand uden de funktioner – så er AJAX-vejen til dynamiske stumper alternativet.
Så er det ikke leveringen, men browserarbejdet, der bremser: billeder, scripts og tredjepartskode. Følg webshop-hastighedsguiden – cache-laget er kun første halvdel.