Cache
Kaldes også: Caching, Midlertidigt datalager
En cache gemmer midlertidige kopier af data, fx billeder, scripts, færdige HTML-sider eller resultater af databaseopslag, så de kan genbruges i stedet for at blive hentet eller beregnet igen. Det kan give kortere svartider og mindre belastning, men effekten afhænger af opsætningen og bør måles.
Opdateret
Sådan fungerer caching i din webshop
Når en kunde åbner en side, skal browseren hente HTML, billeder, stilark og scripts. På mange webshopplatforme bygger serveren HTML-siden ud fra data som produkter, priser og lagerstatus. En cache gemmer et resultat, så den næste forespørgsel kan besvares med den gemte kopi i stedet for at gentage arbejdet. Hvor meget tid det sparer, afhænger af, hvor ofte kopien faktisk kan genbruges, og af hvordan cachen er sat op.
Caching sker typisk flere steder:
- Browser-cache: Kundens browser gemmer filer som billeder, stilark, scripts og skrifttyper, så de ikke skal hentes igen ved næste sidevisning. Det er en privat cache, som kun den ene kunde bruger.
- CDN og andre delte caches: Et CDN eller en proxy mellem kunden og webshoppen gemmer kopier, som kan leveres til mange besøgende. Det gælder ofte statiske filer og nogle gange også hele HTML-sider.
- Sidecache: Færdiggenererede HTML-sider gemmes, så de ikke skal bygges forfra ved hvert besøg. Sidecachen kan ligge på webserveren, i et cache-plugin eller i et CDN.
- Object-cache: Resultater af hyppige databaseopslag eller beregninger gemmes i hukommelsen, så databasen belastes mindre.
| Cache-type | Hvor gemmes data? | Typisk fordel for webshoppen |
|---|---|---|
| Browser-cache | Hos den enkelte besøgende | Hurtigere genbesøg og færre downloads |
| CDN / delt cache | På servere mellem kunden og webshoppen | Aflastning af webserveren og kortere vej til kunden |
| Sidecache | På webserveren eller i et CDN | Færre sider, der skal bygges forfra |
| Object-cache | Typisk i serverens hukommelse | Færre gentagne databaseopslag |
Hvad cachen betyder for din forretning
Når cachen virker efter hensigten, kan sider og filer leveres hurtigere, og serveren kan bedre klare mange samtidige besøgende, fx under kampagner. Effekten er ikke givet på forhånd: den afhænger af, hvor mange forespørgsler der faktisk kan besvares fra cachen, og af hvad der ellers gør siden langsom. Mål derfor svartider og Core Web Vitals før og efter en ændring.
Den klassiske fælde: gamle priser
Hvis du ændrer en pris fra 499 kr. til 399 kr., og en gemt kopi af siden ikke bliver opdateret, kan kunderne stadig se den gamle pris. Løsningen afhænger af, hvor kopien ligger. En tvungen genindlæsning kan hente en frisk version, men tømmer ikke nødvendigvis webshoppens sidecache eller CDN for alle besøgende. Hvis den gamle version fortsat vises, skal den relevante cache opdateres eller ryddes (purge eller invalidering) i webshopsystemet, cache-pluginnet eller CDN-tjenesten. MDN forklarer, at standard-HTTP ikke giver mulighed for at slette kopier på mellemliggende servere, mens en administreret cache som et CDN kan tømmes, fx via kontrolpanel eller API. Se MDN’s guide til HTTP-caching.
Personligt indhold i en delt cache
Caching er ikke usikkert i sig selv. Risikoen opstår, når en side med personligt indhold, fx indkøbskurv, kundekonto eller checkout, bliver gemt i en delt cache og derefter vist til andre besøgende. MDN påpeger, at personligt indhold i en delt cache kan lække til andre brugere, og at en cookie alene ikke gør et svar privat. Sider med personligt indhold skal derfor enten ikke caches eller kun gemmes privat hos den enkelte kunde.
I WooCommerce anbefaler udviklerdokumentationen, at siderne Kurv, Checkout og Min konto undtages fra sidecachen, fordi de viser oplysninger om den aktuelle kunde og kurv. Dokumentationen nævner også en række WooCommerce-cookies, som cache-opsætningen bør tage højde for. Se WooCommerces vejledning om cache-plugins. Driver du en WordPress-webshop, er det værd at kontrollere undtagelserne, når du skifter hosting eller cache-plugin.
Med en gratis webshop-audit kan vi se på indlæsningen af din webshops offentlige sider. Gennemgangen kræver ikke login og omfatter derfor ikke din servers eller dit cache-plugins opsætning.