Przejdź do treści
Wydajność

Cumulative Layout Shift (CLS)

Opublikowano:
Aktualizacja:

CLS to największa suma wyników przesunięć w oknie sesji: przesunięcia dzieli mniej niż sekunda, a okno trwa maksymalnie pięć sekund. Wynik przesunięcia zależy od części widoku objętej zmianą i odległości ruchu. Nie jest to suma z całej wizyty.

Typowe objawy wysokiego CLS to „skaczący” tekst po doładowaniu banera, przyciski uciekające spod kursora czy reklamy wypychające treść. Dobry wynik to maksymalnie 0,1 na 75. percentylu realnych wizyt.

Najczęstsze przyczyny

  • Obrazy i iframy bez zadeklarowanych wymiarów (width/height lub aspect-ratio).
  • Reklamy, embedy i banery doładowywane nad istniejącą treścią.
  • Webfonty powodujące przeskok tekstu (FOIT/FOUT).
  • Treść wstrzykiwana dynamicznie przez JavaScript bez rezerwacji miejsca.

Jak poprawić CLS

Rezerwuj miejsce na media i treści dynamiczne. Przy fontach dopasuj metryki fallbacku (np. size-adjust i deskryptory metryk) i sprawdź zmianę łamania tekstu; swap z preloadem sam nie gwarantuje braku przesunięć. Animuj transform, jeśli pasuje do efektu. Wyjątek 500 ms dotyczy dyskretnego wejścia, np. kliknięcia lub klawisza, a nie przewijania, przeciągania czy pinch zoom.

Przykład

Obraz bez wymiarów powoduje przeskok layoutu po załadowaniu. width, height lub aspect-ratio rezerwują miejsce z góry.

Powoduje CLS: brak wymiarów
HTML
<img src="/baner-promo.jpg" alt="Promocja letnia">
Stabilny layout: zarezerwowane miejsce
HTML
<img src="/baner-promo.jpg" alt="Promocja letnia"
     width="1200" height="400" style="aspect-ratio: 3 / 1;">

Źródła i dalsza lektura

Sprawdź wydajność swojej strony

Insight mierzy Core Web Vitals i porządkuje wąskie gardła według wpływu.