Zum Inhalt springen
Core Web Vitals & Messung

Wasserfalldiagramm lesen: was jede Zeile über Tempo verrät

Wasserfalldiagramm lesen: wie es geordnet ist, was die Phasen eines Balkens zeigen und welche sechs Muster über mehrere Zeilen typische Bremsen verraten.

20 Min. Lesezeit Performance-AnalyseWasserfallLCPTTFB

Kurz und einfach erklärt

Ein Wasserfall zeigt alle Dateien, die eine Seite lädt. Jede Datei ist eine Zeile. Der Balken zeigt, wann sie startet und wie lange sie braucht.

Man liest den Wasserfall als Bild. Wichtig sind Muster über viele Zeilen. Eine Treppe heißt: Eine Datei wartet auf die andere.

Das größte Bild oben auf der Seite soll früh starten. Startet es spät, gibt es eine Lücke. Dann sehen die Gäste die Seite später.

Manche Zeilen warten lange auf den Server. Andere kommen von fremden Firmen. Beides kann die Seite bremsen.

Wir messen die Seite und suchen die Muster. Dann ändern wir die Ursache und messen noch einmal.

Viele Beiträge über Ladezeit enden mit demselben Rat: im Netzwerk-Wasserfall nachsehen. Wer das Werkzeug dann öffnet, sieht Dutzende farbiger Balken und weiß nicht, wo er anfangen soll. Die mittlere Seite stellt auf Mobilgeräten 72 Anfragen (Web Almanac 2025), und jede davon ist eine Zeile. Einzeln gelesen sagt kaum eine dieser Zeilen etwas. Aufschlussreich wird der Wasserfall erst, wenn man ihn als Bild liest: Wo bilden die Balken eine Treppe, wo klafft vor dem wichtigsten Bild eine Lücke, wo wartet eine Zeile auffällig lange, wo sammelt sich ein Block fremder Adressen? Dieser Beitrag erklärt, wie das Diagramm geordnet ist und was die Abschnitte eines Balkens bedeuten. Danach beschreibt er sechs Muster über mehrere Zeilen, an denen sich typische Bremsen erkennen lassen, jeweils mit dem ersten Hebel und dem Fachbeitrag, der ihn vertieft. Als Werkzeug genügen die Entwicklerwerkzeuge des Browsers; die Beschreibung folgt der Netzwerk-Referenz von Chrome for Developers.

Das Wichtigste in Kürze

  • Der Wasserfall ordnet Anfragen nach ihrer Startzeit: Was weiter links beginnt, startete früher (Chrome for Developers). Gelesen wird darum das Muster mehrerer Zeilen, die Phasen eines Balkens dienen nur als Legende.
  • Beginnt jede Anfrage erst am Ende der vorigen, bildet der Wasserfall eine Treppe aus Abhängigkeiten. Jede Stufe kostet mindestens eine Netzrunde; der Hebel ist eine flachere Kette, nicht eine kleinere Datei.
  • Startet das LCP-Bild deutlich nach der ersten Ressource, liegt eine Lücke vor. Die Ladeverzögerung sollte unter 10 Prozent des LCP bleiben (web.dev); rund 16 Prozent der Seiten laden ihr LCP-Bild per Lazy Loading (Web Almanac 2025).
  • Zeigt die Spalte Initiator ein Skript oder Stylesheet, wurde die Datei spät entdeckt; ein langer Abschnitt Queueing verrät eine zu niedrige Priorität. Hilfreich sind src im HTML und fetchpriority="high" für genau ein Bild.
  • Ein langer Abschnitt Waiting (TTFB) enthält Serverzeit plus eine Netzrunde (Chrome for Developers). Für das Dokument gilt eine TTFB bis 0,8 Sekunden als gut (web.dev); Server-Timing zeigt, wo die Zeit im Backend bleibt.
  • Zeilen fremder Herkunft beginnen mit eigenem Verbindungsaufbau und hängen oft in Ketten aneinander. Vor Aktionen wie der Black Week lohnt ein Vergleich von Aktionsseite und Startseite unter gleichen Messbedingungen.

