Zum Inhalt springen
StartseiteStart
EN
WhatsAppMailPhone
← Alle Artikel
Lighthouse Score 100: So erreichst du perfekte Web Performance
Webentwicklung

Lighthouse Score 100: So erreichst du perfekte Web Performance

Für den visuellen Mehrwert meiner Artikel erstelle ich passende Titelbilder mit Hilfe von künstlicher Intelligenz - abgestimmt auf den tatsächlichen Inhalt des Beitrags.

Der komplette Leitfaden zu Lighthouse 100 Scores - von Core Web Vitals über Bildoptimierung bis zu Server-Strategien. Praxiserprobte Techniken für maximale Web Performance.

Eric MengeAutorEric MengeInhaber & Webentwickler bei EMIT Solution
Veröffentlicht
Lesezeitca. 9 Min.

Kurz gesagt

  • Der Lighthouse Performance-Score berechnet sich als gewichteter Durchschnitt: Total Blocking Time fließt mit 30 Prozent ein, Largest Contentful Paint und Cumulative Layout Shift mit je 25 Prozent.
  • Die Core Web Vitals 2026 bestehen aus drei Kennzahlen mit klaren Schwellenwerten: LCP unter 2,5 Sekunden, INP unter 200 Millisekunden und CLS unter 0,1.
  • INP ist 2026 die am häufigsten nicht bestandene Metrik - 43 Prozent aller Websites scheitern am 200-Millisekunden-Schwellenwert, fast immer durch zu viel synchrones JavaScript auf dem Main Thread.
  • Bilder machen typischerweise 50 bis 70 Prozent des Seitengewichts aus; AVIF liefert rund 50 Prozent kleinere Dateien als JPEG, WebP 25 bis 35 Prozent bei voller Browser-Unterstützung.
  • In einem realen Projekt sank der Performance Score von 34 auf 100: LCP von 6,8 auf 0,9 Sekunden, TBT von 2.400 auf 12 Millisekunden und das Seitengewicht von 4,8 MB auf 380 KB.

Ein perfekter Lighthouse Score ist kein Zufall. Er ist das Ergebnis systematischer Optimierung, fundiertem Wissen über Browser-Rendering und konsequenter Umsetzung bewährter Techniken. In diesem Leitfaden zeige ich dir genau, wie du alle vier Kategorien auf 100 bringst - basierend auf meiner täglichen Praxis als Webentwickler.

Was misst Google Lighthouse?

Lighthouse bewertet Websites in vier Kategorien, die jeweils einen Score von 0 bis 100 erhalten:

Performance - Die technische Ladegeschwindigkeit. Hier fließen sechs gewichtete Metriken ein, die gemeinsam ein Gesamtbild der Nutzererfahrung zeichnen.

Accessibility - Barrierefreiheit der Website. Korrekte Semantik, ARIA-Labels, Kontrastverhältnisse und Tastaturnavigation werden geprüft.

Best Practices - Sicherheitsstandards, HTTPS, korrekte Bild-Seitenverhältnisse und moderne API-Nutzung.

SEO - Technische Suchmaschinenoptimierung: Meta-Tags, strukturierte Daten, crawlbare Links und mobile Optimierung.

Der Performance-Score ist dabei die anspruchsvollste Kategorie. Er berechnet sich als gewichteter Durchschnitt aus sechs Metriken:

Metrik Gewichtung
Total Blocking Time (TBT) 30%
Largest Contentful Paint (LCP) 25%
Cumulative Layout Shift (CLS) 25%
First Contentful Paint (FCP) 10%
Speed Index 10%

Die Scores werden am 75. Perzentil realer Nutzerdaten gemessen. Das bedeutet: 75 Prozent deiner Besucher müssen eine gute Erfahrung haben, damit die Seite als bestanden gilt.

Core Web Vitals 2026: LCP, INP und CLS im Detail

Die Core Web Vitals sind Googles offizielle Metriken für Nutzererfahrung und fließen direkt in das Suchranking ein. 2026 besteht das Set aus drei Kennzahlen:

Largest Contentful Paint (LCP)

LCP misst, wie lange es dauert, bis das größte sichtbare Element im Viewport vollständig gerendert ist. Das kann ein Hero-Bild, eine Überschrift oder ein Video-Poster sein.

  • Gut: unter 2,5 Sekunden
  • Verbesserungsbedürftig: 2,5 bis 4 Sekunden
  • Schlecht: über 4 Sekunden

Der häufigste LCP-Killer: unkomprimierte Hero-Bilder ohne Preload-Hint. Ein einzelnes 2 MB JPEG kann den LCP um mehrere Sekunden verschlechtern.

Interaction to Next Paint (INP)

INP hat 2024 den älteren First Input Delay (FID) ersetzt und misst die gesamte Reaktionszeit auf Nutzerinteraktionen - vom Klick bis zur visuellen Antwort. Während FID nur die Verzögerung vor der Verarbeitung maß, erfasst INP den kompletten Zyklus.

  • Gut: unter 200 Millisekunden
  • Verbesserungsbedürftig: 200 bis 500 Millisekunden
  • Schlecht: über 500 Millisekunden

INP ist 2026 die am häufigsten nicht bestandene Metrik - 43 Prozent aller Websites scheitern am 200-Millisekunden-Schwellenwert. Die Ursache liegt fast immer in zu viel synchronem JavaScript auf dem Main Thread.

Cumulative Layout Shift (CLS)

CLS quantifiziert visuelle Instabilität. Jedes Mal, wenn ein Element seine Position unerwartet ändert, wird der Shift-Betrag aufsummiert.

  • Gut: unter 0,1
  • Verbesserungsbedürftig: 0,1 bis 0,25
  • Schlecht: über 0,25

Typische Verursacher: Bilder ohne definierte Dimensionen, nachladende Webfonts und dynamisch eingefügte Werbebanner.

Webentwickler optimiert die Web Performance am Monitor mit Code-Editor und einem Lighthouse-Audit-Bericht mit grünen Score-Anzeigen

Die größten Performance-Killer

Aus der täglichen Optimierungsarbeit kristallisieren sich immer wieder dieselben Probleme heraus:

1. Unkomprimierte und falsch dimensionierte Bilder - Bilder machen typischerweise 50 bis 70 Prozent des Seitengewichts aus. Ein einzelnes unkomprimiertes Foto kann schwerer sein als der gesamte restliche Seiteninhalt.

2. Render-blockierendes JavaScript - Jedes synchron geladene Script blockiert den Parser. Drittanbieter-Scripts wie Analytics, Chat-Widgets und Social-Media-Embeds addieren sich schnell zu mehreren Sekunden Blocking Time.

3. Nicht gecachte Ressourcen - Ohne korrekte Cache-Header lädt der Browser bei jedem Besuch alles neu herunter.

4. Fehlende Komprimierung - Ohne Brotli oder Gzip werden HTML, CSS und JavaScript in voller Größe übertragen.

5. Zu viele HTTP-Requests - Jede Ressource verursacht Latenz. Dutzende kleine CSS- und JS-Dateien summieren sich.

Bildoptimierung: Der größte Hebel

Da Bilder den Löwenanteil am Seitengewicht ausmachen, bieten sie den größten Optimierungsspielraum.

Moderne Formate: AVIF und WebP

AVIF liefert 2026 die beste Kompressionsrate - rund 50 Prozent kleiner als JPEG bei vergleichbarer Qualität. Bei Qualitätsstufe 60-70 erreicht AVIF ein Ergebnis, das visuell JPEG bei Qualität 85 entspricht.

WebP ist 25-35 Prozent kleiner als JPEG und wird von allen modernen Browsern unterstützt. Es ist der verlässliche Allrounder.

Die empfohlene Strategie ist ein Fallback-System:

<picture>
  <source srcset="hero.avif" type="image/avif">
  <source srcset="hero.webp" type="image/webp">
  <img src="hero.jpg" alt="Beschreibung" width="1200" height="630">
</picture>

Lazy Loading und Responsive Images

Bilder unterhalb des sichtbaren Bereichs sollten erst geladen werden, wenn der Nutzer scrollt:

<img src="bild.webp" loading="lazy" decoding="async" alt="..." width="800" height="450">

Für das LCP-Element gilt das Gegenteil - hier ist ein expliziter Preload-Hint entscheidend:

<link rel="preload" as="image" href="hero.avif" type="image/avif">

Responsive Images mit srcset stellen sicher, dass mobile Geräte nicht Desktop-Auflösungen laden:

<img srcset="bild-400.webp 400w, bild-800.webp 800w, bild-1200.webp 1200w"
     sizes="(max-width: 600px) 400px, (max-width: 1000px) 800px, 1200px"
     src="bild-800.webp" alt="...">
Smartphone in der Hand zeigt eine blitzschnell geladene Website als Ergebnis konsequenter Performance-Optimierung

JavaScript-Optimierung

JavaScript ist der zweitgrößte Performance-Faktor nach Bildern - und der größte Verursacher schlechter INP-Werte.

Code Splitting

Statt eines monolithischen Bundles wird JavaScript in Chunks aufgeteilt, die nur bei Bedarf geladen werden:

// Dynamischer Import - lädt nur wenn benötigt
const module = await import('./schweres-modul.js');

Frameworks wie Astro, Next.js und Nuxt implementieren Route-basiertes Code Splitting automatisch. Nur der Code für die aktuelle Seite wird initial geladen.

Tree Shaking

Moderne Bundler wie Vite, Rollup und esbuild entfernen ungenutzten Code automatisch - vorausgesetzt, du nutzt ES-Module-Syntax:

// Nur die genutzte Funktion landet im Bundle
import { formatDate } from './utils';

Defer und Async

Scripts, die nicht für das initiale Rendering benötigt werden, sollten den Parser nicht blockieren:

<!-- Wird parallel geladen und nach dem Parsing ausgeführt -->
<script src="analytics.js" defer></script>

<!-- Wird parallel geladen und sofort nach dem Download ausgeführt -->
<script src="kritisch.js" async></script>

Faustregel: defer für eigene Scripts, die auf das DOM zugreifen. async für unabhängige Drittanbieter-Scripts. Kritisches JavaScript inline im Head.

Main Thread entlasten

Für INP-Optimierung ist es entscheidend, lange Tasks aufzubrechen:

// Lange Aufgabe in kleinere Stücke aufteilen
function processItems(items) {
  const chunk = items.splice(0, 50);
  chunk.forEach(processItem);
  if (items.length > 0) {
    requestAnimationFrame(() => processItems(items));
  }
}

Server-Side Rendering vs. Static Site Generation

Die Rendering-Strategie hat massiven Einfluss auf die Performance:

Static Site Generation (SSG) liefert vorgerenderte HTML-Dateien direkt vom CDN. Keine Server-Berechnung, keine Datenbankabfragen zur Laufzeit. Das Ergebnis: konstant niedrige Time-to-First-Byte (TTFB) und optimale LCP-Werte. Frameworks wie Astro, Hugo und 11ty sind darauf spezialisiert.

Server-Side Rendering (SSR) rendert HTML auf dem Server bei jedem Request. Sinnvoll für personalisierte oder hochdynamische Inhalte, aber langsamer als SSG durch die Server-Berechnung.

Der Hybrid-Ansatz kombiniert beide Welten: Statische Seiten für Content, SSR nur wo dynamische Daten unvermeidbar sind. Astro mit seinen Islands-Architektur ist dafür ideal - statisches HTML als Basis, interaktive Komponenten werden gezielt hydriert.

Für die meisten Unternehmenswebsites, Blogs und Portfolios ist SSG der klare Gewinner. Nur bei E-Commerce-Checkouts, Dashboards oder personalisierten Feeds lohnt sich der SSR-Overhead.

