Hurtigere hjemmeside hjælp til en langsom hjemmeside

Critical CSS

Critical CSS er den minimale CSS der skal bruges for at rendere “above the fold”. Det kan reducere render-blocking og forbedre FCP og LCP.

Skrevet af Kim Tetzlaff

Kort fortalt: Critical CSS er den lille mængde CSS der er nødvendig for at vise første viewport hurtigt og stabilt.

Hvad handler det om?

I stedet for at blokere med hele dit stylesheet, kan du inline eller prioritere det CSS der er nødvendigt for første viewport.

Når browseren loader en side, kan den ofte ikke rendere korrekt før den kender styles. Hvis dit stylesheet er stort, eller hvis du har mange CSS-filer, kan det blive render-blocking.

Critical CSS går ud på at:

  • prioritere det CSS der er nødvendigt for første visning
  • udskyde resten, så siden kan male hurtigere

Hvilken indflydelse har Critical CSS?

Typisk forbedrer det:

  • FCP (første indhold på skærmen hurtigere)
  • LCP (det vigtigste indhold kommer tidligere)
  • oplevet hastighed (mindre “ventetid” før siden ser færdig ud)

Det kan også gøre CLS bedre indirekte, fordi en hurtigere og mere stabil første render reducerer risikoen for senere store shifts.

Hvornår blev Critical CSS relevant?

Teknikken har eksisteret længe, men er blevet mere relevant fordi:

  • mange sites har store CSS bundles
  • frameworks og design systems kan generere meget CSS
  • Core Web Vitals gør første render endnu vigtigere

Hvordan implementerer man Critical CSS?

Der er flere tilgange:

1) Manuelt (mest kontrol)

  • identificér styles til header/hero/typografi
  • inline dem i <head>
  • load resten normalt

2) Automatisk extraction (mest skalerbart)

Der findes build-værktøjer der kan udtrække critical CSS automatisk for udvalgte sider.

3) Hybrid

  • inline et lille base layer
  • lad resten blive hentet efterfølgende

Hvad er “above the fold” i praksis?

“Above the fold” er ikke en fast højde. Det betyder: det brugeren ser i den første viewport på den enhed de bruger. Derfor skal du tænke mobile-first:

  • det der er above the fold på desktop, kan være under folden på mobil
  • og omvendt kan mobil have færre elementer synlige, så du kan holde critical CSS mindre

Critical CSS bør derfor fokusere på:

  • typografi (base styles)
  • layout for header/nav/hero
  • de vigtigste komponenter i første viewport (fx kort, overskrift, intro)

Hvilken indflydelse har Critical CSS på SEO og AI-resultater?

Critical CSS er ikke et “SEO-signal” i sig selv, men det kan påvirke de tekniske forhold der betyder noget:

  • hurtigere rendering kan hjælpe på engagement (brugere ser indhold hurtigere)
  • de tekniske årsager til dårlig FCP/LCP (render-blocking) bliver ofte reduceret

For AI-resultater handler det indirekte om samme ting: indholdet skal være tilgængeligt, stabilt og hurtigt at hente og rendere.

Sådan finder du ud af hvad der er critical CSS

En praktisk metode:

  1. Åbn en vigtig side på mobil
  2. Identificér hvilke elementer der er synlige ved første load
  3. Find hvilke CSS-regler der påvirker disse elementer
  4. Begræns critical CSS til det absolut nødvendige

Hvis du gør det manuelt, er det ofte nok at inline:

  • base typografi
  • layout/spacing for hero
  • nav/header styles

Konkrete implementeringer (eksempler på strategi)

Strategi A: Minimal inline + resten som almindelig CSS

  • inline et lille “base layer”
  • load resten normalt

Det er den mest robuste strategi og den der sjældnest giver vedligeholdelsesproblemer.

Strategi B: Inline pr. templateside

Hvis du har få skabeloner (blog, ordbog, guide), kan du:

  • lave critical CSS pr. template

Fordel: mere præcist. Ulempe: mere vedligehold.

Strategi C: Automatisk extraction

Hvis du har mange sider, kan extraction være praktisk, men du skal stadig teste at:

  • du ikke inline’r for meget
  • du ikke skaber dobbelt CSS eller flash (FOUC)

Typiske faldgruber

  • Inline for meget (du ender med at blokere igen)
  • Inline CSS der ikke bruges i første viewport
  • Glem caching/versionering af CSS

Sådan tester du om Critical CSS hjælper

Praktisk test:

  1. Mål baseline i Lighthouse/WebPageTest (FCP/LCP)
  2. Implementér en lille critical CSS
  3. Mål igen på mobilnetværk
  4. Tjek at der ikke kommer visuelle fejl (FOUC, layout-issues)

Hvis du ikke ser forbedring, er der ofte en anden flaskehals:

  • høj TTFB
  • stort hero-billede
  • tung JavaScript/hydration

Hvad bør du typisk have med i critical CSS? (eksempler)

På et content-site er der nogle ting der ofte går igen som “kritiske”:

  • base typografi (font-size, line-height, overskriftsstørrelser)
  • layout for header/navigation
  • spacing og layout for hero/intro
  • de vigtigste knap-/link-styles, så UI ikke “skifter” markant når resten af CSS loader

Hvis du har en “card”-baseret forside, kan det også være relevant at inkludere card-styles i critical CSS, så siden ser færdig ud tidligt.

Hvornår bør du ikke bruge Critical CSS?

Hvis dit CSS allerede er meget lille, eller hvis dit site er ekstremt hurtigt fra start, kan du ende med at introducere kompleksitet uden stor gevinst. I de tilfælde kan det være mere effektivt at fokusere på:

  • billeder (hero/LCP)
  • caching (TTFB)
  • JavaScript (INP)

Typiske forbedringer

  • Inline critical CSS
  • Lazy-load resten af CSS
  • Reducér unused CSS

Praktisk tjekliste

  • Er der render-blocking CSS på dine vigtigste sider?
  • Kan du isolere styles til første viewport?
  • Er resten af CSS splittet eller udskudt?
  • Er unused CSS reduceret?

FAQ

Kan man overoptimere med Critical CSS?

Ja. Hvis du inliner for meget, bliver HTML tungere og du flytter blot problemet. Hold critical CSS minimal og mål før/efter.

Skal alle sites bruge Critical CSS?

Nej. Hvis dit CSS allerede er lille, er gevinsten ofte begrænset. Det giver mest mening når du har store CSS bundles eller tydelig render-blocking.

Hvad er det vigtigste at have med i critical CSS?

Typisk base typografi, header/nav og hero/intro (første viewport). Undgå styles til elementer under folden og komponenter der ikke er synlige ved første visning.

Næste skridt fra begreb til handling

Guides og blogindlæg der matcher begrebets emne - ud fra fælles tags og sidens fokus.

Om forfatteren

Kim Tetzlaff

Kim skriver og vedligeholder indhold på hurtigere-hjemmeside.dk med fokus på målelig performance, Core Web Vitals og teknisk SEO. Målet er at gøre optimering konkret: hvad der faktisk flytter tal i feltdata, og hvordan du finder den korteste vej fra symptom til fix.

Kim Tetzlaff