Wie der Wasserfall geordnet ist

Das Netzwerk-Panel der Entwicklerwerkzeuge zeigt jede Anfrage einer Seite als Zeile einer Tabelle: Name, Status, Typ, Initiator, Größe, Dauer und ganz rechts den Wasserfall. Diese Spalte ist die einzige, die Zeit als Fläche darstellt. Die Netzwerk-Referenz von Chrome for Developers beschreibt ihren Zweck in drei kurzen Sätzen:

Use the Waterfall to view the timing of requests in relation to one another. By default, the Waterfall is organized by the start time of the requests. So, requests that are farther to the left started earlier than those that are farther to the right.

Chrome for Developers, Network features reference

Daraus folgen drei Lesehilfen. Erstens ist die senkrechte Reihenfolge eine zeitliche: Eine Zeile weiter unten wurde später angestoßen, sie muss aber nicht später fertig sein. Zweitens bedeutet der waagrechte Abstand zwischen zwei Balkenanfängen, dass der Browser die zweite Anfrage erst später kannte oder erst später losschicken durfte. Drittens lässt sich die Sortierung umstellen: Ein Rechtsklick auf den Tabellenkopf bietet neben der Startzeit auch Antwortzeit, Endzeit, Gesamtdauer und Latenz an (Chrome for Developers). Für die Musterlesung in diesem Beitrag bleibt die Voreinstellung die richtige, denn fast alle Muster sind Muster der Startzeit.

Zwei senkrechte Linien zeichnet das Panel selbst: Blau steht für das Ereignis DOMContentLoaded, Rot für das Ereignis load. Für die Frage nach dem Tempo wichtiger ist eine dritte Linie, die dort fehlt: der Zeitpunkt des Largest Contentful Paint. Ihn liefert die Leistungsaufzeichnung im Performance-Bereich desselben Werkzeugs. Wer ihn sich im Wasserfall dazudenkt oder auf einem Bildschirmfoto einzeichnet, teilt die Anfragen in zwei Gruppen. Was links der LCP-Linie liegt, kann den LCP verzögert haben. Was rechts davon liegt, betrifft ihn nicht mehr, wohl aber Interaktion, Hauptthread und Datenvolumen.

Dass es auf das Bild ankommt und nicht auf die einzelne Zeile, zeigt schon die Menge. Am Desktop stellt die mittlere Seite sogar 77 Anfragen (Web Almanac 2025). Zeile für Zeile prüft das kaum jemand. Wer aber weiß, wie eine Treppe, eine Lücke oder ein Wartebalken aussieht, findet die zwei oder drei Zeilen, auf die es ankommt, in wenigen Minuten, und kann sie im Team so benennen, dass jeder dieselbe Stelle meint.

Abgrenzung

Wie sich die Zeit einer einzelnen Anfrage auf DNS, Verbindung, TLS und Serverantwort verteilt, behandelt der Beitrag TTFB: Warum die Server-Antwortzeit alles bestimmt. Wie sich der LCP in seine vier Phasen zerlegen lässt, zeigt Den LCP in vier Phasen zerlegen. Hier geht es um das, was erst über mehrere Zeilen sichtbar wird.

Die Phasen eines Balkens als Legende

Jeder Balken ist in Abschnitte geteilt. Fährt man mit der Maus über einen Balken, zeigt das Panel eine Vorschau der Aufschlüsselung; dauerhaft steht sie im Reiter Timing der einzelnen Anfrage. Für die Musterlesung genügt es, die Abschnitte wiederzuerkennen. Die Tabelle fasst sie nach der Netzwerk-Referenz zusammen (Chrome for Developers); die englischen Bezeichnungen sind die, die das Panel anzeigt.

