Skip to main content
Isometrische Skizze einer Checkliste zur Behebung von Leistungswarnungen

Google PageSpeed Fehler beheben: Warnungen verstehen und auflösen

8 Min. Lesezeit

Wer die Technik seiner Webpräsenz durch einen Google PageSpeed Insights Website-Test prüft, stößt unweigerlich auf rot markierte Warnhinweise. Wenn Sie Google PageSpeed Fehler beheben möchten, geht es selten darum, blind eine perfekte Punktzahl von 100 zu erreichen. Viel relevanter ist die Frage, welche technischen Bremsen die Darstellung für den Nutzer im Alltag tatsächlich verzögern. Das Prüfwerkzeug teilt die Ergebnisse in zwei Kategorien auf: Labordaten und Felddaten.

Die Labordaten entstehen in einer simulierten Umgebung und eignen sich hervorragend, um strukturelle Probleme während der Entwicklung aufzuspüren. Sie bilden jedoch nicht immer reale Engpässe ab. Die Felddaten hingegen stammen aus dem Chrome User Experience Report. Sie zeigen die echten Leistungswerte der letzten 28 Tage, basierend auf tatsächlichen Aufrufen durch Nutzer. Um die Performance zielgerichtet zu optimieren, müssen die technischen Warnungen korrekt interpretiert und systematisch abgearbeitet werden.

So deuten Sie PageSpeed Insights Fehlermeldungen richtig

Ein tiefgreifendes Verständnis der gemessenen Metriken verhindert, dass Sie an den falschen Stellen ansetzen. Wenn Sie die verschiedenen PageSpeed Insights Fehlermeldungen auswerten, stoßen Sie häufig auf Begriffe wie den Largest Contentful Paint oder die Cumulative Layout Shift. Das System bewertet diese Messwerte anhand fester Schwellenwerte.

Ein LCP-Wert unter 2.500 Millisekunden gilt als gut, während Werte über 4.000 Millisekunden als schlecht eingestuft werden. Das Tool zieht zur Bewertung das 75. Perzentil heran. Das bedeutet: Wenn die Erfahrung für die Mehrheit der Besucher reibungslos funktioniert, ist der Test bestanden. Dieser Ansatz stellt sicher, dass die Seiten auch unter schwierigen Netzwerkbedingungen noch angemessen schnell nutzbar bleiben.

Oft wundern sich Betreiber, warum die Punktzahl bei aufeinanderfolgenden Tests schwankt, obwohl keine Änderungen am Code vorgenommen wurden. Diese Variabilität ist völlig normal und liegt an unterschiedlichen Bedingungen wie der lokalen Netzwerkauslastung oder den Ressourcen des simulierten Clients. Eine weitere Auffälligkeit: Manchmal fehlen die Felddaten komplett. Das passiert, wenn eine Domain nicht genügend Traffic generiert, um ausreichende und repräsentative Stichproben im 28-Tage-Fenster zu sammeln.

Skizze von Datenpaketen, die beim Laden einer Website blockiert werden

Die größte Hürde: Renderblockierende Ressourcen beseitigen

Eine der am häufigsten auftretenden Warnungen im Webdesign dreht sich um Dateien, die den strukturellen Aufbau der Website aufhalten. Wenn Sie renderblockierende Ressourcen beseitigen, greifen Sie direkt in die Reihenfolge ein, in der der Browser den Code verarbeitet. Ein Browser stoppt den optischen Seitenaufbau sofort, wenn er im Kopfbereich (<head>) des Dokuments auf bestimmte Dateitypen stößt.

Konkret handelt es sich dabei fast immer um JavaScript-Dateien und Stylesheets. Jedes <script>-Tag, das weder über ein async- noch ein defer-Attribut verfügt, zwingt den Browser zu einer Zwangspause. Genauso verhält es sich mit CSS-Dateien, die ohne ein spezifisches media-Attribut eingebunden sind. Bevor die Darstellung weitergeht, müssen diese Dateien vollständig heruntergeladen und verarbeitet werden.

Die verursachenden Dateien aufspüren

Um zielgerichtet eingreifen zu können, müssen Sie zunächst wissen, welche Skripte kritisch sind und welche nicht. Die Chrome-Entwicklertools bieten dafür den Tab "Abdeckung" (Coverage). Wenn Sie die Seite dort neu laden, listet das System exakt auf, welche Code-Zeilen beim initialen Seitenaufbau genutzt wurden und welche ungenutzt blieben. Alternativ zeigt die Wasserfall-Ansicht im Netzwerk-Tab der Entwicklertools anschaulich, welche Dateien vor dem Beginn der visuellen Darstellung geladen werden.

Strategien für den Umgang mit Skripten und Stilen

Sobald die problematischen Dateien identifiziert sind, erfolgt die technische Umsetzung. Das bloße Löschen von Funktionen ist meist keine Option, daher muss die Ladereihenfolge intelligent gesteuert werden.

Skripte verzögert ausführen