Caching-Strategien und CDN

Intelligentes Caching eliminiert redundante Downloads und reduziert die Server-Last:

Browser-Caching via HTTP-Header

# Statische Assets (versioniert durch Hash im Dateinamen)
Cache-Control: public, max-age=31536000, immutable

# HTML-Seiten (immer revalidieren)
Cache-Control: public, max-age=0, must-revalidate

Statische Assets wie CSS, JavaScript und Bilder erhalten eine einjährige Cache-Dauer. Die Invalidierung erfolgt über geänderte Dateinamen (Content Hashing). HTML-Dokumente werden immer frisch vom Server geholt.

CDN-Einsatz

Ein Content Delivery Network verteilt Inhalte auf Edge-Server weltweit. Der Nutzer erhält Dateien vom nächstgelegenen Standort, was die Latenz drastisch reduziert. Für statische Sites reicht oft ein einfaches CDN-Setup mit Cloudflare oder einem vergleichbaren Anbieter.

Service Worker für Offline-Fähigkeit

// Stale-while-revalidate Strategie
self.addEventListener('fetch', event => {
  event.respondWith(
    caches.open('v1').then(cache =>
      cache.match(event.request).then(cached => {
        const fetched = fetch(event.request).then(response => {
          cache.put(event.request, response.clone());
          return response;
        });
        return cached || fetched;
      })
    )
  );
});

Font-Optimierung und Layout Shifts vermeiden

Webfonts sind ein häufig unterschätzter CLS-Verursacher. Wenn der Browser vom Fallback-Font zum Webfont wechselt, verschieben sich Textblöcke - ein klassischer Layout Shift.

font-display: swap vs. optional

@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter.woff2') format('woff2');
  font-display: swap; /* Zeigt sofort Fallback, tauscht nach Laden */
}

font-display: optional eliminiert den Layout Shift komplett - wenn der Font nicht innerhalb von 100ms geladen ist, wird er auf dieser Seite nicht mehr angewendet. Ideal für Performance, erfordert aber ein akzeptables Fallback-Design.

Preloading kritischer Fonts

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

Font-Subsetting

Die meisten Websites brauchen keine vollständigen Font-Dateien mit kyrillischen, griechischen und arabischen Zeichen. Ein Subset auf latin reduziert die Dateigröße um 50-80 Prozent:

@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F;
}

Size-Adjust für Zero-CLS-Fonts

Mit size-adjust und ascent-override lässt sich der Fallback-Font so konfigurieren, dass er exakt denselben Platz einnimmt wie der Webfont:

@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 107%;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

Tools für die Analyse

PageSpeed Insights

Googles offizielles Tool kombiniert Lab-Daten (simulierte Tests) mit Field-Daten (echte Nutzermessungen aus dem Chrome User Experience Report). Die Field-Daten sind entscheidend für das Ranking.

Chrome DevTools Performance Panel

Für detaillierte Analysen unersetzlich. Der Performance-Tab zeigt exakt, welche Scripts den Main Thread blockieren, wo Layout Shifts auftreten und welche Ressourcen das Rendering verzögern.

WebPageTest

Ermöglicht Tests von verschiedenen Standorten und Verbindungsgeschwindigkeiten. Die Filmstrip-Ansicht visualisiert den Ladevorgang Frame für Frame.

Lighthouse CI

Für automatisierte Performance-Regression-Tests in der CI/CD-Pipeline. Jeder Deployment-Kandidat wird gegen definierte Schwellenwerte geprüft:

assertions:
  categories:performance:
    - error
    - minScore: 0.95
  largest-contentful-paint:
    - warn
    - maxNumericValue: 2500

Reale Ergebnisse: Vorher und Nachher

Ein typisches Optimierungsprojekt aus meiner Praxis zeigt das Potenzial:

Ausgangslage: Corporate Website mit WordPress, Performance Score 34

  • Unkomprimierte PNG-Bilder (Hero: 3,2 MB)
  • 14 Render-blockierende Scripts (Analytics, Chat, Social Plugins)
  • Keine Cache-Header konfiguriert
  • System-Fonts nicht optimiert, CLS von 0,42

Nach der Optimierung: Performance Score 100

  • Bilder in AVIF/WebP mit Responsive srcset (Hero: 89 KB)
  • Scripts auf 2 reduziert, Rest eliminiert oder durch leichtere Alternativen ersetzt
  • Immutable Caching für Assets, CDN-Auslieferung
  • Font-Preloading mit size-adjust, CLS von 0,001
  • Migration zu Astro mit Static Site Generation

Die konkreten Verbesserungen: LCP von 6,8 Sekunden auf 0,9 Sekunden, TBT von 2.400 ms auf 12 ms, CLS von 0,42 auf 0,001. Die Seitengewicht sank von 4,8 MB auf 380 KB.

Fazit: Systematik statt Zufall

Ein Lighthouse Score von 100 ist erreichbar - aber nicht durch einzelne Tricks. Es erfordert einen systematischen Ansatz:

  1. Fundament: Richtige Rendering-Strategie wählen (SSG wo möglich)
  2. Bilder: Moderne Formate, korrekte Dimensionen, Lazy Loading
  3. JavaScript: Minimal halten, splitten, defer/async nutzen
  4. Fonts: Preloading, Subsetting, size-adjust gegen CLS
  5. Caching: Aggressive Cache-Header, CDN-Einsatz
  6. Monitoring: Lighthouse CI in der Pipeline, regelmäßige Field-Data-Checks

Nur 47 Prozent aller Websites erreichen 2026 Googles “Good”-Schwellenwerte. Wer hier investiert, verschafft sich einen messbaren Vorteil - nicht nur bei der Nutzererfahrung, sondern direkt im Suchranking.

Häufige Fragen

Was ist ein guter Lighthouse Performance Score?+

Ein Score von 90 bis 100 gilt als gut (grüner Bereich), 50 bis 89 als verbesserungsbedürftig und unter 50 als schlecht. Ein perfekter Score von 100 ist erreichbar, erfordert aber systematische Optimierung über alle sechs gewichteten Metriken hinweg - vor allem niedrige Total Blocking Time, schnelles Largest Contentful Paint und minimalen Cumulative Layout Shift. Entscheidend ist zudem, dass die Field-Daten aus echten Nutzermessungen stimmen, da diese und nicht die Lab-Werte in das Google-Ranking einfließen.

Was ist der Unterschied zwischen INP und dem alten FID?+

Interaction to Next Paint (INP) hat 2024 den First Input Delay (FID) als Core Web Vital ersetzt. FID maß nur die Verzögerung vor der Verarbeitung der ersten Interaktion. INP erfasst dagegen die gesamte Reaktionszeit über alle Interaktionen hinweg - vom Klick bis zur sichtbaren Antwort des Browsers. Als gut gilt ein INP unter 200 Millisekunden. Die häufigste Ursache für schlechte Werte ist zu viel synchrones JavaScript, das den Main Thread blockiert.

Welches Bildformat ist 2026 am besten für Web Performance?+

AVIF liefert 2026 die beste Kompressionsrate und ist bei vergleichbarer Qualität rund 50 Prozent kleiner als JPEG. WebP ist 25 bis 35 Prozent kleiner als JPEG und wird von allen modernen Browsern unterstützt, was es zum verlässlichen Allrounder macht. Die empfohlene Strategie ist ein Fallback-System mit dem picture-Element: zuerst AVIF, dann WebP, zuletzt JPEG als Fallback für ältere Browser.

Du willst mehr erfahren?

In einem kostenlosen Erstgespräch besprechen wir, wie du diese Themen für dein Unternehmen nutzen kannst. Kein Verkaufsgespräch, sondern eine ehrliche Einschätzung.

Kostenloses Erstgespräch vereinbaren