Abschnitt im PanelWas geschiehtEin langer Abschnitt deutet meist auf
QueueingDer Browser hält die Anfrage vor dem Verbindungsbeginn zurückwichtigere Anfragen zuerst, Verbindungsgrenze unter HTTP/1.1
StalledDie Anfrage steht nach dem Verbindungsbeginn stilldieselben Gründe wie bei Queueing
DNS LookupDer Name wird zur IP-Adresse aufgelöstneue, bisher unbekannte Herkunft
Initial connectionVerbindungsaufbau samt TCP-Handshake und TLS-Aushandlungneue Herkunft ohne vorbereitete Verbindung
Request sentDie Anfrage wird gesendetselten auffällig
Waiting (TTFB)Warten auf das erste Byte der Antwortlangsamer Server, langsamer Endpunkt, ferne Herkunft
Content DownloadDer Rumpf der Antwort kommt angroße Datei, langsames Netz, beschäftigter Browser

Zwei Angaben aus der Referenz sind für das Lesen besonders nützlich. Der Abschnitt Waiting (TTFB) enthält neben der Bearbeitungszeit des Servers eine Netzrunde Latenz (Chrome for Developers). Bei einem fernen Server wird er darum auch dann lang, wenn der Server selbst schnell antwortet. Und Queueing hat neben der Priorität einen zweiten Grund: Sind für eine Herkunft bereits sechs TCP-Verbindungen offen, ist die Grenze erreicht (Chrome for Developers). Das gilt nur für HTTP/1.0 und HTTP/1.1; welches Protokoll eine Anfrage nutzt, zeigt die Spalte Protocol mit Werten wie h2 oder h3.

Ab hier dienen die Abschnitte nur noch als Legende. Die Musterlesung fragt nicht, wie lange die Namensauflösung bei einer bestimmten Anfrage gedauert hat, sondern welche Zeilen sich gegenseitig aufhalten und an welcher Stelle der Browser auf etwas wartet, das er früher hätte haben können.

Vorbereitung: eine Aufnahme, die sich lesen lässt

Ein Wasserfall ist nur so aussagekräftig wie die Aufnahme, aus der er stammt. Dateien aus dem Browser-Cache, Anfragen von Erweiterungen und ein schnelles Büronetz verdecken genau die Muster, um die es geht. Fünf Einstellungen machen eine Aufnahme lesbar und mit einer späteren vergleichbar:

  1. Cache abschalten: Das Kontrollkästchen „Disable cache“ bildet den ersten Besuch nach. Ohne den Haken kommen Dateien aus dem Speicher, und Treppen verschwinden scheinbar, obwohl sie für neue Besucher weiter bestehen.
  2. Netz drosseln: Die Voreinstellungen für schnelles 4G, langsames 4G und 3G machen Wartezeiten sichtbar, die im Büro untergehen. Sind Felddaten im Performance-Bereich eingeschaltet, empfiehlt das Werkzeug eine Drosselung, die zu den Daten echter Besuche passt (Chrome for Developers).
  3. Fremdeinflüsse ausblenden: Ein eigenes Browserprofil ohne Erweiterungen verwenden. Anfragen von Erweiterungen beginnen mit chrome-extension:// und lassen sich zusätzlich herausfiltern.
  4. Spalten ergänzen: Per Rechtsklick auf den Tabellenkopf die Spalten Priority, Protocol und Domain einblenden. Mit der Einstellung für große Zeilen zeigt die Spalte Priority die anfängliche und die endgültige Priorität.
  5. Von Anfang an aufzeichnen: Das Panel protokolliert nur, was nach seinem Öffnen geschieht. Also erst das Werkzeug öffnen, dann neu laden, und für Weiterleitungen über mehrere Seiten „Preserve log“ setzen.

Hilfreich ist außerdem die Einstellung „Capture screenshots“. Sie legt während des Ladens Bildschirmfotos an, und ein Klick auf ein Vorschaubild blendet alle Anfragen aus, die erst danach begonnen haben (Chrome for Developers). So lässt sich ohne Rechnen ablesen, welche Anfragen vor dem ersten sichtbaren Inhalt liefen und welche erst danach. Für die Abstimmung im Team lässt sich die Aufnahme als HAR-Datei weitergeben, und zwar in der bereinigten Fassung ohne Cookies und Anmeldedaten.

