Co powoduje zły wynik CLS i jak go naprawić?
Zrozumienie CLSCumulative Layout Shift (CLS) to wskaźnik wydajności, który mierzy stabilność wizualną strony internetowej. Zły wynik CLS może prowadzić do frustracji użytkowników, ponieważ oznacza niezamierzone przesunięcia elementów na stronie, co może skutkować przypadkowymi kliknięciami lub błędami w interakcji.
Przyczyny złego wyniku CLS
- Brak określenia wymiarów obrazów
- Jeśli tagi
<img>nie mają atrybutówwidthiheight, przeglądarka nie wie, ile miejsca zarezerwować na obrazek, co prowadzi do przesunięć podczas ładowania.
- Jeśli tagi
- Używanie reklam i osadzonych treści
- Reklamy mogą zmieniać rozmiar podczas ładowania, co powoduje przesunięcia. Brak zarezerwowanej przestrzeni dla reklam również przyczynia się do problemu.
- Wstawianie nowych treści nad istniejącymi
- Dodawanie nowych elementów, takich jak banery czy formularze, może przesuwać inne treści w dół strony.
- Czcionki internetowe powodujące FOIT/FOUT
- Problemy z ładowaniem czcionek mogą prowadzić do sytuacji, w której tekst jest niewidoczny lub wyświetlany w innej czcionce przed załadowaniem właściwej.
- Używanie animacji niekompozytowanych
- Animacje, które wymagają ponownego renderowania elementów na stronie, mogą powodować dodatkowe przesunięcia.
Jak naprawić zły wynik CLS
- Określenie wymiarów obrazów: Upewnij się, że wszystkie obrazy mają przypisane atrybuty
widthiheight. - Rezerwacja przestrzeni dla reklam: Zarezerwuj miejsce dla reklam przed ich załadowaniem lub użyj placeholderów.
- Zarządzanie nowymi treściami: Zamiast dodawać nowe elementy nad istniejącymi, rezerwuj odpowiednią przestrzeń lub ładuj je w sposób niewidoczny.
- Optymalizacja czcionek: Używaj atrybutu
font-displayoraz preloading czcionek, aby zminimalizować problemy z FOIT/FOUT. - Używanie kompozytowanych animacji: Wybieraj właściwe właściwości CSS, które nie wymagają ponownego renderowania.
Podsumowanie
Dobrze zoptymalizowany wynik CLS jest kluczowy dla pozytywnego doświadczenia użytkowników. Problemy te są zazwyczaj związane z front-endem i mogą być rozwiązane przez programistów. Optymalizacja CLS prowadzi do lepszego zaangażowania użytkowników i może zwiększyć ruch oraz konwersje na stronie.