Core Web Vitals Optimierung: INP, LCP und CLS mit Mustern aus der Praxis
Konkrete Optimierungsmuster für INP, LCP und CLS: Event-Handler-Tuning, responsive Bilder mit priority, Skeleton-Layouts gegen Layout-Shifts und Lighthouse-Profiling.
Rechtliches & Info
So funktioniert LCP-Optimierung — Hero-Bilder, Server, Schriften und Render-Blocking-Resources systematisch verbessern. Mit fetchpriority, Preload und CDN.
Der erste sichtbare Eindruck einer Website entscheidet über Vertrauen und Conversion. Genau diese Wahrnehmung misst Largest Contentful Paint (LCP). Ein guter LCP-Wert ist entscheidend für Google-Rankings, für die Nutzererfahrung und besonders für die Anfragequote über Smartphones mit gemischter Mobilfunk-Abdeckung.
Der LCP ist einer der drei Core Web Vitals, die Google seit 2021 als Ranking-Faktoren verwendet. Er misst die Zeit vom Laden der Seite bis das größte Element im sichtbaren Bereich vollständig gerendert ist.
| Bewertung | Zeit | Bedeutung |
|---|---|---|
| Gut | ≤ 2,5s | Keine Optimierung nötig |
| Verbesserungswürdig | 2,5s – 4s | Sollte optimiert werden |
| Schlecht | > 4s | Dringender Handlungsbedarf |
Ziel — LCP unter 2,5 Sekunden, idealerweise unter 2 Sekunden.
Das LCP-Element ist meist eines der folgenden:
In Chrome DevTools:
Oder mit Lighthouse:
Der Server braucht zu lange, um die erste Antwort zu senden.
Lösungen:
# Nginx Caching Beispiel
location ~* \.(jpg|jpeg|png|webp|avif|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
CSS und JavaScript blockieren das Rendering.
Lösungen:
<!-- Critical CSS inline -->
<style>
/* Nur above-the-fold Styles */
.hero { ... }
</style>
<!-- Rest verzögert laden -->
<link rel="preload" href="styles.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
Bilder und Fonts laden zu langsam.
Lösungen:
JavaScript baut den Inhalt erst im Browser auf.
Lösungen:
Das fetchpriority-Attribut gibt dem Browser einen Hinweis zur Priorisierung:
<!-- Höchste Priorität für LCP-Bild -->
<img
src="hero.jpg"
alt="Hero"
fetchpriority="high"
loading="eager"
width="1920"
height="1080"
>
high: Höhere Priorität als normallow: Niedrigere Prioritätauto: Browser entscheidet (Standard)Nicht übertreiben —
fetchpriority="high"nur für das LCP-Element. Zu viele priorisierte Ressourcen heben sich gegenseitig auf.
<head>
<!-- LCP-Bild vorladen -->
<link
rel="preload"
href="/hero.webp"
as="image"
type="image/webp"
fetchpriority="high"
>
<!-- Kritische Fonts vorladen -->
<link
rel="preload"
href="/fonts/main.woff2"
as="font"
type="font/woff2"
crossorigin
>
</head>
<img
src="hero-800.jpg"
srcset="
hero-400.jpg 400w,
hero-800.jpg 800w,
hero-1200.jpg 1200w,
hero-1600.jpg 1600w
"
sizes="100vw"
alt="Hero Bild"
width="1600"
height="900"
fetchpriority="high"
>
<picture>
<source srcset="hero.avif" type="image/avif">
<source srcset="hero.webp" type="image/webp">
<img src="hero.jpg" alt="Hero" fetchpriority="high">
</picture>
Nie ein 4000px-Bild für einen 1200px-Container laden.
Schriftarten können den LCP verzögern, wenn Text das LCP-Element ist.
@font-face {
font-family: 'CustomFont';
src: url('/fonts/custom.woff2') format('woff2');
font-display: swap;
}
Mit swap zeigt der Browser sofort Text (mit Fallback-Font) an.
<link
rel="preload"
href="/fonts/custom.woff2"
as="font"
type="font/woff2"
crossorigin
>
Ein Content Delivery Network beschleunigt die Auslieferung:
https://pagespeed.web.dev/
Gibt Labor- und Felddaten sowie konkrete Empfehlungen.
import { onLCP } from 'web-vitals';
onLCP(metric => {
console.log('LCP:', metric.value);
// An Analytics senden
});
fetchpriority="high" für LCP-Bildfont-display: swap<!-- FALSCH -->
<img src="hero.jpg" loading="lazy">
<!-- RICHTIG -->
<img src="hero.jpg" loading="eager" fetchpriority="high">
Ein 5 MB Hero-Bild dauert selbst mit schnellem Internet zu lange.
JavaScript vermeiden, das vor dem LCP-Element lädt und es blockiert.
Der Browser erfährt erst spät von wichtigen Ressourcen.
LCP-Optimierung zahlt sich doppelt aus: bessere Rankings durch grüne Core Web Vitals und höhere Anfragequote auf Mobilgeräten. Mit fetchpriority, Preloading, sauberer Bildoptimierung und einem passenden CDN lässt sich das größte sichtbare Element zuverlässig unter 2,5 Sekunden bringen.
Chrome DevTools (Performance Tab) oder PageSpeed Insights. Beide zeigen das LCP-Element und seine Ladezeit.
Ein LCP von 3 Sekunden fällt in die Kategorie “verbesserungswürdig”. Google empfiehlt unter 2,5 Sekunden, idealerweise unter 2 Sekunden.
Ja, wenn JavaScript den größten sichtbaren Inhalt rendert. Dies ist bei Single-Page-Apps häufig der Fall — und ein Grund für SSR.
Ein CDN hilft besonders bei geografisch verteilten Nutzern. Bei lokalen Websites ist der Effekt geringer, aber Caching-Vorteile bleiben.
Wender Media unterstützt Sie bei der praktischen Umsetzung — von der technischen Konzeption bis zum Launch. Schreiben Sie uns, wir antworten innerhalb von 24 Stunden.
Jetzt Beratung anfragenKostenlos & unverbindlich — info@wendermedia.info
Konkrete Optimierungsmuster für INP, LCP und CLS: Event-Handler-Tuning, responsive Bilder mit priority, Skeleton-Layouts gegen Layout-Shifts und Lighthouse-Profiling.
Framer Motion performant einsetzen: Layout-Animationen vs. CSS-transform, prefers-reduced-motion-Handling, Lazy-Mount für schwere Animations-Trees und Profiling-Tipps.
CLS systematisch reduzieren: Bilder mit width/height, font-display, Reserved Space für Embeds und Ad-Slots.