Gemessen wird die Vorlage, um die es geht: Produktseite, Kategorie, Warenkorb, Aktionsseite. Die Startseite ist oft nicht die langsamste Seite eines Shops, und ihr Wasserfall unterscheidet sich von dem einer Produktseite oft deutlich, weil dort andere Bilder, Skripte und Endpunkte im Spiel sind. Jede Vorlage braucht darum ihre eigene Aufnahme.

Muster 1: die Treppe aus Abhängigkeiten

Die Treppe ist ein Muster, das viele kennen. Jede Zeile beginnt erst dort, wo die vorige endet, und die Balken steigen schräg nach rechts unten ab. Typische Stufen sind das HTML, darin ein Stylesheet, darin ein @import auf ein zweites Stylesheet und darin eine Schrift. Oder ein Ladeskript, das ein Bündel nachlädt, das Daten abruft, die erst ein Bild benennen. Jede Stufe kostet mindestens eine Netzrunde plus die Antwortzeit des Servers, auch wenn jede einzelne Datei klein ist. Bei gedrosseltem Netz kann aus vier kleinen Stufen eine Wartezeit entstehen, die größer ist als der Download aller vier Dateien zusammen.

Die Lighthouse-Dokumentation nennt solche Ketten kritische Anfrageketten: Reihen voneinander abhängiger Anfragen, die für die Darstellung wichtig sind. Je länger die Kette und je größer die Dateien, desto stärker ist der Einfluss auf das Laden (Chrome for Developers). Seit Lighthouse 13 steckt diese Prüfung in der Auswertung „Network dependency tree“ (Chrome for Developers). Im Panel selbst lässt sich eine Kette auch ohne Bericht nachweisen: Hält man die Umschalttaste gedrückt und fährt über eine Zeile, färbt das Werkzeug ihren Auslöser grün und ihre Folgeanfragen rot (Chrome for Developers).

Der Hebel ist, die Kette flacher zu machen, nicht jede Datei kleiner. Was der Browser schon im HTML findet, kann er parallel anfordern. Ein Preload für die Schrift, ein link-Element statt @import, kritisches CSS direkt im Kopf der Seite oder serverseitig gerendertes HTML statt Inhalten, die erst ein Skript erzeugt: Jede dieser Maßnahmen entfernt eine Stufe. Wie das für Stile aussieht, beschreibt der Beitrag zu Critical CSS.

Treppe ohne Abhängigkeit

Eine zweite Form der Treppe entsteht ohne inhaltliche Abhängigkeit. Mehrere Abrufe derselben Seite starten gleichzeitig, aber ihre Warteabschnitte enden versetzt, einer nach dem anderen. Das deutet auf eine Sperre auf dem Server hin, etwa eine PHP-Session, die parallele Anfragen derselben Sitzung nacheinander abarbeitet. Wie man sie erkennt und löst, zeigt der Beitrag Die Session-Sperre.

Muster 2: die Lücke vor dem LCP-Bild

Bei 76 Prozent der mobilen Seiten ist das LCP-Element ein Bild (Web Almanac 2025). Im Wasserfall lässt sich darum in den meisten Fällen eine Zeile benennen, auf die es ankommt: die Datei des LCP-Bildes. Die Faustregel von web.dev ist einfach. Das LCP-Bild sollte zur selben Zeit starten wie die erste Ressource, die die Seite lädt (web.dev). Beginnt es deutlich später, klafft zwischen dem Start der ersten Unteranfrage und dem Start des Bildes eine Lücke, in der die Leitung für das Wichtigste ungenutzt bleibt.

Diese Lücke ist die Ladeverzögerung, die zweite der vier LCP-Phasen. Für eine gut optimierte Seite nennt web.dev als Richtwert: Die Serverantwort und das Laden der Ressource machen je rund 40 Prozent des LCP aus, die Ladeverzögerung und die Renderverzögerung jeweils unter 10 Prozent (web.dev). Die Werte sind nach web.dev ausdrücklich Richtwerte, keine festen Regeln. Im Wasserfall genügt darum ein Vergleich: Ist die Lücke breiter als der Downloadbalken des Bildes, liegt hier der größte Hebel.

