En almindelig WordPress-side viser det samme til alle. En webshop gør ikke. Kurven, priserne og lagerstatus er forskellige fra besøgende til besøgende — og det koster tid.
Hvad der sker ved hver eneste visning
WooCommerce bygger siden forfra for hver besøgende
- Tjekker kurvens indhold
- Henter priser og beregner moms
- Beregner fragt
- Kontrollerer lagerstatus
På et katalog med tusind varer bliver det til mange forespørgsler — hver gang.
Derfor slår de fleste cache-plugins caching helt fra på kurv, checkout og min-konto. Det er rigtigt af dem. Men det efterlader de tungeste sider uoptimerede.
Hvor der plejer at være mest at hente
Produktbilleder
- En webshop har mange af dem
- Ofte uploadet i fuld opløsning direkte fra fotografen
- Typisk 60–80 procent af sidens samlede vægt
Plugins der kører overalt
- Et anmeldelsesplugin behøver ikke indlæse sin kode på forsiden
- Mange gør det alligevel
- Gælder også filtre, ønskelister og delingsknapper
Databasen
- Gamle ordrer, forladte kurve og transients hober sig op
- Vi ser rutinemæssigt tabeller med titusindvis af rækker, der aldrig læses
- Rydder man op, bliver hver forespørgsel hurtigere
Det korte svar
En webshop kan sagtens være hurtig. Den kræver bare, at caching sættes op lagvis og med respekt for de sider, der skal være dynamiske.
Det er ikke et plugin-problem. Det er et opsætningsproblem.