Caching — Browser-caching og server-caching til SEO
Caching gemmer ressourcer lokalt så de ikke hentes igen — korrekt cache-opsætning reducerer load-tider og forbedrer Core Web Vitals.
Caching er teknikken der gemmer kopier af webressourcer lokalt i browseren eller på CDN-servere, så de kan genbruges uden at hente dem fra origin-serveren igen. Korrekt cache-opsætning reducerer sideindlæsningshastighed, forbedrer Core Web Vitals og aflaster serverinfrastruktur. For SEO er caching direkte koblet til LCP og TTFB — to af de metrics Google bruger i sin ranking-vurdering.
Hvad er caching?
Caching er teknikken der gemmer kopier af ressourcer — HTML-sider, CSS-filer, JavaScript, billeder — så de kan genbruges uden at hente dem fra serveren igen. For SEO er caching direkte koblet til sideindlæsningshastighed og Core Web Vitals, som er rankingfaktorer.
Der er flere lag af caching i et moderne website: browser-cache, server-cache og CDN-cache.
Browser-cache og Cache-Control headers
Browser-caching styres via HTTP-headeren Cache-Control, som serveren sender med hver ressource. Browseren gemmer ressourcen lokalt og bruger den igen inden for den specificerede periode.
De vigtigste Cache-Control direktiver beskrives nedenfor.
max-age
max-age=SEKUNDER angiver hvor mange sekunder en ressource må gemmes i cache. Cache-Control: max-age=31536000 svarer til ét år og er standardindstillingen for statiske assets der aldrig ændrer sig.
no-cache
no-cache betyder ikke “cache ingenting” — det betyder at browseren skal validere med serveren om ressourcen stadig er gyldig, inden den bruges fra cache. Browseren gemmer altså ressourcen, men tjekker altid om den er frisk. Det er velegnet til HTML-sider.
no-store
no-store forbyder at ressourcen gemmes i nogen form for cache. Browseren henter den altid direkte fra serveren og gemmer intet lokalt. Brug det til fortroligt indhold som login-sider og bruger-specifikke data.
public og private
public tillader at proxyer og CDNs cacher ressourcen ud over browseren selv. private begrænser caching til browseren alene og forhindrer at mellemliggende servere gemmer ressourcen.
Et typisk setup:
- HTML-sider:
Cache-Control: no-cache(altid validér) - CSS og JS med filhash i navn:
Cache-Control: public, max-age=31536000, immutable - Billeder:
Cache-Control: public, max-age=2592000(30 dage)
ETag og Last-Modified
ETag er en “fingeraftryk”-header — serveren sender en unik identifikator for ressourcen. Næste gang browseren spørger om ressourcen, sender den If-None-Match med ETag-værdien. Svarer serveren med 304 Not Modified, bruges den cachede version. Ingen data overføres unødigt.
Last-Modified fungerer tilsvarende men baseret på tidsstempel. ETag er mere præcis og foretrækkes.
Server-side caching
Server-side caching gemmer den genererede HTML og serverer den direkte uden at køre database-forespørgsler og templates for hvert request. For WordPress-sites reducerer plugins som W3 Total Cache og WP Rocket Time to First Byte (TTFB) markant.
Dynamisk indhold — bruger-specifikke sider, kurv, login-sider — bør ikke caches server-side.
CDN-caching
Et CDN (Content Delivery Network) distribuerer dine statiske ressourcer til servere rundt i verden og serverer dem fra den geografisk nærmeste node. CDN-caching reducerer latency og aflaster din origin-server.
Cloudflare, Fastly og AWS CloudFront er populære CDN-løsninger. CDN’et respekterer Cache-Control headers fra din origin-server og genvurderer cachen baseret på max-age eller manuel purge.
Cache-busting
Problemet med lang cache-levetid: hvad sker der når du opdaterer en CSS-fil? Brugere med cachen fil ser den gamle version.
Cache-busting løser dette ved at ændre filnavnet når indholdet ændrer sig — typisk ved at tilføje en hash:
styles.css→styles.a3f9b1.css
Browseren ser et nyt filnavn og henter den friske version. Alle moderne build-tools (Vite, Webpack, Next.js) håndterer dette automatisk.
Hvad bør caches — og hvad bør ikke
| Ressource | Anbefalet caching |
|---|---|
| CSS, JS med hash | max-age 1 år, immutable |
| Billeder | max-age 30 dage |
| Fonte | max-age 1 år |
| HTML-sider | no-cache (validér altid) |
| API-svar med brugerdata | no-store |
| Login-sider | no-store |
Caching og Core Web Vitals
Korrekt caching forbedrer alle tre Core Web Vitals:
- LCP forbedres fordi CSS og billeder hentes fra lokal cache
- INP forbedres fordi scripts allerede er loadet
- CLS forbedres fordi fonte og billeder hentes hurtigere og reducer layout shifts
Hvad er forskellen på no-cache og no-store? no-cache tillader at ressourcen gemmes, men kræver at browseren validerer med serveren om den stadig er frisk. no-store forbyder caching helt — ressourcen hentes altid fra serveren.
Rydder Google sin cache automatisk? Googlebot har sin egen cache. Du kan anmode om genindeksering via Google Search Console, men du kan ikke tvinge Google til at rydde en bestemt ressources cache.
Hvad er immutable i Cache-Control?
immutable signalerer at ressourcen aldrig ændrer sig inden for max-age-perioden. Browseren genvaliderer ikke, selv ved manuel reload. Brug kun til ressourcer med filhash i navn.
Sidst opdateret: marts 2026. Denne artikel er en del af Stegger.dk’s SEO-ordbog. → Denne artikel er en del af Server og HTTP-responser — Statuskoder, redirects og caching.
Andre artikler i samme emne
- Backend — Server-side kode og SEO
- CDN — Content Delivery Network og SEO
- HTTP 4xx klientfejl — 400, 403, 404, 410 og 429 i SEO
- HTTP 5xx serverfejl — 500, 502, 503 og 504 i SEO
- HTTP headers — Request og response headers til SEO
- HTTP-statuskoder — 200, 301, 404, 500 og SEO
- HTTPS og SSL/TLS — Sikker forbindelse som SEO-signal
- Komprimering — Gzip, Brotli og hurtigere sideindlæsning
- Minificering — Reducer CSS, JavaScript og HTML-filstørrelser
- Redirect chains — Kæder af omdirigeringer og SEO
- Redirects — 301, 302 og hvornår du bruger hvad
- Sikkerhedsheaders — HSTS, CSP og SEO-konsekvenser
- Soft 404 — Sider der returnerer 200 men opfører sig som 404
- TTFB og hosting — Server response time og SEO
Ofte stillede spørgsmål
- Hvad er caching?
- Caching er en teknik der gemmer kopier af ressourcer — HTML, CSS, JavaScript, billeder — lokalt i browseren eller på en mellemliggende server, så de ikke skal hentes fra den originale server ved hvert besøg. Resultatet er hurtigere sideindlæsning: ressourcer leveres fra cachen på millisekunder frem for at hente dem på ny. Browser-caching styres via HTTP Cache-Control headers, der angiver hvor længe en ressource må gemmes.
- Hvad er Cache-Control og hvad er max-age?
- Cache-Control er en HTTP-header der instruerer browsere og mellemliggende servere om cache-adfærd. Max-age=N angiver at ressourcen må caches i N sekunder. Cache-Control: public, max-age=31536000 (et år) er standard for statiske assets som billeder, CSS og JavaScript der ikke ændrer sig. No-cache angiver at ressourcen skal valideres hos serveren ved hvert request. No-store forhindrer al caching — brugt til fortrolige data og dynamiske sider.
- Hvad er CDN-caching og hvad er fordelen for SEO?
- Et CDN — Content Delivery Network — er et netværk af servere geografisk fordelt globalt der cacher og leverer statiske ressourcer fra den server der er tættest på brugeren. CDN-caching reducerer Time to First Byte markant, fordi ressourcer leveres fra en nærliggende edge-server frem for fra en central server på den anden side af verden. Lavere TTFB og hurtigere sideindlæsning forbedrer Largest Contentful Paint og Core Web Vitals, som Google bruger i ranking.
- Hvad er ETag og hvordan fungerer betingede requests?
- ETag er en HTTP-header der angiver en unik version-identifikator for en ressource. Når browseren har en cachet version, sender den If-None-Match-headeren med ETagen. Serveren sammenligner med den aktuelle version og returnerer enten 304 Not Modified (ingen ny data sendes) eller 200 med ny data. Det reducerer datamængden der overføres ved gentagne besøg markant, selv om cache er udløbet.
- Hvad er stale-while-revalidate og hvornår er det nyttigt?
- stale-while-revalidate er et Cache-Control-direktiv der lader browseren servere cachet indhold øjeblikkeligt (selv om det er forældet) mens det opdateres i baggrunden. Syntaks: Cache-Control: max-age=3600, stale-while-revalidate=86400. Brugeren ser aldrig et ventetid for forældet indhold. Det er ideelt til indhold der opdateres regelmæssigt men ikke i realtid — nyheder, produktlister, blogindeks.
Placering i ordbogen
- Backend — Server-side kode og SEO
- CDN — Content Delivery Network og SEO
- HTTP 4xx klientfejl — 400, 403, 404, 410 og 429 i SEO
- HTTP 5xx serverfejl — 500, 502, 503 og 504 i SEO
- HTTP headers — Request og response headers til SEO
- HTTP-statuskoder — 200, 301, 404, 500 og SEO
- HTTPS og SSL/TLS — Sikker forbindelse som SEO-signal
- Komprimering — Gzip, Brotli og hurtigere sideindlæsning
- Minificering — Reducer CSS, JavaScript og HTML-filstørrelser
- Redirect chains — Kæder af omdirigeringer og SEO
- Redirects — 301, 302 og hvornår du bruger hvad
- Sikkerhedsheaders — HSTS, CSP og SEO-konsekvenser
- Soft 404 — Sider der returnerer 200 men opfører sig som 404
- TTFB og hosting — Server response time og SEO