Eine häufige Ursache ist schnell gefunden. Rund 16 Prozent der Seiten laden ihr LCP-Bild per Lazy Loading und verzögern damit den Hauptinhalt (Web Almanac 2025). Im Wasserfall startet das Bild dann erst nach dem Layout, oft hinter mehreren Skripten. Weitere Kandidaten sind ein Kopfbereich als Karussell, dessen erstes Bild erst ein Skript einsetzt, und ein Einwilligungsbanner, das selbst zum größten Element wird und das eigentliche Bild verdrängt.

Eine zweite, meist schmalere Lücke kann nach dem Bild liegen: zwischen dem Ende seines Downloads und der LCP-Linie. Das ist die Renderverzögerung. Sie entsteht, wenn das Bild zwar geladen ist, aber noch nicht gezeigt werden kann, etwa weil ein Stylesheet die Darstellung blockiert oder weil ein Skript das Element erst einblendet. Wie man LCP-Bild und Wasserfall einer Produktseite Punkt für Punkt prüft, steht als Liste im Abschnitt LCP-Element und Wasserfall der Produktseite.

Muster 3: späte Entdeckung durch Skript oder Stylesheet

Nicht jede Lücke hat dieselbe Ursache. Die Spalte Initiator zeigt, wer eine Anfrage ausgelöst hat: der HTML-Parser, eine Weiterleitung, ein Skript, eine Antwort mit Early Hints oder ein sonstiger Vorgang (Chrome for Developers). Steht beim LCP-Bild oder bei einer Schrift ein Skript oder ein Stylesheet als Auslöser, hat der Browser die Datei erst gefunden, nachdem er jene Datei geladen und ausgewertet hatte. Im Wasserfall sieht das aus wie eine Lücke mit Treppe: Das Bild startet genau dort, wo das auslösende Skript endet.

Der Grund ist der Preload-Scanner. Er liest das rohe HTML voraus, während der eigentliche Parser noch an einem Stylesheet hängt, und fordert gefundene Dateien vorab an. Was nicht als Adresse im HTML steht, sieht er nicht: ein Hintergrundbild aus dem CSS, ein Bild, dessen Adresse ein Lazy-Loading-Skript in data-src versteckt, oder ein Bild, das erst ein Skript in die Seite einfügt. web.dev nennt genau diese Fälle als Beispiele, in denen die LCP-Ressource nicht im HTML zu entdecken ist (web.dev).

Im Beispiel der Dokumentation entdeckte der Browser ein Hintergrundbild mit einem rel=preload rund 250 Millisekunden früher als ohne den Hinweis (web.dev); gemessen wurde an einer einfachen Seite mit simulierter mobiler Verbindung. Trotzdem setzen nur 2,1 bis 2,2 Prozent der Seiten einen Preload für ihr LCP-Bild ein (Web Almanac 2025). Ein Preload ist allerdings nur nötig, wenn die Datei nicht ohnehin im HTML steht; besser ist meist ein img-Element mit src oder srcset im ausgelieferten Markup. Welche Hinweise wann helfen und wann sie Bandbreite verschwenden, beschreibt der Beitrag zu Resource Hints.

Muster 4: die Warteschlange durch Priorität

Manchmal ist eine Datei früh bekannt und startet trotzdem spät. Im Balken erscheint dann am Anfang ein langer Abschnitt Queueing oder Stalled, obwohl die Leitung frei scheint. Der Browser hält die Anfrage zurück, weil er andere für wichtiger hält. Die Priorität richtet sich nach der Art der Ressource und ihrer Stellung im Dokument (Chrome for Developers). Die Spalte Priority zeigt, wie er entschieden hat, und mit großen Zeilen auch, ob sich die Einstufung während des Ladens geändert hat. Über den Filter priority: lassen sich alle Anfragen einer Stufe gemeinsam anzeigen.

