Was sind Core Web Vitals und warum sind sie wichtig?
Core Web Vitals sind Google's Metriken für Nutzererfahrung – und seit 2021 ein offizieller Ranking-Faktor.
bei Websites mit schlechten Core Web Vitals
Als Performance-Spezialist habe ich über 200 Websites optimiert. In diesem Guide zeige ich Ihnen die exakten Schritte, mit denen Sie Ihre Core Web Vitals in den grünen Bereich bringen.
Besuchen Sie unseren Webdesign Hub für weitere Artikel zu Website-Optimierung und SEO Hub für SEO-Performance-Tipps.
Die 4 Core Web Vitals 2026 (Update!)
Google hat 2024 die Core Web Vitals erweitert. Statt 3 gibt es jetzt 4 Metriken:
1. LCP – Largest Contentful Paint
Was es misst: Wie schnell der größte sichtbare Inhalt lädt
| Status | Wert |
|---|---|
| ✅ Gut | < 2,5 Sekunden |
| ⚠️ Verbesserungswürdig | 2,5 - 4,0 Sekunden |
| ❌ Schlecht | > 4,0 Sekunden |
2. INP – Interaction to Next Paint
INP misst alle Interaktionen während der Sitzung – nicht nur die erste wie FID.
Was es misst: Reaktionszeit bei Nutzer-Interaktionen
| Status | Wert |
|---|---|
| ✅ Gut | < 200 ms |
| ⚠️ Verbesserungswürdig | 200 - 500 ms |
| ❌ Schlecht | > 500 ms |
3. CLS – Cumulative Layout Shift
Was es misst: Unerwartete Layout-Verschiebungen beim Laden
| Status | Wert |
|---|---|
| ✅ Gut | < 0,1 |
| ⚠️ Verbesserungswürdig | 0,1 - 0,25 |
| ❌ Schlecht | > 0,25 |
4. FCP – First Contentful Paint
Was es misst: Zeit bis zum ersten sichtbaren Inhalt
| Status | Wert |
|---|---|
| ✅ Gut | < 1,8 Sekunden |
| ⚠️ Verbesserungswürdig | 1,8 - 3,0 Sekunden |
| ❌ Schlecht | > 3,0 Sekunden |
LCP optimieren: 7 bewährte Techniken
Problem: Hero-Bild lädt zu langsam
Häufigste LCP-Probleme:
Lösung 1: Moderne Bildformate nutzen
WebP und AVIF sind 25-35% kleiner als JPEG bei gleicher Qualität:
<picture>
<source srcset="hero.avif" type="image/avif">
<source srcset="hero.webp" type="image/webp">
<img src="hero.jpg" alt="Hero Image" loading="eager">
</picture>
<!-- Ergebnis: LCP von 4,2s auf 2,1s (50% Verbesserung) --> Lösung 2: Preload für kritische Ressourcen
<link rel="preload" as="image"
href="hero-image.webp"
imagesrcset="hero-image-320w.webp 320w,
hero-image-640w.webp 640w,
hero-image-1280w.webp 1280w"> Lösung 3: Responsive Images mit srcset
<img srcset="hero-400w.webp 400w,
hero-800w.webp 800w,
hero-1200w.webp 1200w"
sizes="(max-width: 600px) 400px,
(max-width: 1200px) 800px,
1200px"
src="hero-800w.webp"
alt="Hero"
loading="eager">
<!-- Mobile Nutzer laden nur 400px statt 1200px → 70% Dateneinsparung --> Lösung 4: CDN für schnellere Auslieferung
| Setup | LCP |
|---|---|
| Ohne CDN | 3,8s |
| Mit Cloudflare CDN | 1,9s |
CDNs reduzieren Latenz durch geografisch verteilte Server.
Lösung 5: Critical CSS Inline
<style>
/* Critical CSS inline im <head> */
.hero {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 80vh;
}
.hero-title {
font-size: clamp(2rem, 5vw, 4rem);
}
</style>
<!-- Rest-CSS async laden -->
<link rel="preload" href="styles.css" as="style"
onload="this.onload=null;this.rel='stylesheet'"> Lösung 6: Font Loading optimieren
@font-face {
font-family: 'Inter';
src: url('/fonts/inter.woff2') format('woff2');
font-display: swap; /* Verhindert Flash of Invisible Text */
} Lösung 7: Server-Response-Time optimieren
INP optimieren: Interaktivität verbessern
Was ist INP und warum ersetzt es FID?
| Metrik | Was es misst |
|---|---|
| FID (alt) | Nur die erste Interaktion → unvollständig |
| INP (neu) | Alle Interaktionen während der Sitzung → aussagekräftiger |
Häufigste INP-Probleme
Lösung 1: JavaScript Code-Splitting
// Alle 500 KB JavaScript auf einmal laden
import { alles } from './giant-bundle.js';
// Problem: Main Thread blockiert // Nur laden, was gebraucht wird (Dynamic Import)
button.addEventListener('click', async () => {
const module = await import('./feature.js');
module.handleClick();
});
// Ergebnis: INP von 380ms auf 150ms verbessert Lösung 2: Web Workers für Heavy Tasks
// main.js - UI bleibt reaktiv!
const worker = new Worker('calculator.worker.js');
worker.postMessage({ action: 'calculate', data: largeDataset });
worker.onmessage = (e) => {
console.log('Ergebnis:', e.data);
}; Lösung 3: Debouncing für häufige Events
// Ohne Debouncing: 100+ Events pro Sekunde
input.addEventListener('input', handleInput); // Mit Debouncing: Max 1 Event alle 300ms
input.addEventListener('input', debounce(handleInput, 300));
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => func(...args), wait);
};
} Lösung 4: requestIdleCallback für Non-Critical Tasks
// Analytics erst senden, wenn Browser idle ist
requestIdleCallback(() => {
sendAnalytics(userData);
}); CLS optimieren: Layout Shifts vermeiden
Was verursacht Layout Shifts?
Top 5 CLS-Killer:
Lösung 1: Immer Width & Height angeben
<img src="product.jpg" alt="Product">
<!-- Browser weiß nicht, wie viel Platz er reservieren soll --> <img src="product.jpg"
alt="Product"
width="800"
height="600"
style="max-width: 100%; height: auto;">
<!-- Browser reserviert exakt richtigen Platz -->
<!-- Ergebnis: CLS von 0.45 auf 0.02 reduziert --> Lösung 2: aspect-ratio für responsive Elemente
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
}
.product-image {
aspect-ratio: 4 / 3;
object-fit: cover;
} Lösung 3: Platzhalter für dynamischen Content
<!-- Cookie Banner mit fester Höhe -->
<div class="cookie-banner" style="min-height: 120px;">
<!-- Content wird hier eingefügt -->
</div> Lösung 4: transform statt position/top/left
.modal {
top: 50%; /* Verändert Layout! */
left: 50%;
} .modal {
transform: translate(-50%, -50%); /* Kein Reflow! */
} Lösung 5: font-display: swap + Fallback Metrics
@font-face {
font-family: 'CustomFont';
src: url('/font.woff2') format('woff2');
font-display: swap;
/* Neue size-adjust API */
ascent-override: 95%;
descent-override: 25%;
line-gap-override: 0%;
} FCP optimieren: Schneller First Paint
Kritische Rendering-Pfad optimieren
Ziel: Reduzieren Sie Render-blockierende Ressourcen
Lösung 1: CSS Critical Path
<!-- 1. Critical CSS inline -->
<style>
/* Above-the-fold CSS hier */
</style>
<!-- 2. Rest-CSS async laden -->
<link rel="preload" href="/styles.css" as="style"
onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/styles.css"></noscript> Lösung 2: JavaScript async/defer
<!-- Blocking (schlecht) -->
<script src="app.js"></script> <!-- Non-blocking (gut) -->
<script src="app.js" defer></script>
<!-- oder -->
<script src="analytics.js" async></script>
<!-- Unterschied:
defer: Lädt parallel, führt nach DOM aus
async: Lädt parallel, führt sofort aus --> Lösung 3: Resource Hints
<!-- DNS vorbereiten für externe Ressourcen -->
<link rel="dns-prefetch" href="https://cdn.example.com">
<!-- Wichtige Ressourcen vorausladen -->
<link rel="preload" href="/fonts/Inter-VariableFont.woff2"
as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/hero.webp" as="image"> Real-World Case Study: Anwalts-Website
Ausgangssituation
Kanzlei-Website mit schlechten Core Web Vitals:
Vorher
| Metrik | Wert | Status |
|---|---|---|
| LCP | 4,8s | ❌ schlecht |
| INP | 420ms | ⚠️ verbesserungswürdig |
| CLS | 0,32 | ❌ schlecht |
| FCP | 3,2s | ❌ schlecht |
Probleme:
- Große Header-Bilder (2,5 MB!)
- Nicht optimierte Google Fonts
- Massive JavaScript Bundles
- Keine Bildgrößen angegeben
Optimierungen durchgeführt
Bilder
Fonts
JavaScript
CSS
Ergebnisse nach Optimierung
Nachher
| Metrik | Wert | Verbesserung |
|---|---|---|
| LCP | 1,9s ✅ | 60% |
| INP | 125ms ✅ | 70% |
| CLS | 0,04 ✅ | 88% |
| FCP | 1,2s ✅ | 63% |
Business Impact
Tools zum Messen der Core Web Vitals
Google PageSpeed Insights
Kostenlos: pagespeed.web.dev
- Field Data (echte Nutzer)
- Lab Data (kontrollierte Tests)
- Konkrete Optimierungsvorschläge
Google Search Console
Core Web Vitals Report:
- Zeigt problematische URLs
- Gruppiert nach Problemtyp
- Zeigt zeitliche Entwicklung
Chrome DevTools
Lighthouse:
- F12 drücken
- Lighthouse Tab
- "Analyze page load" klicken
Web Vitals Extension
Chrome Extension von Google:
- Zeigt Echtzeit-Metriken
- Warnt bei schlechten Werten
- Perfekt für Testing
Checkliste: Core Web Vitals Optimierung
LCP-Optimierung
INP-Optimierung
CLS-Optimierung
FCP-Optimierung
Häufige Fragen (FAQ)
Wie oft sollte ich Core Web Vitals prüfen?
Mindestens monatlich im Search Console Report. Bei aktiver Optimierung wöchentlich mit PageSpeed Insights.
Beeinflussen Core Web Vitals Rankings wirklich?
Ja, definitiv. Google bestätigte: Bei gleicher Inhaltsqualität rankt die schnellere Seite höher. Studien zeigen durchschnittlich 20-30% Traffic-Steigerung nach Optimierung.
Welche Metrik ist am wichtigsten?
LCP hat den größten Impact auf Nutzererfahrung und Rankings. Aber alle 4 Metriken müssen grün sein für optimale Performance.
Muss ich alle Seiten optimieren?
Priorisieren Sie:
- Homepage
- Top Landing Pages (Traffic-Quellen checken!)
- Conversion-kritische Seiten
- Alle anderen Seiten
Möchten Sie Ihre Core Web Vitals optimieren?
Wir bieten kostenlosen Performance-Check und professionelle Optimierung für Ihre Website.