Dybdedyk i LCP, FID og CLS
Analysér Largest Contentful Paint (LCP), First Input Delay (FID) og Cumulative Layout Shift (CLS) i detaljer samt teknikker til optimering af dem.
Dybdedyk i LCP, FID og CLS er en gratis Optimering af webydeevne og Lighthouse-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Optimering af webydeevne og Lighthouse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Optimering af webydeevne og Lighthouse-kurset indeholder 4 lektioner i alt.
Core Web Vitals i dybden
Velkommen til en dybere gennemgang af Core Web Vitals! Disse målinger er afgørende for at forstå og forbedre brugeroplevelsen på dit website.
I denne lektion analyserer vi Largest Contentful Paint (LCP), First Input Delay (FID) og Cumulative Layout Shift (CLS). Du lærer, hvad de hver især måler, hvorfor de er vigtige, og hvilke praktiske teknikker du kan bruge til at optimere dem.
Largest Contentful Paint (LCP)
Largest Contentful Paint (LCP) måler, hvor lang tid det tager, før det største synlige indholdselement i visningsområdet bliver renderet. Tænk på det som, hvor hurtigt en bruger ser hovedindholdet på din side.
- En god LCP-score er 2,5 sekunder eller mindre.
- Alt over 4 sekunder betragtes som dårligt.
LCP er en vigtig indikator for sidens oplevede indlæsningshastighed.
Hvad tæller med i LCP?
Ikke alle elementer bidrager til LCP. Typisk er det det største billede eller den største tekstblok, der er synlig, når siden indlæses første gang, som er LCP-elementet. Almindelige LCP-elementer omfatter:
<img>-elementer<video>-elementer (med deres posterbillede)- Elementer med et baggrundsbillede, der indlæses via
url() - Tekstelementer på blokniveau, der indeholder tekstnoder (f.eks.
<h1>og<p>)
At kende dit LCP-element er det første skridt mod at optimere det!
Optimering af LCP: Hurtigere indlæsning af ressourcer
En vigtig faktor for LCP er, hvor hurtigt din browser kan hente og rendere kritiske ressourcer, især billeder og skrifttyper. Her er en almindelig strategi:
- Forudindlæs kritiske billeder: Brug
<link rel="preload">til at fortælle browseren, at den skal hente ressourcer med høj prioritet tidligere. - Optimer billeder: Komprimer dem, brug moderne formater (WebP, AVIF), og brug responsive billeder.
- Minimer ressourcer, der blokerer rendering: Reducer eller udskyd CSS og JavaScript, som forhindrer siden i at blive renderet hurtigt.
Lad os se et eksempel på forudindlæsning af et hero-billede:
<!DOCTYPE html>
<html>
<head>
<title>LCP Preload Demo</title>
<!-- Preload the hero image to fetch it early -->
<link rel="preload" href="https://via.placeholder.com/800x450.webp" as="image">
<style>
body { margin: 0; font-family: sans-serif; }
img { max-width: 100%; height: auto; display: block; }
h1 { padding: 10px; }
</style>
</head>
<body>
<h1>Welcome to Our Site!</h1>
<!-- The actual image will render faster due to preload -->
<img src="https://via.placeholder.com/800x450.webp" alt="Important Hero Image" width="800" height="450">
<p>This image is likely the LCP element. Preloading helps it appear faster.</p>
</body>
</html>First Input Delay (FID)
First Input Delay (FID) måler tiden fra det øjeblik, en bruger interagerer med en side første gang (f.eks. klikker på en knap eller trykker på et link), til browseren faktisk kan begynde at behandle denne interaktion.
Det handler om reaktionsevne, og hvor hurtigt din side reagerer på brugerinput. Målingen omfatter ikke kørselstiden for hændelseshåndteringen, men kun forsinkelsen, før den kan begynde.
- En god FID-score er 100 millisekunder eller mindre.
- Alt over 300 millisekunder anses for dårligt.
Hvorfor FID er høj: Optaget hovedtråd
En høj FID betyder ofte, at browserens hovedtråd er optaget af andet arbejde, typisk afvikling af JavaScript, og derfor ikke kan reagere på brugerinput med det samme.
Almindelige årsager er:
- Lange JavaScript-opgaver: Tunge scripts, der kører i længere tid og blokerer hovedtråden.
- Store JavaScript-bundter: Mere kode betyder længere tid til parsing, kompilering og afvikling.
- Scripts fra tredjeparter: Annoncer, analyseværktøjer eller andre eksterne scripts kan optage en betydelig del af hovedtrådens tid.
Optimering af FID: Frigør hovedtråden
For at forbedre FID skal du reducere den tid, hvor hovedtråden er blokeret. Sådan gør du:
- Opdel lange opgaver: Opdel store JavaScript-operationer i mindre, asynkrone dele.
- Udskyd eller kør ikke-kritisk JS asynkront: Brug attributterne
deferellerasynctil scripts, der ikke er nødvendige for den indledende rendering. - Reducer JavaScript-mængden: Minificér, udfør tree-shaking på, og opdel dine JavaScript-bundter i kodeopdelinger.
- Brug Web Workers: Flyt beregningstunge opgaver til en baggrundstråd, så hovedtråden holdes fri.
Cumulative Layout Shift (CLS)
Cumulative Layout Shift (CLS) måler en sides visuelle stabilitet. Den kvantificerer, hvor mange uventede layoutforskydninger der sker, mens siden er aktiv.
En uventet forskydning sker, når et synligt element ændrer sin startposition fra ét renderet billede til det næste. Det kan være meget frustrerende for brugerne!
- En god CLS-score er 0,1 eller mindre.
- Alt over 0,25 anses for dårligt.
Almindelige årsager til CLS
Layoutforskydninger sker ofte, når indhold indlæses eller ændres dynamisk uden at reservere plads. De vigtigste årsager er:
- Billeder eller videoer uden dimensioner: Browseren ved ikke, hvor meget plads der skal reserveres, før mediet er indlæst.
- Dynamisk indsat indhold: Annoncer, bannere eller widgets, der vises, efter siden er begyndt at blive renderet.
- Webskrifttyper, der forårsager FOIT/FOUT: Skrifttyper, der indlæses sent, kan få teksten til at ombrydes eller forsvinde og blive vist igen.
- Handlinger, der venter på et netværkssvar: Indhold, der flytter sig, efter et API-kald er gennemført.
Optimering af CLS: Stabile layouts
Forebyggelse af CLS handler om at reservere plads og sikre, at elementer ikke flytter sig uventet. Her er nogle teknikker:
- Angiv billed- og videodimensioner: Brug altid attributterne
widthogheighteller CSS-egenskabenaspect-ratio. - Reservér plads til annoncer og indlejret indhold: Brug CSS-egenskaben
min-heighteller et pladsholderelement. - Undgå at indsætte indhold over eksisterende indhold: Især efter den indledende rendering af siden.
- Forudindlæs skrifttyper, og brug
font-display: Brugfont-display: optionalellerswaptil at styre indlæsningen af skrifttyper.
Her er et eksempel på, hvordan angivelse af billeddimensioner forhindrer CLS:
<!DOCTYPE html>
<html>
<head>
<title>CLS Prevention Demo</title>
<style>
body { font-family: sans-serif; }
.container { width: 300px; margin: 20px auto; border: 1px solid #ccc; padding: 10px; }
img { max-width: 100%; height: auto; display: block; margin-bottom: 10px; }
</style>
</head>
<body>
<div class="container">
<p>This content is stable.</p>
<!-- Image with specified width and height prevents layout shift -->
<img src="https://via.placeholder.com/300x200" alt="Placeholder" width="300" height="200">
<p>The content below the image does not jump around.</p>
</div>
</body>
</html>Kontrol af Core Web Vitals
Lad os teste din forståelse af Core Web Vitals og teknikkerne til at optimere dem.
Opsummering: LCP, FID, CLS
Du har nu fordybet dig grundigt i Core Web Vitals!
- LCP (Largest Contentful Paint): Måler den oplevede indlæsningshastighed med fokus på det største indholdselement. Optimér ved at forudindlæse, optimere billeder og reducere serverens svartid.
- FID (First Input Delay): Måler interaktivitet med fokus på forsinkelsen, før browseren reagerer på brugerinput. Optimér ved at minimere og opdele JavaScript-opgaver.
- CLS (Cumulative Layout Shift): Måler visuel stabilitet. Optimér ved at reservere plads til dynamisk indhold, angive billeddimensioner og styre indlæsningen af skrifttyper.
Ved at forstå og forbedre disse målinger bidrager du til en meget bedre brugeroplevelse!
Lær Optimering af webydeevne og Lighthouse med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Dybdedyk i LCP, FID og CLS” gratis?
Ja — hele teksten til “Dybdedyk i LCP, FID og CLS” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Optimering af webydeevne og Lighthouse-kurset, skal du opgradere til CoddyKit PRO. Optimering af webydeevne og Lighthouse-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Dybdedyk i LCP, FID og CLS”?
Analysér Largest Contentful Paint (LCP), First Input Delay (FID) og Cumulative Layout Shift (CLS) i detaljer samt teknikker til optimering af dem. Du øver dig i Optimering af webydeevne og Lighthouse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Optimering af webydeevne og Lighthouse?
Der kræves ingen tidligere erfaring. Optimering af webydeevne og Lighthouse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Dybdedyk i LCP, FID og CLS”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Optimering af webydeevne og Lighthouse-lektion?
Ja. Alle Optimering af webydeevne og Lighthouse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til Core Web Vitals
- Dybdedyk i LCP, FID og CLS
- Forbedring af målinger for brugerinteraktion
- Interaction to Next Paint (INP)