Ressourcen beseitigen, die das Rendering blockieren
Wenn PageSpeed Insights oder Lighthouse meldet „Ressourcen beseitigen, die das Rendering blockieren" (die genaue Formulierung kann je nach Lighthouse-Version abweichen), wurden CSS- oder JavaScript-Dateien gefunden, die der Browser laden und verarbeiten muss, bevor er überhaupt etwas auf dem Bildschirm zeichnen kann. Bis diese sogenannten renderblockierenden Ressourcen abgearbeitet sind, sieht der Besucher eine leere Seite. Sie aus dem kritischen Pfad zu entfernen ist einer der wirksamsten Wege, damit sich eine Seite schnell anfühlt. Dieser Leitfaden erklärt, was renderblockierende Ressourcen sind und wie Sie sie beheben, von der Verzögerung von JavaScript bis zum kritischen CSS.
Was renderblockierende Ressourcen sind
Der kritische Rendering-Pfad ist die Abfolge von Schritten, mit der ein Browser aus HTML, CSS und JavaScript Pixel macht. Zwei Dinge blockieren ihn standardmäßig. Jedes <link rel="stylesheet"> ist renderblockierend, weil der Browser das vollständige CSS-Modell aufbauen muss, bevor er zeichnet, sonst würde die Seite kurz ohne Stil aufblitzen. Und ein synchrones <script> im <head> blockiert das Parsen: Der Browser hält den Seitenaufbau an, lädt das Skript und führt es aus, bevor er weitermacht. Lighthouse listet jede blockierende Datei samt der geschätzten Zeit auf, die ein Verzögern sparen würde.
Warum es für Ladezeit und Core Web Vitals zählt
Renderblockierende Ressourcen verzögern den First Contentful Paint und oft den Largest Contentful Paint, also die zwei Zeitpunkte, die ein Besucher als das endliche Erscheinen der Seite erlebt. Es ist einer der häufigsten Gründe, warum eine sonst schnelle Seite trotzdem träge wirkt, und einer der häufigsten LCP-Engpässe. Weil die Core Web Vitals ein Google-Ranking-Signal sind, verbessert ein freier kritischer Pfad zugleich die Nutzererfahrung und die Sichtbarkeit. Der Bezug zu den Ladekennzahlen ist in den Seiten zu Largest Contentful Paint und First Contentful Paint vertieft.
Häufige Ursachen renderblockierender Ressourcen
Einige Muster wiederholen sich über fast alle Seiten. Ein großes, globales Stylesheet, das auf jeder Seite geladen wird, obwohl jede Seite nur einen Bruchteil davon braucht. CSS-Frameworks, die vollständig eingebunden werden. Synchrone Skripte im Kopf, oft von Plugins oder Analyse-Tools, die vor dem ersten Zeichnen ausgeführt werden. Webschriften, die den Textaufbau verzögern. Und die klassische Kombination aus vielen kleinen, einzeln eingebundenen CSS- und JS-Dateien, die den kritischen Pfad in die Länge ziehen. Meist sind es nicht alle Ursachen gleichzeitig, sondern zwei oder drei, die den Großteil der Verzögerung ausmachen.
Ein Beispiel
Eine typische Seite lädt im Kopf ein großes Framework-Stylesheet und drei synchrone Skripte für Slider, Analyse und Cookie-Banner. Der Browser muss alle vier laden und verarbeiten, bevor er das erste Pixel zeichnet, selbst wenn der Besucher nur die Überschrift sehen will. Stellt man das wenige CSS für den sichtbaren Bereich inline, lädt das große Stylesheet asynchron nach und versieht die drei Skripte mit defer, zeichnet der Browser die Seite oft deutlich früher. Nichts davon ändert das Aussehen der fertigen Seite, nur den Zeitpunkt, zu dem sie erscheint.
Renderblockierende Ressourcen beheben
1. Die blockierenden Dateien identifizieren
PageSpeed Insights benennt jede renderblockierende Ressource direkt. In den Chrome DevTools markiert das Performance-Panel blockierende Anfragen, und das Coverage-Werkzeug zeigt, wie viel jeder blockierenden Datei tatsächlich genutzt wird. So erkennen Sie, ob die Lösung Verzögern, Verkleinern oder beides ist.
2. JavaScript verzögern mit defer oder async
Ein Skript im <head> ohne Attribut blockiert das Parsen. Zwei Attribute nehmen es aus dem kritischen Pfad, und der Unterschied ist wichtig:
<!-- lädt parallel, läuft NACH dem Parsen, in Reihenfolge. Bester Standard. -->
<script defer src="/app.js"></script>
<!-- lädt parallel, läuft SOFORT bei Verfügbarkeit, ohne Reihenfolge. -->
<script async src="/analytics.js"></script>
defer für die meisten Skripte verwenden, besonders wenn sie vom DOM oder von der Ladereihenfolge abhängen. async für unabhängige Skripte wie Analyse, bei denen die Reihenfolge egal ist.
Wo möglich, Skripte ans Ende des <body> verschieben oder als Modul mit type="module" laden, das ohnehin automatisch verzögert wird. Entscheidend ist, dass kein Skript im kritischen Pfad steht, das nicht für den ersten Aufbau nötig ist.
3. Kritisches CSS inline auslehen, den Rest verzögern
Statt ein großes Stylesheet vorab zu laden, das wenige CSS für den sichtbaren Bereich inline in den <head> stellen und das vollständige Stylesheet ohne Blockade nachladen:
<link rel="preload" href="/styles.css" as="style"
onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/styles.css"></noscript>
Das mit Bedacht tun. Trifft das verzögerte Stylesheet zu spät ein und ist das kritische CSS unvollständig, sehen Nutzer kurz ungestylten Inhalt, deshalb das kritische CSS genau und klein halten. Werkzeuge wie Critical oder die Critical-CSS-Funktion vieler Build-Setups und Caching-Plugins extrahieren das nötige CSS automatisch, statt es von Hand zu bestimmen.
4. Weniger laden, was blockieren kann
Je weniger CSS und JavaScript im kritischen Pfad liegt, desto weniger kann ihn blockieren. Das Entfernen von nicht verwendetem JavaScript und ungenutztem CSS verkleinert die renderblockierende Nutzlast direkt, die Prüfungen verstärken sich also gegenseitig. Große Bundles aufteilen, damit zuerst nur lädt, was die Seite braucht. Zusätzlich hilft es, das CSS pro Vorlage auszuliefern statt ein globales Stylesheet auf jeder Seite, damit jede Seite nur ihre eigenen Stile im kritischen Pfad hat.
5. Preconnect und Preload für wichtige Ressourcen
Für Ressourcen, die früh laden müssen, etwa eine Webschrift oder das Hero-Stylesheet, den Pfad verkürzen, indem man die Verbindung vorwärmt und den Abruf ankündigt:
<link rel="preconnect" href="https://fonts.example.com">
<link rel="preload" href="/hero.css" as="style">
Webschriften sind ein häufiger versteckter Renderblocker. Mit font-display: swap erscheint der Text sofort in einer Ersatzschrift, und die ein, zwei oberhalb der Falz genutzten Schriftdateien vorladen. Nur die wenigen wirklich kritischen Ressourcen vorladen, denn zu viele Preloads konkurrieren untereinander und heben den Vorteil wieder auf.
6. Drittanbieter-Renderblocker behandeln
Im <head> eingebundene Drittanbieter-Tags blockieren oft ebenfalls das Rendering. Sie verzögern, wo die Lizenz es erlaubt selbst hosten oder Tags entfernen, die ihren Platz nicht mehr rechtfertigen. Sie steuern den Ladezeitpunkt, auch wenn Sie den Code nicht ändern können.
7. Den kritischen Pfad frei halten
Neue Skripte und Stylesheets schleichen sich mit der Zeit zurück in den Kopf. Ein Performance-Budget in der Build-Pipeline, geprüft mit Lighthouse CI, lässt eine Änderung fehlschlagen, die eine renderblockierende Ressource wieder einführt, bevor sie in Produktion geht.
8. In WordPress
Ein Caching-Plugin kann JavaScript verzögern und kritisches CSS ohne Programmierung erzeugen. Diese Optionen aktivieren, dann wichtige Vorlagen testen, weil zu aggressives Verzögern interaktive Elemente stören oder ein kurzes ungestyltes Aufblitzen verursachen kann.
Den Fix prüfen
PageSpeed Insights oder Lighthouse erneut ausführen und bestätigen, dass die Liste der renderblockierenden Ressourcen kürzer und der First Contentful Paint besser geworden ist. Die Seite auf einer gedrosselten Verbindung laden und auf ein Aufblitzen ungestylten Inhalts achten, das signalisiert, dass das kritische CSS angepasst werden muss. Laborwerte ändern sich sofort, die Felddaten im Chrome UX Report folgen über ein nachlaufendes 28-Tage-Fenster. Mehrere Vorlagen testen, da sich die blockierenden Ressourcen zwischen Landingpage und Artikel unterscheiden. Prüfen Sie außerdem, dass durch das Verzögern kein Skript zu spät läuft, das für die Darstellung oberhalb der Falz nötig ist, sonst verschiebt sich das Problem nur.
Häufige Fragen
Was sind renderblockierende Ressourcen?
CSS- und JavaScript-Dateien, die der Browser laden und verarbeiten muss, bevor er die Seite zeichnen kann. Stylesheets blockieren das Zeichnen, damit die Seite nicht ungestylt aufblitzt, synchrone Skripte blockieren das Parsen der HTML, bis sie laufen.
Was ist der Unterschied zwischen async und defer?
Beide laden das Skript parallel, ohne das Parsen zu blockieren. defer führt Skripte nach dem Parsen der HTML und in Reihenfolge aus, was für die meisten Fälle passt. async führt jedes Skript aus, sobald es bereit ist, ohne Reihenfolge, was für unabhängige Skripte wie Analyse passt.
Wie beseitige ich renderblockierendes CSS?
Das kritische CSS für den sichtbaren Bereich inline in den Kopf stellen und den Rest des Stylesheets asynchron per Preload-Swap laden. Weniger ungenutztes CSS macht das kritische Stylesheet kleiner und den Fix einfacher.
Ist Inline-CSS schlecht für die Performance?
Wenig kritisches CSS inline zu stellen ist gut, weil der Browser ohne Netzwerkanfrage zeichnen kann. Das gesamte Stylesheet inline zu stellen ist schlecht, weil es die HTML aufbläht und nicht separat gecacht werden kann. Inline-CSS auf den sichtbaren Bereich begrenzen.
Beeinflusst das Beseitigen renderblockierender Ressourcen die Core Web Vitals und das Ranking?
Ja. Ein freier kritischer Pfad verbessert den First Contentful Paint und oft den Largest Contentful Paint. Da die Core Web Vitals ein Ranking-Signal sind, nützt die Verbesserung Nutzern und Sichtbarkeit zugleich.
Wie beseitige ich renderblockierende Ressourcen in WordPress?
Ein Caching-Plugin wie WP Rocket kann JavaScript verzögern und kritisches CSS ohne Code erzeugen. Diese Optionen aktivieren, dann wichtige Vorlagen testen, weil aggressives Verzögern interaktive Elemente stören oder ein kurzes ungestyltes Aufblitzen verursachen kann.
Sollte ich alle Skripte mit defer laden?
Fast alle, aber nicht solche, die vor dem ersten Rendern laufen müssen, etwa ein Consent-Manager, der Flackern verhindern soll, oder ein A/B-Test-Snippet. Diese bewusst früh halten, den Rest verzögern.
Eigene Werte testen
Ein kostenloser Scan zeigt, wie Ihre Seiten bei diesen Werten abschneiden, mobil und stationär, mit Feld- und Labdaten nebeneinander.
Kostenlosen Test starten