
Kort svar: En cache er kun så god som sin hit-rate – andelen af besøg, der får det hurtige, cachede svar. De fire klassiske hit-rate-dræbere: URL-parametre (især UTM/klik-id’er), der opdeler cachen i tusind varianter; cookies, der udløser unødigt bypass; for kort cache-levetid (TTL); og purge-rutiner, der rydder alt for ofte. Mål hit-raten med headere, luk hullerne ét ad gangen – og genmål.
“Vi har cache” og “vores besøgende får cache” er to forskellige udsagn. Et site kan have perfekt opsætning på papiret og alligevel servere halvdelen af trafikken u-cachet – fordi kampagnelinks, cookies og ivrige purges stille udhuler hit-raten. Denne guide gør hit-raten målbar og lukker de typiske huller.
Kontrolramme: WordPress 7.1 og PHP 8.4.23 udgør versionsgrundlaget pr. 30. august 2026. Terminaleksemplet er genskabt.
Stikprøven: besøg dine vigtigste sider to gange i træk (inkognito) og læs cache-headeren – andet besøg skal være HIT. Systematisk: træk en times accesslog, og tæl HIT mod MISS/BYPASS; på CDN-niveau viser Cloudflares analytics det samme. Sunde niveauer for et indholdssite: 85-95 % på sidevisninger; webshops ligger naturligt lavere (kurv/checkout bypasser med vilje). Vigtigst er udviklingen – mål før og efter hver ændring:

Cachen nøgler på URL’en – og for cachen er ?utm_source=facebook en helt anden side end uden. En nyhedsbrevs-udsendelse med unikke parametre kan dermed sende tusinder af besøgende uden om cachen på én gang: præcis når belastningen er størst. Løsningen er at få cachen til at ignorere rene tracking-parametre (utm_*, gclid, fbclid osv.), så alle varianter rammer samme kopi: LiteSpeed Cache har “Drop Query String”, Cloudflare kan sættes til at ignorere query strings for cache-nøglen, og FlyingPress ignorerer de kendte trackere som standard. Analytics påvirkes ikke – parametrene er der stadig i browseren; de tæller bare ikke i cache-nøglen.
Cache-bypass på cookies er nødvendigt for login og kurv – men hver ekstra bypass-cookie æder hit-rate. De typiske synder: et samtykke- eller A/B-testplugin, der sætter en cookie på alle besøgende og dermed (afhængigt af regelsættet) sender alle uden om cachen; og gamle håndbyggede regler, der bypasser på cookies fra slettede plugins. Gennemgå bypass-reglerne, og test som helt ny besøgende i inkognito: får du HIT på andet besøg – også efter at have accepteret cookies? Hvis nej, er det dér, hullet er.
TTL: udløber cachen hvert 10. minut, genopbygges den hele dagen – og første besøg efter hvert udløb betaler prisen. Sæt lang TTL (timer/døgn) på sider, og lad purge-mekanismen håndtere friskhed: cachen skal udløbe, fordi indholdet ændrede sig, ikke fordi klokken gik. Purge: “Purge All ved hver ændring” er den stille dræber – én produktopdatering behøver ikke rydde hele sitets cache. Brug målrettet auto-purge (kun berørte URL’er), og gem totalrydninger til deploys; se LiteSpeed-purge-guiden og Cloudflare-purge-guiden.
Hit-raten er sund, når andet besøg på enhver offentlig side giver HIT – også med et UTM-pyntet kampagnelink, også efter cookie-accept; når accessloggens HIT-andel ligger stabilt højt; og når TTFB-målinger på tilfældige sider er konsistent lave (cache-effekten mærkes). Genmål efter kampagneudsendelser – det er dér, parameter-hullet viser sig – og efter nye plugins, der kan have medbragt nye cookies eller purge-vaner.
Indholdssites: 85-95 % på sidevisninger. Webshops: lavere – kurv, checkout og konto bypasser med vilje, og det er korrekt. Døm aldrig raten uden at vide, hvor meget af trafikken der skal bypasse.
Nej – parametrene fjernes ikke fra URL’en, de udelades kun af cache-nøglen. Analytics læser dem i browseren som altid; forskellen er, at alle kampagnebesøg nu får den hurtige, cachede side.
Ja – den fylder cachen, før besøgende kommer, så færre rammer et koldt MISS. Men den maskerer også hullerne: fix parametre, cookies og purge først, og lad crawleren (fx LiteSpeeds) være prikken over i’et.