Januar 2024. Die Website hatte perfekte Lighthouse-Scores. 95+ in allen Kategorien im Labor. Aber die Chrome User Experience Report-Daten? Katastrophal. 68 Prozent der realen Nutzer hatten schlechte Core Web Vitals. Rankings sanken seit dem Page Experience Update kontinuierlich.
Hier liegt das Problem: Labor-Tests laufen unter kontrollierten Bedingungen. Schnelles Internet, keine Browser-Extensions, keine langsamen Geräte. Die Realität sieht anders aus. Ich musste verstehen, was tatsächlich bei den Nutzern passierte.
Ich implementierte umfassendes RUM-Monitoring. Real User Monitoring über eine eigene Tracking-Infrastruktur, nicht nur Google Analytics. Jeder Seitenaufruf sendete detaillierte Performance-Metriken: LCP-Element, FID-Verzögerung, CLS-Shifts mit Zeitstempeln, Gerätetyp, Verbindungsgeschwindigkeit, Browser-Version.
Nach zwei Wochen mit 8 Millionen Datenpunkten: Das Bild war komplett anders als im Labor. LCP war auf Desktop okay (2,1 Sekunden), aber auf Mobile katastrophal (5,8 Sekunden). Der Grund? Das LCP-Element war auf 60 Prozent der Seiten ein dynamisch geladenes Hero-Image aus einem CDN. Das Labor nutzte schnelle Verbindungen. Real-World-Nutzer mit 3G? Die warteten ewig.
FID war interessant. Im Labor nicht messbar, weil keine echten Interaktionen. In der Realität: 340 Millisekunden Durchschnitt. Das Problem waren Third-Party-Scripts. Die Website hatte 14 verschiedene Tracking-Tools, jedes blockierte den Main Thread zwischen 40 und 200 Millisekunden. Akkumuliert ergab das massive Input-Verzögerungen.
CLS war ein Albtraum. 0,08 im Labor. 0,34 in der Realität. Warum? Werbung. Die Website nutzte programmatische Ad-Insertion. Die Ad-Slots hatten zwar definierte Höhen im CSS, aber die tatsächlichen Ads variierten. Ein 300x250-Slot bekam manchmal 300x600-Ads delivered. Das verschob den kompletten Content nach unten, nachdem Nutzer schon am Scrollen waren.
Die Optimierung war brutal spezifisch. Hero-Images bekamen drei verschiedene Versionen: WebP für moderne Browser, komprimierte JPEGs für ältere, und ein Inline-SVG-Placeholder der sofort renderte. Das allein verbesserte LCP auf Mobile von 5,8 auf 3,2 Sekunden.
Third-Party-Scripts wurden komplett überarbeitet. Nur noch 6 statt 14 Tools. Die verbliebenen liefen alle asynchron mit requestIdleCallback. Kritische Scripts wurden auf den Server gezogen und gebündelt. FID sank auf 85 Millisekunden.
Für CLS: Alle Ad-Slots bekamen feste Container mit der maximalen möglichen Höhe. Wenn kleinere Ads kamen, blieb Whitespace. Nicht schön, aber stabil. CLS fiel auf 0,09.
Nach drei Monaten: 89 Prozent der Nutzer hatten gute Core Web Vitals. Rankings stabilisierten sich, einige Keywords gewannen sogar. Die Lektion? Labor-Tests sind zum Debuggen. Feld-Daten zeigen die Wahrheit.