
Kort svar: Når kunder ser en andens kurv, navn eller adresse, er personligt indhold havnet i page cache. Det er en cache-konfigurationsfejl – ikke en WooCommerce-bug og ikke et hack. Ryd cachen med det samme, og find derefter hullet: kurv, checkout og Min konto skal være undtaget, WooCommerce-sessionscookies skal udløse bypass, og håndbyggede CDN-regler må aldrig cache “alt”. Verificér med cache-headere som udlogget kunde.
Det er en af de mest alarmerende henvendelser, en webshop kan få: “Jeg står som Louise, og det er ikke mig” – eller en kurv fyldt med varer, kunden aldrig har lagt i. Første indskydelse er ofte hacking. Den rigtige forklaring er næsten altid mere banal og hurtigere at rette: en side med persondata er blevet gemt i cachen og serveret til den næste besøgende.
Kontrolramme: WordPress 7.1, WooCommerce 11.0 og PHP 8.4.23 udgør versionsgrundlaget pr. 30. august 2026. Diagrammet er en diagnoseillustration af mekanismen – ikke en hændelse på hostious.io.
Page cache gemmer den færdige HTML af en side og serverer den til alle. Det er præcis meningen for produktsider og artikler – og præcis katastrofen for sider med persondata. Bliver kurven, checkout eller en side med “Hej Louise” i headeren gemt, får de næste besøgende Louises udgave:

Alle store cache-løsninger undtager som udgangspunkt WooCommerce-siderne automatisk. Fejlen opstår, når der bygges ovenpå: håndlavede “cache everything”-regler i CDN’et, omdøbte side-slugs som undtagelserne ikke kender, eller et nyt cache-lag, der ikke respekterer de gamle regler.
woocommerce_items_in_cart, woocommerce_cart_hash, sessionscookien) skal udløse bypass på alle sider. Opsætningen for Cloudflare står i Cache Rules-guiden til WooCommerce.Målet er ikke mindre cache – en webshop skal cache aggressivt for at være hurtig. Målet er præcise undtagelser: alle produkt- og indholdssider caches; kurv, checkout og Min konto bypasses altid; og en besøgende med varer i kurven eller aktivt login får bypass overalt via cookie-reglerne. På LiteSpeed-hosting håndterer LiteSpeed Cache det med privat cache og ESI – se LiteSpeed-hubben – og kører du FlyingPress eller WP Rocket, er undtagelserne indbygget, så længst væk fra standard er der størst risiko.
Opsætningen er tæt, når du som udlogget kunde i inkognito kan se: cache-HIT på en produktside, men BYPASS/MISS på kurv, checkout og Min konto – ved hvert eneste besøg; at kurvantal og navn i headeren altid er dine egne, også lige efter en anden testbruger har handlet; og at en side besøgt med varer i kurven ikke får HIT. Tjek headerne i browserens Netværk-fane – header-guiden forklarer værdierne. Er du i tvivl om, hvorvidt jeres samlede opsætning er tæt, kigger Hostious gerne cache-lagene igennem.
Andre kunder har kunnet se navne, adresser eller kurvindhold, så behandl det som en datahændelse: afklar omfang og varighed, og vurdér anmeldelsespligten efter GDPR sammen med jeres rådgiver. Betalingskortdata vises ikke på de cachede sider – de håndteres af betalingsgatewayen.
Fordi den personlige side kun bliver cachet, når den første besøgende efter en cache-rydning rammer i en særlig tilstand – fx med varer i kurven. Derfor kommer klagerne i bursts efter cache-rydninger eller regelændringer.
Det lukker hullet, men gør shoppen mærkbart langsommere – og det er unødvendigt. Rigtigt konfigureret cache med undtagelser og cookie-bypass giver både fart og korrekt indhold.