Czym jest Cumulative Layout Shift
Cumulative Layout Shift to wskaźnik opisujący, jak bardzo elementy strony przesuwają się w trakcie wczytywania, czyli sytuację, w której czytelnik sięga po przycisk, a przycisk ucieka mu spod palca. Nazwa sugeruje sumowanie wszystkiego, co się przesunęło. To założenie jest nieprawdziwe i prowadzi do błędnych odczytów, w tym takich, jakie sami przez rok mieliśmy u siebie.
„Cumulative” nie znaczy „suma”
Definicja mówi coś zupełnie innego niż nazwa: „CLS is a measure of the largest burst of layout shift scores for every unexpected layout shift that occurs during the entire lifecycle of a page”.1
Liczy się zatem największa seria, a nie suma. Serię definiuje okno sesji: przesunięcia następujące po sobie z przerwą krótszą niż sekunda, przy czym całe okno trwa najwyżej pięć sekund.1 Dwa niezależne przesunięcia oddalone o dziesięć sekund nie sumują się: do wyniku wejdzie tylko większe z nich.
Konsekwencja jest praktyczna: strona z jednym dużym przeskokiem wypadnie gorzej niż strona z pięcioma drobnymi, rozłożonymi w czasie. Naprawę zaczyna się więc od znalezienia najgorszej serii, a nie od redukcji liczby przesunięć.
Progi i to, co się nie liczy
Wartości oceniane są tak: „Good CLS values are 0.1 or less”, a złe zaczynają się powyżej 0,25, mierzone na 75. percentylu wczytań, osobno dla urządzeń mobilnych i komputerów.1 Zapis „0,1 lub mniej” bywa cytowany jako „poniżej 0,1”; różnica jest drobna, ale to nie to samo.
Ważniejsze jest wyłączenie. Przesunięcia w ciągu pół sekundy od działania użytkownika są oznaczane i pomijane, ale tylko przy zdarzeniach dyskretnych: „Continuous interactions such as scrolls, drags, or pinch and zoom gestures are not considered recent input”.1 Przewijanie nie usprawiedliwia więc niczego: to, co przeskoczy podczas scrollowania, wchodzi do wyniku w całości.
Dlaczego mierzyliśmy u siebie zero
Nasze wcześniejsze pomiary pokazywały CLS równy zeru na wszystkich badanych stronach. Powtórzyliśmy je 1 września 2026 i wynik był inny.2
Przyczyna okazała się banalna i wynika wprost z definicji: wskaźnik obejmuje cały cykl życia strony, a nasz pomiar kończył się przed przewinięciem. Po dodaniu przewinięcia do końca strony każdy z czternastu badanych adresów pokazał wartość w okolicach 0,0286, praktycznie identyczną wszędzie, co samo w sobie jest wskazówką: przesunięcie pochodzi z elementu wspólnego dla całego serwisu, czyli z szablonu, a nie z treści.
Wartość mieści się w progu dobrym i nie wymaga alarmu. Alarmem jest co innego: pomiar, który pokazywał zero, mierzył połowę tego, co miał mierzyć. Zero nie znaczyło „nic się nie przesuwa”, tylko „przestaliśmy patrzeć, zanim cokolwiek się przesunęło”.
Drugi błąd: liczyliśmy sumę zamiast serii
Przy tej samej okazji wyszło, że nasze narzędzie sumowało wszystkie przesunięcia, czyli liczyło wskaźnik według definicji sprzed wprowadzenia okna sesji. Różnica nie jest kosmetyczna. Na tej samej stronie suma dała 0,0824, a poprawnie liczona największa seria — 0,0538. Na innej: 0,0516 wobec 0,0285, czyli wynik zawyżony niemal dwukrotnie.2
Stąd dwa punkty kontrolne dla każdego własnego pomiaru tego wskaźnika: przewiń stronę do końca, zanim odczytasz wynik, oraz sprawdź, czy narzędzie grupuje przesunięcia w okna, czy je sumuje. Bez pierwszego dostaje się zero, bez drugiego — liczbę zawyżoną. Obie wyglądają na pomiar. Szerzej o pułapkach odczytu mówią hasła o PageSpeed Insights oraz o szybkości strony, a miejsce tego wskaźnika wśród pozostałych opisuje hasło o page experience.
Najczęstsze pytania
Czy CLS sumuje wszystkie przesunięcia na stronie?
Nie. Liczy największą serię przesunięć następujących po sobie w odstępach krótszych niż sekunda, w oknie trwającym najwyżej pięć sekund.
Jaka wartość jest dobra?
0,1 lub mniej, mierzone na 75. percentylu wczytań. Powyżej 0,25 wynik uznaje się za zły.
Czy przesunięcia podczas przewijania się liczą?
Tak. Wyłączane są tylko przesunięcia tuż po działaniu dyskretnym, takim jak kliknięcie; przewijanie się do nich nie zalicza.
Dlaczego mój pomiar pokazuje zero?
Najczęściej dlatego, że kończy się przed przewinięciem strony. Wskaźnik obejmuje cały cykl życia strony, nie samo wczytanie.
Źródła
1. web.dev, Cumulative Layout Shift (CLS) — definicja największej serii, okno sesji, progi oceny oraz wyłączenie przesunięć po działaniu użytkownika. web.dev/articles/cls (odczyt 1.09.2026).
2. Pomiar własny z 1.09.2026: odczyt przesunięć układu na czternastu stronach essaseo.pl w przeglądarce bez interfejsu, przed przewinięciem i po przewinięciu strony do końca, z równoległym wyliczeniem sumy przesunięć oraz największej serii według okna sesji.
Tadeusz Wolskizałożyciel ESSA SEO · 40+ zrealizowanych projektów · 5,0★ Google · 5,0★ Fiverr (30+ ocen)Zaktualizowano ⋅ 1 września 2026