Co to jest Cumulative Layout Shift (CLS)?
Cumulative Layout Shift (CLS) to metryka Core Web Vitals opracowana przez Google w celu pomiaru stabilności wizualnej strony internetowej. Określa ona sumę wszystkich nieoczekiwanych zmian układu, które wystąpiły podczas całego okresu istnienia strony. Przesunięcia układu mają miejsce, gdy widoczny element zmienia swoją pozycję z jednej renderowanej ramki do następnej.
Jak mierzony jest CLS
Wyniki CLS wahają się od 0, co oznacza brak przesunięcia, do wartości powyżej 0 wskazujących na różne stopnie niestabilności. Wzór uwzględnia ułamek wpływu i ułamek odległości każdego przesunięcia, obliczając, jak bardzo elementy się poruszają i jak dużą część rzutni obejmują.
Interpretacja wyników CLS
- Dobry: 0 - 0,1
 - Wymaga poprawy: 0.1 - 0.25
 - Słaby: Powyżej 0,25
 
Dlaczego CLS jest ważny?
CLS ma kluczowe znaczenie dla doświadczenia użytkownika, ponieważ nieoczekiwane zmiany układu mogą prowadzić do frustracji użytkownika. Na przykład, jeśli użytkownik ma zamiar kliknąć przycisk, a układ zmienia się, powodując niezamierzone kliknięcie czegoś innego, może to spowodować słabe wrażenia użytkownika i potencjalną utratę konwersji.
Najczęstsze przyczyny słabego CLS
- 
Obrazy bez wymiarów:
- Dołączanie obrazów do kodu HTML bez określenia ich szerokości i wysokości może powodować zmiany układu, ponieważ przeglądarka nie wie, ile miejsca początkowo przydzielić.
 
 - 
Reklamy, elementy osadzone i ramki Iframe bez wymiarów:
- Elementy te mogą ładować się dynamicznie i powodować przesunięcia układu, jeśli ich wymiary nie zostaną określone z wyprzedzeniem.
 
 - 
Dynamicznie wstrzykiwana zawartość:
- Dodanie zawartości powyżej istniejącej zawartości w DOM może zepchnąć elementy w dół, powodując przesunięcia.
 
 - 
Czcionki internetowe powodujące FOIT/FOUT:
- Flash of Invisible Text (FOIT) i Flash of Unstyled Text (FOUT) mogą powodować zmiany układu, gdy przeglądarka ładuje czcionki internetowe.
 
 
Najlepsze praktyki w celu zminimalizowania CLS
- 
Dołącz atrybuty rozmiaru do obrazów i filmów:
- Zawsze definiuj szerokość i wysokość obrazów i filmów w HTML, aby zarezerwować miejsce w układzie przed ich załadowaniem.
 
 - 
Zarezerwuj miejsce na reklamy i wpisy:
- Użyj CSS, aby ustawić wymiary slotów reklamowych, ramek iframe i elementów osadzonych, aby uniknąć zmian układu podczas ich ładowania.
 
 - 
Unikaj dynamicznego wstrzykiwania treści ponad istniejącą zawartość:
- Dodawaj nowe treści poniżej zakładki lub w kontenerach, które mają już zarezerwowane miejsce.
 
 - 
Używaj strategii ładowania czcionek:
- Wykorzystaj właściwość CSS font-display, aby kontrolować sposób wyświetlania czcionek internetowych i zminimalizować przesunięcia spowodowane przez FOIT/FOUT.
 
 - 
Użyj CSS Transform dla animacji:
- Użyj właściwości transform zamiast top, bottom, left lub right, aby animować elementy bez powodowania przesunięć układu.
 
 
Wnioski
Cumulative Layout Shift (CLS) jest istotnym wskaźnikiem zapewniającym stabilne i atrakcyjne wizualnie wrażenia użytkownika. Zrozumienie czynników, które przyczyniają się do zmian układu i wdrożenie najlepszych praktyk w celu ich zminimalizowania, może poprawić wynik CLS strony internetowej i zwiększyć ogólną satysfakcję użytkownika.
Aby uzyskać więcej informacji na temat ulepszania CLS i innych Core Web Vitals, warto zapoznać się z dokumentacją Google Web Vitals.