Bilder sind der typische Fall. Sie starten in Chrome mit niedriger Priorität und werden erst beim Layout hochgestuft, wenn sie im sichtbaren Bereich liegen. Seit Chrome 117 erhalten die ersten fünf großen Bilder mittlere Priorität, und zwei davon können in der ersten, engen Ladephase parallel laden (web.dev). Das hilft, ersetzt aber keine Angabe im Markup: Mit fetchpriority="high" startet das LCP-Bild sofort mit hoher Priorität. Auf 17 Prozent der mobilen Seiten mit LCP-Bild steht diese Angabe inzwischen (Web Almanac 2025). Wie man sie setzt und warum sie nur bei einem Element hilft, steht im Beitrag zu fetchpriority.

Das Protokoll spielt mit. Unter HTTP/1.1 greift zusätzlich die Grenze von sechs Verbindungen je Herkunft; die Warteschlangen stehen dann im Wasserfall wie Blöcke übereinander, weil jede weitere Anfrage auf eine freie Verbindung wartet. Unter HTTP/2 laufen die Anfragen einer Herkunft über eine gemeinsame Verbindung, und der Standard empfiehlt, mindestens 100 gleichzeitige Streams zuzulassen (RFC 9113). Dort entscheidet nicht die Zahl der Verbindungen, sondern die Reihenfolge, in der der Server antwortet.

Für diese Reihenfolge gibt es ein eigenes Signal. RFC 9218 beschreibt eine Dringlichkeit auf einer Skala von 0 bis 7, bei der kleinere Werte Vorrang haben (RFC 9218); fehlt die Angabe, gilt der Wert 3 (RFC 9218). Ob Server oder CDN die Signale des Browsers beachten, zeigt der Wasserfall: Kommt das LCP-Bild trotz hoher Priorität erst nach großen Skripten an, liegt die Ursache nicht im Markup, sondern in der Auslieferung. Auch alte Kunstgriffe wie das Verteilen von Dateien auf viele Subdomains schaden unter HTTP/2 eher: Jede Subdomain braucht einen eigenen Verbindungsaufbau, und über getrennte Verbindungen hinweg kann der Browser die Prioritäten nicht mehr gemeinsam steuern.

Muster 5: langes Warten auf einen Endpunkt

Ein Balken, dessen größter Teil der Warteabschnitt ist, erzählt eine andere Geschichte. Hier hat der Browser seine Anfrage längst geschickt und wartet auf das erste Byte. Die Netzwerk-Referenz beschreibt den Unterschied auch optisch: Der hellere Teil eines Balkens ist Wartezeit, der dunklere die Zeit, in der Bytes ankommen (Chrome for Developers). Ein Balken, der fast nur aus dem hellen Teil besteht, ist ein Serverproblem, kein Problem der Dateigröße.

Entscheidend ist, welche Zeile wartet. Wartet das HTML-Dokument selbst, verschiebt sich alles Folgende nach rechts, denn vor dem ersten Byte kennt der Browser keine einzige Unteranfrage. web.dev nennt als groben Richtwert eine TTFB von 0,8 Sekunden oder weniger als gut und mehr als 1,8 Sekunden als schlecht (web.dev). Wartet dagegen ein einzelner Abruf weiter unten, etwa ein Endpunkt für Preise, Lagerbestand oder Warenkorb, hängt die Bewertung davon ab, ob er links der LCP-Linie liegt und ob der sichtbare Inhalt auf seine Antwort angewiesen ist. Über den Typfilter Fetch/XHR lassen sich solche Abrufe gesammelt betrachten.

Ein langer Warteabschnitt beim Dokument hat drei häufige Ursachen: Weiterleitungen vor der eigentlichen Seite, ein ungecachter Seitenaufbau auf dem Server und langsame Fremdsysteme, die während der Antwort abgefragt werden. Weiterleitungen erscheinen als eigene Zeilen über dem Dokument. Was innerhalb der Serverzeit geschieht, zeigt der Wasserfall dagegen nicht, es sei denn, der Server sendet einen Server-Timing-Kopf; dessen Einträge erscheinen im Reiter Timing der Anfrage. Wie man ihn einrichtet, beschreibt der Beitrag Server-Timing. Die Gegenmittel auf Serverseite, vom Seiten-Cache bis zur Datenbank, bündelt unsere TTFB-Optimierung.

