CWV-Serie • Post 2/10
LCP unter 2 Sekunden — wie wir das auf mekyn.com erreichen
Largest Contentful Paint unter 2,5 Sekunden ist der Google-Standard. Unter 2 Sekunden ist das Exzellenz-Ziel. Diese Anleitung zeigt die fünf effektivsten Hebel mit echten Messwerten.
TL;DR
- LCP unter 2 Sekunden — wie wir das auf mekyn.com erreichen — eine praktische Anleitung für den DACH-Raum.
- Behandelt "largest contentful paint verbessern" mit konkreten Beispielen.
- Behandelt "lcp unter 2 sekunden" mit konkreten Beispielen.
- Mindestens 2 Snippet-Bait-Patterns für bessere SERP-Sichtbarkeit.
Largest Contentful Paint (LCP) ist die Zeit vom Beginn des Seitenladens bis das größte sichtbare Element im Viewport vollständig gerendert ist — Textblock, Bild oder Video. Es ist die wichtigste der drei Core Web Vitals und trägt 25 % zum Lighthouse-Performance-Score bei.
Was ist LCP genau?
LCP misst die Zeit vom Beginn des Seitenladens bis das größte sichtbare Element im Viewport vollständig gerendert ist — bei uns typischerweise der H1-Textblock.
Was LCP wirklich misst — und was nicht
Viele Entwickler verwechseln LCP mit „die Seite lädt schnell”. LCP misst nicht den ersten Pixel, sondern das letzte Rendering des größten Elements. Das bedeutet: Eine Seite kann FCP (First Contentful Paint) in 0,3 s haben, aber LCP in 6 s — weil das Hero-Bild erst nach dem Cookie-Banner-Script geladen wird.
LCP hat drei Phasen, die Lighthouse im Detail aufschlüsselt:
- TTFB (Time to First Byte): ca. 40 % der LCP-Zeit — Server-Antwortzeit
- Resource Load Delay: ca. 20 % — Zeit bis der Browser die Ressource entdeckt
- Resource Load Duration: ca. 30 % — Zeit für Download der Ressource
- Element Render Delay: ca. 10 % — Zeit für Rendering im Browser
Die Hebel liegen in den ersten drei Phasen.
Die fünf effektivsten Hebel für LCP unter 2 Sekunden
- TTFB unter 100 ms — Statische Dateien vom CDN-Edge (Cloudflare), kein Server-Side-Rendering pro Request
- LCP-Element als Text, nicht als Bild — H1-Container rendert sofort, kein Bild-Download nötig
- CSS kritisch inline — Das LCP-Element wird im ersten HTML-Chunk gestylt, kein Warten auf externes CSS
- Font-Preloading für das LCP-Element —
font-display: swap+rel="preload"für die Schrift im H1 - Kein JavaScript vor dem LCP-Element — Alle
<script>-Tags mitdeferodertype="module", nichts render-blockierend
Hebel 1: TTFB unter 100 ms
Time to First Byte ist die Zeit vom HTTP-Request bis zum ersten Byte der Antwort. Jede Millisekunde TTFB verlängert LCP um mindestens eine Millisekunde — bei dynamischen Seiten oft mehr.
Warum mekyn.com TTFB < 40 ms hat:
- Static-Site-Generator (Astro): Jede HTML-Seite ist zur Build-Zeit vorgerendert. Keine PHP-Ausführung, keine Datenbank-Query, kein Template-Rendering pro Request.
- Cloudflare CDN: Alle statischen Assets werden von Cloudflare’s Edge geliefert. Der Server in Frankfurt hat TTFB < 10 ms für DE-Nutzer.
Cache-Control: public, max-age=3600: HTML-Seiten sind 1 Stunde im CDN-Cache. Wiederholte Requests bekommen instant HIT.
Für bestehende Sites: Ein CDN vor den Server zu schalten ist der schnellste TTFB-Hebel. Cloudflare, BunnyCDN oder KeyCDN kosten wenig und reduzieren TTFB um 60–80 %.
Hebel 2: Das LCP-Element als Text
Das größte sichtbare Element auf den meisten Marketing-Pages ist entweder der H1-Text oder ein Hero-Bild. Die Wahl entscheidet über 50 % des LCP-Werts.
Text als LCP-Element (unsere Wahl):
- Wird im ersten TCP-Paket ausgeliefert
- Rendert synchron mit dem HTML-Parsing
- Kein zusätzlicher HTTP-Request nötig
Bild als LCP-Element (häufiger Fehler):
- Zusätzlicher HTTP-Request für das Bild
- Bild-Download dauert je nach Größe 200–2000 ms
- Lazy-Loading verzögert den Download zusätzlich
Auf mekyn.com ist das LCP-Element immer der H1-Textcontainer mit einem Text-Badge. Das Bildmaterial kommt aus dem public/-Ordner, ist als AVIF voroptimiert und hat loading="lazy" — es blockiert den LCP nicht.
Hebel 3: CSS kritisch inline
Externes CSS blockiert das Rendering. Der Browser muss das gesamte CSS herunterladen und parsen, bevor er das LCP-Element stylen kann.
Unser Ansatz mit Astro/Tailwind:
Astro baut CSS standardmäßig in <style>-Tags im <head> ein — das ist bereits „kritisch inline”. In Kombination mit Tailwind’s JIT-Compiler enthält jede Seite nur das tatsächlich verwendete CSS (typischerweise 4–8 KB), nicht die gesamte Tailwind-Library.
Für manuell optimierte Sites: Kritische CSS-Regeln für das LCP-Element und den Viewport-Bereich (above-the-fold) in ein <style>-Tag im <head>. Der Rest des CSS wird mit media="print" onload="this.media='all'" asynchron geladen.
Hebel 4: Font-Preloading
Das LCP-Element enthält Text — und Text braucht Schrift. Wenn die Schriftart als externer Font geladen wird und nicht zum richtigen Zeitpunkt im Cache ist, verzögert sich das LCP-Rendering.
Unser Font-Setup:
- Selbst gehostet: Inter und Space Grotesk liegen als
.woff2imnode_modules/@fontsource-variable/und werden von Astro im Build kopiert. Kein Google Fonts CDN, keine Dritt-Anbieter-DNS-Lookups. font-display: swap: Der Browser zeigt sofort eine System-Fallback-Schrift an und tauscht sie aus, sobald der Font geladen ist. Kein FOIT (Flash of Invisible Text).- Subset-Preloading: In
BaseLayout.astropreloaden wir dielatin-Subsets von Inter und Space Grotesk. Das ist das Minimum, das für den DACH-Text nötig ist. - Nur zwei Font-Familien: Inter (Body) + Space Grotesk (Headlines). Keine dritte Schriftart, kein Icon-Font.
Hebel 5: Kein JavaScript vor dem LCP-Element
JavaScript blockiert den HTML-Parser. Ein <script> ohne defer oder async mitten im <body> stoppt das Parsing, bis das Script heruntergeladen und ausgeführt ist.
Unsere Regel: Im <head> nur <link>-Tags, kein <script>. Im <body> nur <script> mit defer oder Inline-Scripts am Ende der Seite. React-Inseln nur dort, wo interaktive Logik wirklich nötig ist — und immer mit client:load oder client:idle, nie mit client:visible.
Für Tracking: Plausible Analytics lädt als 1-KB-Inline-Script am Ende des <body>, sendet einen einzigen POST /api/event und ist fertig. Keine Tag-Manager-Lösung, kein GTM-Container mit 50 Dritt-Scripts.
LCP messen: Die richtigen Tools
- Lighthouse in Chrome DevTools: Lab-Test mit simulierten Bedingungen. Gut für Erst-Diagnose und A/B-Vergleiche im Entwicklungsprozess.
- PageSpeed Insights: Kombiniert Lab (Lighthouse) und Field Data (CrUX). Zeigt das 75. Perzentil der echten Nutzer.
- Chrome User Experience Report (CrUX): Die rohen Field Data. Verfügbar als öffentliches BigQuery-Dataset und über die CrUX API.
- Unsere Empfehlung: PageSpeed Insights für den schnellen Check, CrUX API für detaillierte Trends.
Ein wichtiger Hinweis: LCP-Werte schwanken. Unterschiedliche Geräte, Netzwerke und Tageszeiten produzieren unterschiedliche Werte. Ein einzelner schlechter Lighthouse-Run ist kein Grund zur Panik — der Trend über 28 Tage zählt.
Weiterführend auf mekyn.com
→ Zur Pillar-Page: Seo → Verwandt: Lighthouse Score 100 → Verwandt: Cls Null → Tool: Cwv Tracker
Externe Quellen:
Mehr zu diesem Thema:
Zum SEO-HubKeine Kreditkarte · 14 Tage testen · Anti-Lock-In