Hurtigere hjemmeside hjælp til en langsom hjemmeside

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.

Skrevet af Kim Tetzlaff

Trin-for-trin

  1. Find det reelle LCP-element på en konkret URL (Lighthouse/PSI) og notér URL og type.

  2. Læs waterfall: er problemet TTFB, discovery, filstørrelse eller prioritering?

  3. Hvis discovery er sent: overvej preload af præcis den ressource - ellers ikke.

  4. Hvis billedet kendes tidligt men starter sent: prøv fetchpriority="high" på LCP-`<img>` og mål igen.

  5. Undgå at tilføje flere preloads end nødvendigt - én ændring ad gangen.

  6. Verificér LCP og waterfall efter deploy på staging.

Resource hints (preload, preconnect, dns-prefetch) og fetchpriority er kraftfulde værktøjer - og derfor farlige når de bruges uden diagnose. Mange sites ender med et <head> fyldt med «sikkerheds»-tags, mens LCP stadig er dårlig fordi HTML er sen, eller fordi det forkerte billede er optimeret.

Denne guide lærer dig at bruge fetchpriority og preload præcist: ét problem ad gangen, med waterfall som dommer.

Hvornår denne guide er relevant

Langsom LCP trods optimerede filer

Filerne er små, men starter for sent i waterfall.

Ressourcer der opdages for sent

LCP-billedet er ikke i første HTML, eller kommer via JS/CSS på en måde der udskyder start.

Før du går i gang

Find det reelle LCP element

Brug PageSpeed/Lighthouse - ikke antagelser.

Tjek om problemet er discovery, prioritet eller HTML

Hvis TTFB er høj, skal du ikke starte med preload af et billede - se fejlsøg LCP.

Den korte beslutningsregel (så du ikke skyder med spredehagl)

Der er tre typiske situationer - og de har tre forskellige “rigtige” greb:

  1. Discovery-problem (ressourcen opdages for sent)

    • Typisk tegn: LCP-ressourcen starter først sent i waterfall, fordi browseren først finder den sent i HTML eller efter CSS/JS.
    • Typisk greb: preload (men kun den præcise ressource) eller flyt discovery tidligere.
  2. Prioritets-problem (ressourcen opdages tidligt, men starter stadig sent)

    • Typisk tegn: URL’en er kendt tidligt, men konkurrerer med andre tidlige downloads.
    • Typisk greb: fetchpriority="high" på LCP-<img> og/eller reducer konkurrenter (tredjepart, render-blocking).
  3. Ressource-problem (den starter tidligt, men er tung)

    • Typisk tegn: download starter tidligt, men tager længe (stor fil eller forkert størrelse).
    • Typisk greb: dimensioner/srcset/sizes/format - preload hjælper næsten ikke.

Trin 1: Vurdér om preload giver mening

Kritiske billeder

Preload kun den præcise URL som LCP, når den ellers ville starte for sent.

Det vigtigste (og mest oversete) er, at preload skal matche det browseren ender med at hente. Hvis du preloader “desktop-hero.webp”, men mobilen ender med en anden srcset-variant, får du nemt:

  • spildt preload
  • eller værre: dobbelt download

Hvis du bruger responsive billeder, så preload med imagesrcset / imagesizes (så browseren vælger samme variant som den ellers ville). Eksempel:

<link
  rel="preload"
  as="image"
  href="/img/hero-960.webp"
  imagesrcset="/img/hero-480.webp 480w, /img/hero-960.webp 960w, /img/hero-1440.webp 1440w"
  imagesizes="(max-width: 768px) 100vw, 960px"
/>

Kritiske fonts

Ét snit ad gangen - og match type/crossorigin korrekt.

Eksempel (font preload):

<link
  rel="preload"
  href="/fonts/inter-var.woff2"
  as="font"
  type="font/woff2"
  crossorigin
/>

Typiske fejl i fonts:

  • preload af flere weights “for en sikkerheds skyld”
  • preload af font der ikke bruges i første viewport
  • forkert crossorigin (så preload ikke genbruges)

Kritiske stylesheets

Sjældent første valg - ofte er render-blocking bedre at løse strukturelt.

Trin 2: Brug fetchpriority rigtigt

Hvornår det giver mening på billeder

På LCP-<img> der konkurrerer med tredjepart eller mange parallelle requests.

Eksempel:

<img
  src="/img/hero-960.webp"
  width="960"
  height="540"
  decoding="async"
  fetchpriority="high"
  alt="..."
/>

Hvis du samtidig lazy-loader alt andet under folden (og bruger low på under-fold thumbnails), får du ofte en mere stabil LCP end hvis du bare hælder flere hints i <head>.

Hvornår det ikke gør

På billeder under folden - her kan low hjælpe hero med at vinde.

Sammenhæng med lazy loading

Lazy load ikke LCP-billedet - se LCP med billeder.

Trin 3: Brug preconnect med omtanke

Tredjepart med vigtig tidlig forbindelse

CDN eller font-host der bruges i første viewport.

Hvornår det er støj

Preconnect til analytics-domæner du ikke skal tale med før efter samtykke.

Trin 4: Undgå klassiske fejl

For mange preloads

Hvert preload konkurrerer om båndbredde.

Preload af ikke kritiske assets

Tjek at filen faktisk er på LCP-stien.

Forkert font preload

Fejl i href, as, type eller crossorigin gør preload værdiløs.

Trin 5: Test netværksrækkefølgen bagefter

Waterfall

Starter LCP-ressourcen tidligere uden at skade HTML/CSS?

Prioritering i browseren

Færre unødige parallelle tunge downloads i toppen.

Effekt på LCP

Mål på mobil og sammenlign før/efter.

Sådan verificerer du at preload faktisk virker (og ikke bare står i head)

Det her er den del, der skiller “vi satte et tag ind” fra “vi flyttede LCP”:

  1. Network → filtrér på ressource
    • starter requesten tidligere?
    • er der kun én download (ingen dobbelt)?
  2. Initiator
    • kommer download fra preload, eller fra HTML/CSS senere?
  3. Timing
    • flytter det LCP-start (discovery) eller bare “download”?
  4. Efter deploy
    • tjek igen: caching, redirects og bundling kan ændre URL’er og gøre preload irrelevant

Checkliste

  • Kun én hovedændring ad gangen
  • LCP-element og problemtype bekræftet
  • Ingen overflødig preload/preconnect i skabelonen

Afslutning

Bedre prioritering slår flere tags. Brug hints når målingen viser et konkret hul i discovery eller rækkefølge.

Læs også fetchpriority, preload og preconnect forklaret, LCP med billeder og waterfall.

Relaterede guides

FAQ

Skal jeg preload alle hero billeder?

Nej. Preload kun det billede der er LCP på den konkrete side, og kun når det ellers opdages for sent. Forskellige skabeloner har forskellige LCP-elementer.

Hvornår skal jeg bruge fetchpriority?

Når `<img>` er LCP-elementet og konkurrerer med andre tidlige ressourcer - så kan `high` hjælpe browseren med at vælge rigtigt. Brug `low` på billeder under folden for at flytte budget væk fra hero.

Er preconnect altid en gevinst?

Nej. Preconnect til domæner I ikke henter kritisk indhold fra tidligt, er bare ekstra håndtryk og CPU. Hold listen kort.

Næste skridt efter guiden

Brug emnesider, ordbog og blog til at validere og uddybe næste ændring.

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