Muster 6: der Block fremder Herkunft

Das sechste Muster erkennt man an der Spalte Domain: eine Gruppe von Zeilen anderer Herkunft, die jeweils mit eigener Namensauflösung und eigenem Verbindungsaufbau beginnen. Bei mindestens 90 Prozent der Seiten ist wenigstens ein Drittanbieter beteiligt (Web Almanac 2025). Oft hängen diese Zeilen aneinander, weil ein Tag-Manager ein Skript lädt, das ein weiteres lädt. Die mittlere Tiefe solcher Einbindungsketten liegt bei 3 (Web Almanac 2025). Das ist die Treppe aus dem ersten Muster, nur auf fremden Servern, auf deren Antwortzeit Sie keinen Einfluss haben.

Für das Tempo zählen zwei Fragen. Erstens: Liegt der Block links der LCP-Linie und konkurriert er mit dem LCP-Bild um Bandbreite und Hauptthread? Zweitens: Kommt das LCP-Bild selbst von einer fremden Herkunft? Bei 16 bis 18 Prozent der Seiten liegt das LCP-Bild auf einem anderen Host als das Dokument (Web Almanac 2025). Dann steht vor seinem Download ein eigener Verbindungsaufbau, den ein preconnect vorziehen oder die Auslieferung über die eigene Domain ganz vermeiden kann.

Ob ein fremdes Skript wirklich bremst, lässt sich ohne Ausbau prüfen. Der Filter domain: zeigt nur die Zeilen einer Herkunft, mit dem Kästchen Invert blendet man sie aus (Chrome for Developers). Im Bereich Request Conditions lassen sich einzelne Adressen probeweise sperren, und der Vergleich zweier Aufnahmen zeigt, was die Seite ohne sie gewinnt. Wie man danach entscheidet, was bleibt, was verzögert lädt und was durch eine Fassade ersetzt wird, beschreibt der Beitrag Third-Party-Skripte entschlacken.

Vom Muster zur Maßnahme

Die sechs Muster lassen sich in einer festen Reihenfolge abfragen. Sie beginnt bei der LCP-Linie, weil sie die Anfragen in kritische und unkritische teilt, und endet beim Block fremder Herkunft, weil dessen Hebel meist eine Entscheidung im Team ist und keine Änderung im Code. Die Tabelle fasst Erkennungszeichen, Ursache und ersten Hebel zusammen.

MusterErkennungszeichenHäufige UrsacheErster Hebel
Treppejede Zeile startet am Ende der vorigen@import, Ladeskripte, im Browser erzeugtes MarkupKette flacher machen, Dateien im HTML ankündigen
Lücke vor dem LCP-BildBildstart deutlich nach der ersten RessourceLazy Loading, Karussell, Bild aus einem Skriptimg mit src, ohne loading="lazy"
Späte EntdeckungInitiator ist ein Skript oder StylesheetHintergrundbild, data-src, Rendern im Browserins HTML holen oder Preload mit hoher Priorität
Warteschlangelanger Abschnitt Queueing oder Stalledniedrige Priorität, Grenze unter HTTP/1.1fetchpriority, HTTP/2 oder HTTP/3
Langes Wartender helle Warteabschnitt überwiegtWeiterleitung, Serverzeit, FremdsystemCache, Server-Timing, Weiterleitungen streichen
Fremde Herkunfteigene DNS- und Verbindungsabschnitte, Spalte DomainTag-Manager, Pixel, Widgetsstreichen, verzögern, preconnect für Pflichtdienste
  1. Das LCP-Element im Performance-Bereich bestimmen und seine Datei im Wasserfall suchen.
  2. Die Zeile des Dokuments prüfen: Wie lang ist der Warteabschnitt, stehen Weiterleitungen davor?
  3. Den Start des LCP-Bildes mit dem Start der ersten Ressource vergleichen: Gibt es eine Lücke?
  4. Initiator und Priority des LCP-Bildes ablesen: spät entdeckt oder zu niedrig eingestuft?
  5. Links der LCP-Linie nach Treppen suchen und die Kette mit gedrückter Umschalttaste nachverfolgen.
  6. Mit dem Filter nach Domain den Anteil fremder Zeilen links der LCP-Linie bestimmen.