Für JavaScript haben sich zwei Attribute etabliert, um den Ladevorgang auszulagern: async und defer.

  • Das Attribut async lädt die Datei im Hintergrund und führt sie sofort aus, sobald sie verfügbar ist. Dies eignet sich vor allem für völlig unabhängige Skripte, wie beispielsweise Tracking-Codes.
  • Das Attribut defer hingegen verschiebt die Ausführung des Codes, bis das HTML-Dokument vollständig analysiert wurde.

Für die meisten Anwendungsfälle ist defer die sicherere und bessere Wahl. Es garantiert, dass die ursprüngliche Reihenfolge der eingebundenen Skripte erhalten bleibt, was essenziell ist, wenn Skripte voneinander abhängen.

Skizze zur Organisation und Priorisierung von Code-Ressourcen

CSS-Darstellung effizient gestalten

Das Zurückstellen von Stylesheets ist deutlich komplexer als bei JavaScript. Wenn Sie das Laden der Stile einfach aufschieben, wird die Seite zunächst völlig unformatiert dargestellt, was beim finalen Anwenden der Stile zu einem starken visuellen Flackern führt.

Die saubere Lösung besteht aus zwei Schritten: Zuerst extrahieren Sie das kritische CSS – also genau die Stilangaben, die für den sofort sichtbaren Bereich der Seite (Above the fold) nötig sind. Diese Anweisungen fügen Sie direkt in einem <style>-Block im HTML-Kopf ein. Der restliche, nicht sofort benötigte CSS-Code wird dann mit einer niedrigeren Priorität über das Attribut fetchpriority="low" geladen. So weiß der Browser, dass er diese Daten erst abrufen soll, wenn keine kritischen Ressourcen mehr im Weg stehen.

Unerwartete Fehler bei der Testausführung

Gelegentlich meldet das Test-Tool selbst einen Systemfehler und gibt überhaupt keine Resultate zurück. Solche Abstürze lassen sich oftmals nach Updates des Content-Management-Systems beobachten. Häufig liegt die Ursache in veränderten Konfigurationen der HTTP-Header. In diesen Fällen blockieren serverseitige Sicherheitseinstellungen den Testaufruf. Die Lösung erfordert dann eine Anpassung der Header-Parameter in der Serverkonfiguration, woraufhin die Diagnose wieder regulär durchläuft.

Messwerte in die tägliche Wartung integrieren

Technische Metriken sind kein starres Konstrukt, sondern verändern sich mit jedem neuen Plugin, jedem Bild und jedem inhaltlichen Update. Anstatt eine fehlerfreie Diagnose zu erzwingen, liegt der Fokus darauf, schwere technische Blockaden abzubauen. Wer die Ladeabfolge des Codes ordnet, kritische Stile priorisiert und Skripte konsequent in den Hintergrund verschiebt, erreicht einen stabilen Seitenaufbau, der sich auch bei schlechten Netzwerkverbindungen bewährt.

Häufig gestellte Fragen zu den Prüfergebnissen

Warum ändert sich die Gesamtpunktzahl bei jeder Messung leicht? Unterschiede bei einzelnen Testdurchläufen sind normal und entstehen durch externe Faktoren. Schwankungen in der lokalen Netzwerkauslastung oder kurzzeitige Engpässe bei der Hardware des simulierten Clients beeinflussen das Ergebnis unmittelbar.

Was genau sind Felddaten in der Auswertung? Felddaten repräsentieren historische, anonymisierte Messwerte von echten Nutzern auf verschiedenen Geräten. Sie umfassen einen Zeitraum der letzten 28 Tage und zeigen, wie schnell die Seiten in der Praxis tatsächlich laden.

Weshalb zeigt der Report für meine URL keine Felddaten an? Damit historische Nutzungsdaten angezeigt werden können, muss die Seite eine gewisse Menge an realem Traffic durch angemeldete Chrome-Nutzer generieren. Liegen nicht ausreichend repräsentative Stichproben vor, bleiben die Felder leer.

Wie finde ich ungenutzten Code, der das Laden blockiert? Die Entwicklertools von Chrome bieten unter dem Tab "Abdeckung" (Coverage) eine direkte Ansicht. Dort sehen Sie farblich markiert, welcher Code beim initialen Rendern wirklich ausgeführt wird und welche Dateien ungenutzt im Hintergrund blockieren.

Sollte ich JavaScript besser mit async oder defer laden? In den meisten Fällen ist defer die bessere Wahl. Es stellt sicher, dass das Skript erst nach dem vollständigen Einlesen des HTMLs ausgeführt wird und behält die ursprüngliche Reihenfolge der Skripte bei, was Fehler durch fehlende Abhängigkeiten vermeidet.

Warum kann ich CSS-Dateien nicht einfach ans Ende der Seite schieben? Wenn CSS-Dateien verzögert geladen werden, rendert der Browser die Inhalte zunächst ohne jegliches Design. Sobald die Stile eintreffen, springt das Layout stark, was zu schlechten Messwerten bei den Layoutverschiebungen führt.