Was sind die Core Web Vitals?
Die Core Web Vitals sind drei Messwerte von Google für das Nutzererlebnis: wie schnell der größte Inhalt erscheint (LCP), wie rasch die Seite auf Eingaben reagiert (INP) und wie ruhig das Layout bleibt (CLS). Eine Seite besteht, wenn mindestens 75 % der Aufrufe bei allen drei Werten im guten Bereich liegen.
| Messwert | Was er misst | Gut | Schlecht |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Zeit, bis das größte sichtbare Bild, Video oder der größte Textblock dargestellt ist | ≤ 2,5 s | > 4 s |
| INP (Interaction to Next Paint) | Reaktionszeit auf Klicks, Tippen und Tastatureingaben während des Besuchs | ≤ 200 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | unerwartete Verschiebungen des Layouts | ≤ 0,1 | > 0,25 |
Werte dazwischen gelten als verbesserungswürdig. INP ist seit 2024 ein fester Bestandteil der Core Web Vitals. Google bestätigt, dass seine Ranking-Systeme die Core Web Vitals verwenden. Gute Werte garantieren aber keine Spitzenposition: Google zeigt den relevantesten Inhalt auch dann, wenn das Nutzererlebnis schwächer ist.
Labor- oder Felddaten: Welche Werte zählen?
Felddaten stammen von echten Besuchern mit Chrome und zeigen, wie schnell Ihre Seite tatsächlich ist; Labordaten entstehen bei einem simulierten Aufruf, etwa mit Lighthouse. Für Prioritäten zählen die Felddaten, zur Fehlersuche die Labordaten.
- Felddaten kommen aus dem Chrome User Experience Report (CrUX). PageSpeed Insights zeigt sie für die vergangenen 28 Tage. Erfasst werden nur Chrome-Nutzer, die der Übermittlung zugestimmt haben, und nur Seiten mit genügend Besuchern – für kleinere Websites gibt es daher unter Umständen keine Felddaten.
- Labordaten misst Lighthouse unter festen Bedingungen, mobil mit einem simulierten Mittelklasse-Gerät und simuliertem Mobilfunknetz. INP lässt sich im Labor nicht messen, weil niemand klickt; als Ersatz dient die Total Blocking Time (TBT).
Auffindig misst selbst nicht im Browser, sondern wertet aus, was sich ohne Rendern feststellen lässt: Server, Dateien, Bilder, HTML. Die Felddaten fragt Auffindig optional über die CrUX-Schnittstelle ab; ohne Zugangsschlüssel oder bei zu wenig Besuchern fließt dieser Prüfpunkt nicht in die Bewertung ein. Zusätzlich lässt sich im Bericht die Messung mit Google PageSpeed zuschalten.
Was kann der Server beitragen?
Der Server bestimmt, wie schnell das erste Byte ankommt, ob Textdateien komprimiert übertragen werden und wie lange Browser Dateien zwischenspeichern dürfen. Als gut gilt eine Antwortzeit (TTFB) von höchstens 0,8 Sekunden, über 1,8 Sekunden als schlecht.
- Antwortzeit: Die TTFB umfasst Weiterleitungen, Namensauflösung (DNS), Verbindungs- und TLS-Aufbau sowie die Rechenzeit des Servers. Sie ist selbst kein Core Web Vital, aber der erste Teil des LCP. Laut web.dev hilft zuerst passendes Hosting, dann ein CDN, Zwischenspeichern fertiger Seiten (Caching) und das Vermeiden von Weiterleitungen.
- Komprimierung: Browser melden mit
Accept-Encoding, welche Verfahren sie kennen; der Server antwortet mitContent-Encoding: br(Brotli) odergzip. Laut MDN schrumpfen manche Dokumente dadurch um bis zu 70 %. Bilder, Videos und andere bereits komprimierte Dateien profitieren nicht. - HTTP/2: Das Protokoll überträgt viele Dateien gleichzeitig über eine einzige Verbindung, statt sie nacheinander anzufordern. Ob Ihr Server HTTP/2 nutzt, können Sie beim Hoster erfragen oder selbst prüfen.
- Browser-Caching: Dateien mit Versionsnummer im Namen (z. B.
style.3f9a2c.css) dürfen ein Jahr im Browser bleiben. Das HTML selbst sollte der Browser dagegen bei jedem Aufruf beim Server prüfen. - HTML-Größe: Große HTML-Dateien entstehen etwa durch eingebettete Daten, Bilder als Base64 oder umfangreiches Inline-CSS. Der Googlebot verarbeitet für die Google Suche nur die ersten 2 MB einer HTML-Datei.
# Versionierte Dateien (CSS, JS, Bilder, Schriften)
Cache-Control: public, max-age=31536000, immutable
# HTML-Seiten: vor jeder Verwendung beim Server nachfragen
Cache-Control: no-cache
Welche Header Ihr Server tatsächlich sendet – Komprimierung, Caching, HTTP-Version –, zeigt unser HTTP-Header-Check.
Wie optimiere ich Bilder?
Liefern Sie Bilder in modernen Formaten wie WebP oder AVIF, in der tatsächlich angezeigten Größe und mit width- und height-Angaben aus. Das Hauptbild oben laden Sie sofort und mit hoher Priorität, alle Bilder weiter unten erst bei Bedarf.
- Format: Verlustbehaftete WebP-Bilder sind laut MDN im Schnitt 25–35 % kleiner als vergleichbare JPEGs, AVIF-Bilder rund 50 %. Mit
<picture>erhalten ältere Browser ein JPEG als Ersatz. - Größe: Ein Foto, das mit 800 Pixel Breite angezeigt wird, braucht keine 4 000 Pixel. Mit
srcsetwählt der Browser die passende Variante für den Bildschirm. - Breite und Höhe: Mit
widthundheightberechnet der Browser das Seitenverhältnis und reserviert den Platz, bevor das Bild geladen ist. Fehlen sie, springt der Text beim Laden nach unten – das verschlechtert den CLS. - Lazy Loading:
loading="lazy"lädt Bilder erst, wenn sie in die Nähe des sichtbaren Bereichs kommen. Beim Hauptbild verzögert das den LCP; laut web.dev sollten Sie das LCP-Bild nie lazy laden. Geben Sie ihm stattdessenfetchpriority="high", aber nur einem oder zwei Bildern pro Seite.
Schlecht: Hauptbild lazy, ohne Größe, als großes JPEG
<img src="team.jpg" loading="lazy" alt="Unser Team in der Apotheke">
Gut: modernes Format mit Ersatz, Größe, hohe Priorität
<picture>
<source srcset="team-800.avif 800w, team-1600.avif 1600w"
sizes="(min-width: 1000px) 800px, 100vw" type="image/avif">
<img src="team-800.jpg" srcset="team-800.jpg 800w, team-1600.jpg 1600w"
sizes="(min-width: 1000px) 800px, 100vw"
width="800" height="533" fetchpriority="high"
alt="Unser Team in der Apotheke">
</picture>
Bilder weiter unten auf der Seite erhalten dagegen loading="lazy". Die Umwandlung in WebP oder AVIF lässt sich über ein Bild-CDN oder eine Erweiterung Ihres Systems automatisieren.
Was tun gegen blockierende Dateien und Drittanbieter?
Skripte im Head ohne async oder defer und eingebundene Stylesheets halten die erste Darstellung auf, bis sie geladen sind. Laden Sie Skripte mit defer, fassen Sie CSS zusammen und prüfen Sie jedes Drittanbieter-Skript auf seinen Nutzen.
Schlecht: blockiert die Darstellung
<script src="/js/slider.js"></script>
Gut: wird erst ausgeführt, wenn das HTML fertig gelesen ist
<script src="/js/slider.js" defer></script>
Skripte mit type="module" werden automatisch verzögert ausgeführt. Bei CSS hilft es, das für den ersten Bildschirm nötige CSS direkt einzubetten und den Rest später zu laden. Jede Datei ist außerdem eine eigene Anfrage – Plugins, Apps und Widgets bringen oft eigene Dateien mit, die sich summieren.
Drittanbieter – Schriften, Karten, Videos, Chat, Statistik – kosten zusätzlich je Host eine eigene Verbindung, und sie erhalten bei jedem Aufruf die IP-Adresse Ihrer Besucher. web.dev empfiehlt:
- Skripte ohne klaren Nutzen entfernen.
- Verbleibende Skripte mit
asyncoderdeferladen. - Eingebettete Inhalte wie Karten oder Videos erst bei Bedarf laden.
- Skripte von langsamen Fremdservern selbst hosten.
Was das für den Datenschutz bedeutet, etwa bei Google Fonts, erklärt der Artikel DSGVO und Impressum.
Warum bremsen Page-Builder und große DOMs?
Je mehr HTML-Elemente eine Seite enthält (DOM-Größe), desto mehr Arbeit hat der Browser beim ersten Darstellen und bei jeder Änderung – das verschlechtert vor allem die Reaktionszeit (INP). Lighthouse warnt laut web.dev ab 800 Knoten und stuft mehr als 1 400 als übermäßig ein.
Ein großes DOM entsteht, wenn Inhalte in viele verschachtelte Container gepackt werden, wie es bei Page-Buildern vorkommen kann, oder wenn lange Listen, Mega-Menüs und versteckte Inhalte vollständig im HTML stehen. Der wichtigste Hebel laut web.dev ist eine flachere Struktur ohne überflüssige Hüll-Elemente.
- Überflüssige Zeilen, Spalten und Container im Page-Builder entfernen.
- Lange Listen auf mehrere Seiten verteilen oder erst bei Bedarf nachladen.
- Inhalte außerhalb des sichtbaren Bereichs mit der CSS-Eigenschaft
content-visibilityspäter darstellen lassen.
Wie Auffindig all diese Punkte gewichtet und ab welchen Werten eine Meldung erscheint, steht unten im Abschnitt So prüft Auffindig.
Diese Punkte jetzt auf Ihrer Seite prüfen
So prüft Auffindig
Zu diesem Thema gehören 14 der 120 Prüfpunkte. Alle Gewichte und Formeln stehen in der Methodik, den Anteil am Gesamtscore finden Sie unter Bereich Performance.
Server-Antwortzeit (TTFB)
In Ordnung: bis 0,8 s. Verbesserbar: 0,81–1,8 s. Problem: über 1,8 s. Einmalige Messung vom Server von Auffindig aus, einschließlich DNS-Abfrage, Verbindungsaufbau und Verschlüsselung.
Größe des HTML-Dokuments
In Ordnung: bis 500 KiB (unkomprimiert). Verbesserbar: 500 KiB bis 2 MiB, oder Inline-Skripte von mehr als 100 KiB. Problem: über 2 MiB.
Komprimierte Übertragung (Brotli/gzip)
In Ordnung: HTML und alle geprüften eigenen Textdateien (CSS, JavaScript, SVG) werden komprimiert übertragen (Brotli, gzip, zstd oder deflate); Dateien bis 1 KiB dürfen unkomprimiert sein. Verbesserbar: HTML komprimiert, aber mindestens eine eigene Textdatei über 1 KiB nicht. Problem: HTML über 1 KiB wird unkomprimiert übertragen. Dateien fremder Server zeigt der Bericht nur als Hinweis, sie zählen nicht.
Schnelles Übertragungsprotokoll (HTTP/2)
In Ordnung: HTTP/2 (HTTP/3 wird zusätzlich als Detail angezeigt). Verbesserbar: nur HTTP/1.1.
Wenige blockierende CSS- und JavaScript-Dateien
In Ordnung: kein blockierendes Skript und höchstens 3 blockierende CSS-Dateien im Head. Verbesserbar: 1–2 blockierende Skripte, 4–6 CSS-Dateien oder @import im Inline-CSS. Problem: 3 oder mehr blockierende Skripte oder mehr als 6 CSS-Dateien. Stylesheets, deren media-Angabe auf einem Smartphone nicht zutrifft (z. B. print), deaktivierte oder alternative Stylesheets und nicht ausführbare Skripte (z. B. bis zur Einwilligung blockiert) zählen nicht; Stylesheets im Body zeigt der Bericht nur als Hinweis.
Anzahl der geladenen Dateien
In Ordnung: höchstens 15 JavaScript- und 10 CSS-Dateien, insgesamt höchstens 80 Dateien. Verbesserbar: höchstens 30 JavaScript- und 20 CSS-Dateien, insgesamt höchstens 150. Problem: mehr. Gezählt werden Skripte, Stylesheets, Bilder (ein picture-Element als ein Bild), iframes und Webfonts, die beim ersten Laden angefordert werden – ohne noscript-Inhalte und bis zur Einwilligung blockierte Skripte.
Wenige fremde Server (Drittanbieter)
In Ordnung: Dateien von höchstens 5 fremden Domains. Verbesserbar: 6–10. Problem: mehr als 10. Gezählt werden Domains, von denen Skripte, CSS, Schriften, iframes oder Bilder geladen werden.
Moderne Bildformate (WebP, AVIF)
In Ordnung: mindestens 80 % der Rasterbilder als WebP oder AVIF (auch wenn der Server sie für .jpg- oder .png-Adressen automatisch umwandelt). Verbesserbar: 40–79 %. Problem: unter 40 %. Nicht gezählt werden SVG, Symbole, Zählpixel, kleine Bilder unter 200 × 200 px und Bilder ohne erkennbares Format. Entfällt bei weniger als 3 zählenden Bildern.
Bilder mit Breiten- und Höhenangabe
In Ordnung: alle Bilder mit width und height. Verbesserbar: bis zu 20 % ohne diese Angaben. Problem: mehr als 20 % ohne diese Angaben. Ausgenommen sind Bilder mit Seitenverhältnis im Inline-Stil, Zählpixel, eingebettete data:-Bilder, versteckte Bilder und Bilder in noscript.
Bilder richtig verzögert laden (Lazy Loading)
In Ordnung: Das Hauptbild (erstes größeres Bild im oberen Seitenbereich, ohne Logos und kleine Symbole) wird sofort geladen, und mindestens die Hälfte der Bilder ab dem vierten hat loading="lazy". Verbesserbar: weniger als die Hälfte der späteren Bilder wird verzögert geladen, oder das Hauptbild wird per Skript verzögert (z. B. über data-src). Problem: Das Hauptbild hat loading="lazy".
Dateigröße der Bilder
In Ordnung: alle geprüften Bilder (bis zu 8, darunter das Hauptbild und das Vorschaubild für soziale Netzwerke) höchstens 200 KiB. Verbesserbar: Das größte Bild hat 200–500 KiB. Problem: Das größte Bild hat mehr als 500 KiB. Bilder, deren Größe der Server nicht nennt, zählen nicht.
Zwischenspeicherung im Browser (Caching)
In Ordnung: mindestens 80 % der geprüften eigenen CSS-, JavaScript- und Bilddateien dürfen 30 Tage oder länger im Browser zwischengespeichert werden. Verbesserbar: überwiegend mindestens 7 Tage. Problem: überwiegend kürzer als 7 Tage, „no-store“ oder „no-cache“. Maßgeblich ist die Dauer für den Browser (max-age bzw. Expires); s-maxage gilt nur für CDN und Proxy und zählt nicht. Entfällt ohne eigene Dateien in der Stichprobe.
Umfang des Seitenaufbaus (DOM-Größe)
In Ordnung: bis 800 HTML-Elemente. Verbesserbar: 801–1 400 Elemente, Verschachtelungstiefe über 32 oder mehr als 60 direkte Kindelemente. Problem: über 1 400 Elemente. Gezählt werden die Elemente im Body (ohne noscript-Inhalte).
Core Web Vitals aus echten Nutzerdaten
In Ordnung: alle drei Werte gut (LCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1). Verbesserbar: mindestens ein Wert verbesserungswürdig (LCP ≤ 4 s, INP ≤ 500 ms, CLS ≤ 0,25). Problem: mindestens ein Wert schlecht. Grundlage sind Felddaten aus dem Chrome UX Report (75. Perzentil, Mobilgeräte). Entfällt ohne API-Schlüssel oder wenn für die Website zu wenige Felddaten vorliegen.
Häufige Fragen
Ist die Ladezeit ein Rankingfaktor bei Google?
Google bestätigt, dass seine Ranking-Systeme die Core Web Vitals verwenden. Sie entscheiden aber nicht allein: Google zeigt den relevantesten Inhalt auch bei schwächerem Nutzererlebnis, und gute Werte garantieren keine Spitzenposition.
Warum unterscheiden sich Labor- und Felddaten?
Labordaten entstehen unter festen Bedingungen mit einem Gerät, einem Netz und einem Standort. Felddaten umfassen dagegen viele Geräte, Verbindungen und Nutzungsweisen echter Besucher. Für Prioritäten empfiehlt web.dev die Felddaten, zur Fehlersuche die Labordaten.
Soll ich alle Bilder mit loading="lazy" laden?
Nein. Bilder, die beim Laden schon sichtbar sind, vor allem das Hauptbild, sollten normal geladen werden – sonst verzögert sich der LCP. Lazy Loading eignet sich für Bilder weiter unten auf der Seite.
Welche Server-Antwortzeit ist gut?
Laut web.dev gilt eine TTFB von 0,8 Sekunden oder weniger als gut, mehr als 1,8 Sekunden als schlecht. Auffindig misst einmalig von seinem eigenen Server aus; bei Ihren Besuchern kann der Wert je nach Standort und Verbindung abweichen.
Quellen
- web.dev: Web Vitals
- web.dev: So wurden die Grenzwerte der Core Web Vitals festgelegt
- web.dev: Largest Contentful Paint (LCP)
- web.dev: LCP optimieren
- web.dev: CLS optimieren
- web.dev: Time to First Byte (TTFB)
- web.dev: TTFB optimieren
- web.dev: Warum sich Labor- und Felddaten unterscheiden
- Google Search Central: Nutzerfreundlichkeit von Seiten (Page Experience)
- Google Search Central: Core Web Vitals und Google-Suchergebnisse
- Google: Über PageSpeed Insights
- Chrome for Developers: CrUX-Methodik
- Google Search Central: Googlebot (Dateigrößen-Limit)
- MDN: Komprimierung in HTTP
- RFC 9113: HTTP/2
- web.dev: Unnötige Anfragen mit dem HTTP-Cache vermeiden
- MDN: Leitfaden zu Bilddateiformaten
- web.dev: Lazy Loading von Bildern im Browser
- web.dev: Ressourcen mit der Fetch Priority API priorisieren
- Chrome for Developers: Render-blockierende Ressourcen (Lighthouse)
- MDN: Das script-Element (defer, async, type="module")
- web.dev: JavaScript von Drittanbietern effizient laden
- web.dev: Wie große DOMs die Interaktivität beeinflussen