Nach jeder Änderung folgt eine zweite Aufnahme mit denselben Einstellungen. Ein Wasserfall belegt eine Verbesserung weniger in Millisekunden als im Bild: Die Treppe hat eine Stufe weniger, die Lücke ist geschlossen, das LCP-Bild steht weiter oben. Ob sich das bei echten Besuchern zeigt, beantworten Felddaten. Wer diese Auswertung für eine ganze Familie von Vorlagen braucht, findet sie in unserer technischen Analyse; die Umsetzung im Theme ist Teil der Frontend-Optimierung.

Vor der Black Week: Aktionsseiten einmal durchgehen

Ende November ändert sich in vielen Shops die Startseite und mit ihr der Wasserfall. Aktionsbanner, Countdown-Skripte, zusätzliche Kampagnenpixel und neue Landingpages kommen hinzu, oft kurzfristig und ohne eigene Messung. Jede dieser Ergänzungen kann eines der sechs Muster erzeugen: Das Banner wird zum neuen LCP-Element und startet per Skript, das Pixel öffnet einen neuen Block fremder Herkunft, die Landingpage hängt an einer Weiterleitung aus der Kampagnenadresse.

Der Aufwand für die Kontrolle ist überschaubar. Eine Aufnahme der Aktionsseite und eine der normalen Startseite, beide mit abgeschaltetem Cache und derselben Drosselung, nebeneinandergelegt, zeigen sofort, was neu ist. Zusammen mit dem Vorwärmen des Caches zum Aktionsstart ist das eine gut investierte Stunde vor einer Woche mit viel Kampagnenverkehr. Diese Punkte gehören auf die Liste:

  • Das LCP-Element der Aktionsseite ist bekannt, steht als img mit src im HTML und trägt kein loading="lazy".
  • Das Aktionsbanner wird nicht erst per Skript eingesetzt und startet im Wasserfall neben der ersten Ressource.
  • Neue Pixel und Countdown-Skripte liegen rechts der LCP-Linie oder laden erst nach der ersten Interaktion.
  • Kampagnenadressen führen ohne Kette von Weiterleitungen direkt auf die Zielseite.
  • Der Warteabschnitt des Dokuments ist bei der Aktionsseite nicht länger als bei der Startseite.
  • Bilder der Aktionsseite tragen passende Angaben in srcset und sizes, damit Mobilgeräte keine Datei in Desktopbreite laden.

Quellen und Dokumentation

Dieser Artikel basiert auf Daten aus: Chrome for Developers (Network features reference; Lighthouse: Avoid chaining critical requests); web.dev (Optimize Largest Contentful Paint; Don't fight the browser preload scanner; Optimize resource loading with the Fetch Priority API; Time to First Byte); HTTP Archive Web Almanac 2025 (Kapitel Performance, Page Weight und Third Parties); RFC 9113 (HTTP/2); RFC 9218 (Extensible Prioritization Scheme for HTTP).

Verwandte Artikel

Server & Hosting

WordPress trotz Cache langsam: WP-Cron und admin-ajax

Seiten-Cache aktiv, WordPress trotzdem träge? WP-Cron, Heartbeat und admin-ajax gehen am Cache vorbei und belegen PHP-Worker. So messen und entlasten Sie sie.

19 Min. Lesezeit
Frontend-Optimierung

Weniger JavaScript: Dialog und Popover direkt in HTML

Dialog, Menü und Filter-Schublade ohne Skript: was command und commandfor seit Dezember 2025 leisten, welcher Rückfall nötig ist und was es für INP bringt.

17 Min. Lesezeit
Shops & CMS

Seitenzahlen, Mehr laden oder Endlos: Listing schnell halten

Seitenzahlen, Mehr laden oder endloses Scrollen im Shop-Listing: wie Startlast, INP, Layoutsprünge, Rücksprung und eigene URL je Seite zusammenhängen.

21 Min. Lesezeit