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:
- Åbn en vigtig side på mobil
- Identificér hvilke elementer der er synlige ved første load
- Find hvilke CSS-regler der påvirker disse elementer
- 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:
- Mål baseline i Lighthouse/WebPageTest (FCP/LCP)
- Implementér en lille critical CSS
- Mål igen på mobilnetværk
- 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.
Fjern render blocking CSS og JavaScript for hurtigere første visning
Lær hvordan du reducerer render blocking fra CSS og JavaScript, så siden viser indhold hurtigere og giver bedre FCP og LCP.
Gør hero til LCP: sådan ændrer du struktur, CSS og prioritering
Hvis LCP bliver en tilfældig paragraf i stedet for hero, får du både dårligere tal og en måling der ikke matcher brugerens første indtryk. Her er en konkret metode til at få hero (H1/billede) til at blive LCP – uden at snyde.
Brug fetchpriority og preload rigtigt på de vigtigste ressourcer
Få en praktisk guide til hvordan du bruger fetchpriority og preload på billeder, fonts og CSS uden at overstyre browseren forkert.
Hvordan du spotter render delay (uden at stirre på score)
Render delay er ofte grunden til at LCP bliver 1–2 sekunder for sent, selv når TTFB ser fin ud. Her er metoden til at finde årsagen hurtigt – og vælge den rigtige type fix.
Fetchpriority, preload og preconnect: hvornår de hjælper og hvornår de gør skade
Lær hvornår fetchpriority, preload og preconnect faktisk forbedrer load, og hvornår de bare skaber mere støj og dårlig prioritering i browseren.
Fonts uden CLS: undgå layout hop fra webfonts og fallback fonts
Se hvordan font-display, preload, fallback fonts og font metrics påvirker CLS, og lær hvordan du gør tekst stabil fra første visning.