CLS adalah: Mengenal Cumulative Layout Shift dan Seluk Beluknya
Setiap kali kamu menjelajahi web, mungkin pernah mengalami momen ketika tiba-tiba elemen halaman berpindah posisi secara tak terduga. Ini bisa berarti tombol yang tadinya kamu ingin klik berubah menjadi tautan lain atau bahkan hilang entah ke mana.
Fenomena ini dikenal sebagai Cumulative Layout Shift (CLS), dan CLS adalah berperan penting dalam menentukan seberapa baik pengalaman kamu saat mengunjungi sebuah situs web. Dalam artikel ini, kita akan membahas secara mendalam apa itu Cumulative Layout Shift, mengapa hal itu penting, dan bagaimana kita dapat mengatasi tantangan yang dihadapinya.
Mengenal Cumulative Layout Shift (CLS)
CLS adalah
Pertama-tama, mari kita definisikan apa itu Cumulative Layout Shift (CLS). CLS adalah sebuah metrik yang digunakan untuk mengukur sejauh mana pergeseran visual yang mengganggu terjadi pada halaman web selama proses pemuatan. Secara sederhana, CLS mengukur perubahan tata letak yang tidak diinginkan dari elemen-elemen di halaman web, seperti gambar, teks, atau tombol. Perubahan tata letak semacam ini dapat terjadi saat halaman masih dalam proses pemuatan, dan inilah yang menyebabkan pengalaman kamu menjadi tidak nyaman.
Perlu diingat bahwa pergeseran visual yang terjadi pada CLS adalah bukan perubahan yang diakibatkan oleh interaksi pengguna, seperti mengklik tombol atau menggulir halaman. Sebaliknya, CLS adalah metrik yang berkaitan dengan perubahan yang tidak terduga dan sering kali tidak diinginkan yang dapat mengakibatkan pengalaman yang membingungkan atau bahkan menyebabkan kamu melakukan tindakan yang tidak diinginkan.
Mengapa CLS Bisa Terjadi
kamu mungkin penasaran mengapa pergeseran tata letak yang tidak diinginkan ini terjadi pada halaman web. Ada beberapa faktor yang dapat menyebabkan terjadinya Cumulative Layout Shift (CLS), dan dalam bagian ini, kita akan menjelaskan secara detail mengapa hal ini bisa terjadi.
1. Loading Konten yang Berukuran Dinamis
Salah satu penyebab utama CLS adalah loading konten yang memiliki dimensi yang tidak tetap atau tidak diatur dengan benar. Ini terjadi ketika elemen-elemen seperti gambar, video, atau iklan dimuat ke halaman web tanpa memiliki ukuran yang sudah ditentukan. kamu bisa mencari tahu cara mempercepat loading website.
Ketika konten tersebut akhirnya dimuat dan tampil di halaman, perubahan tata letak dapat terjadi, terutama jika elemen-elemen tersebut memengaruhi area di sekitarnya. Misalnya, bayangkan kamu membuka halaman web yang memiliki slot iklan di bagian atas, dan iklan itu baru dimuat setelah halaman pertama kali dimuat. Pergeseran tiba-tiba dari tata letak setelah iklan muncul bisa mengganggu pengalaman kamu.
2. Gambar dan Media yang Belum Ditetapkan Ukurannya
Ketika gambar atau elemen media lainnya dimuat ke halaman web tanpa ukuran yang ditetapkan, browser akan mengalokasikan ruang untuk elemen tersebut berdasarkan estimasi ukuran. Jika ukuran sebenarnya berbeda dari estimasi, pergeseran tata letak akan terjadi saat gambar atau media tersebut dimuat sepenuhnya. Contoh klasik adalah ketika gambar diunggah tanpa atribut lebar dan tinggi, dan kemudian browser harus menghitung ulang ukuran yang sesungguhnya saat gambar sudah dimuat.
3. Skrip Asynchronous dan Pengiriman Konten Terlambat
Pemakaian skrip asynchronous, terutama yang terkait dengan pemuatan konten seperti iklan atau elemen dari sumber eksternal, dapat memicu perubahan tata letak secara tiba-tiba. Ketika skrip ini selesai diunduh dan dieksekusi, mereka dapat memanipulasi tata letak halaman web, menyebabkan pergeseran visual yang tidak diinginkan. Hal ini juga bisa terjadi jika konten dari sumber eksternal seperti API atau widget sosial memuat dengan keterlambatan, dan tata letak harus diatur ulang setelah konten tersebut tiba.
4. Animasi dan Transisi CSS
Animasi atau transisi CSS dapat menjadi penyebab pergeseran tata letak. Jika animasi diatur untuk mengubah ukuran, posisi, atau sifat lain dari elemen, perubahan ini bisa memicu CLS. Misalnya, jika suatu elemen tiba-tiba membesar atau berpindah posisi dengan animasi, ini dapat mengganggu posisi elemen lain di sekitarnya.
Baca juga: Apa Itu CSS? Pengertian, Fungsi, Jenis dan Cara Kerjanya!
Mengukur Dampak Buruk CLS
Mengukur CLS adalah hal penting karena membantu kita menilai sejauh mana pengalaman pengguna terganggu dan melihat apakah perbaikan yang dilakukan telah berhasil. Berikut adalah beberapa metode untuk mengukur dampak buruk CLS:
1. Menggunakan Metrik CLS
Metrik CLS adalah angka yang mengukur seberapa besar perubahan tata letak terjadi pada halaman web selama proses pemuatan. Metrik ini dinyatakan dalam angka desimal, dan semakin rendah nilai CLS, semakin baik pengalaman pengguna. Nilai ideal untuk CLS adalah kurang dari 0,1. kamu dapat mengukur nilai CLS menggunakan alat pengembangan web seperti Google Chrome DevTools. Alat ini akan memberikan kamu wawasan tentang elemen mana yang bergerak dan menyebabkan CLS.
2. Penggunaan Lighthouse
Lighthouse adalah alat pengujian yang disediakan oleh Google untuk mengukur kinerja dan kualitas halaman web. Dalam pemeriksaan Lighthouse, kamu akan menemukan skor CLS yang menggambarkan seberapa baik halaman kamu mengatasi pergeseran tata letak yang tidak diinginkan. Alat ini juga memberikan rekomendasi tentang bagaimana kamu dapat meningkatkan CLS pada halaman kamu.
3. Pengamatan Pengguna
Mengobservasi pengguna saat menggunakan situs kamu juga dapat memberikan wawasan tentang seberapa sering dan seberapa buruk pergeseran tata letak terjadi. kamu dapat mengumpulkan umpan balik dari pengguna mengenai perubahan yang tak terduga yang mereka alami saat mengunjungi situs kamu.
4. Studi Perilaku Pengguna
Studi perilaku pengguna, seperti heatmaps dan rekaman sesi pengguna, dapat membantu kamu melihat bagaimana pengguna berinteraksi dengan situs kamu dan apakah mereka mengalami perubahan tata letak yang mengganggu. Ini dapat membantu kamu mengidentifikasi area di mana CLS sering terjadi.
5. Pengujian Beta
Saat mengembangkan atau merilis fitur baru, kamu dapat mengukur dampak buruk CLS dalam pengujian beta sebelum merilis ke publik. Ini dapat membantu kamu mengatasi masalah CLS sebelum mencapai pengguna akhir.
Mengatasi CLS adalah
Setelah memahami penyebab dan dampak buruk dari Cumulative Layout Shift (CLS), langkah selanjutnya adalah mengatasi masalah ini agar pengalaman pengguna di situs web kamu menjadi lebih baik. Berikut langkah-langkah praktis yang dapat kamu ambil untuk mengatasi CLS adalah:
- Dimensi Gambar yang Didefinisikan: Pastikan kamu mendefinisikan dimensi (tinggi dan lebar) untuk setiap gambar dan media di halaman web kamu. Ini membantu browser mengalokasikan ruang untuk gambar sebelum mereka dimuat sepenuhnya, mencegah perubahan tata letak saat gambar tampil.
- Optimalkan Animasi dan Transisi: Jika kamu menggunakan animasi atau transisi CSS, pastikan mereka dioptimalkan dengan baik. Pastikan animasi berjalan mulus dan tidak mengganggu pergeseran tata letak yang tidak diinginkan.
- Prioritaskan Pemuatan Konten: Percepat pemuatan halaman dengan memprioritaskan konten yang terlihat pertama kali oleh pengguna. Hal ini dapat mengurangi kemungkinan perubahan tata letak saat halaman dimuat sepenuhnya.
- Gunakan CSS untuk Menetapkan Ukuran: Gunakan CSS untuk menetapkan ukuran elemen seperti gambar atau video. Ini membantu browser mengalokasikan ruang yang diperlukan sebelum konten dimuat, mencegah perubahan tata letak yang tak terduga.
- Pengujian Cross-Browser: Pastikan kamu menguji situs kamu di berbagai browser dan perangkat untuk memastikan CLS minimal di semua kondisi.
- Menggunakan Preloading: Pertimbangkan untuk menggunakan teknik preloading untuk gambar atau konten lain yang memerlukan waktu lama untuk dimuat. Ini dapat membantu mencegah CLS karena elemen-elemen tersebut akan siap tampil saat halaman selesai dimuat. Mungkin kamu bisa menggunakan skeleton.
- Penguatan Responsif: Pastikan responsif kamu diatur dengan baik dan dioptimalkan untuk berbagai lebar layar. Hal ini membantu mencegah perubahan tata letak yang tak diinginkan saat situs ditampilkan di perangkat yang berbeda.
Mengoptimalkan Pengalaman Pengguna dengan Mengatasi Cumulative Layout Shift (CLS)
Dalam menghadapi fenomena Cumulative Layout Shift (CLS), kita memahami bahwa pergeseran tata letak yang tidak diinginkan pada halaman web dapat merusak pengalaman pengguna. Dengan mengidentifikasi penyebab CLS, mengukur dampak buruknya, dan mengambil langkah-langkah pencegahan seperti mendefinisikan dimensi gambar, mengoptimalkan animasi, dan mengutamakan pemuatan konten, kita dapat mengatasi tantangan ini. Dalam dunia yang semakin terhubung dan visual, mengatasi CLS adalah langkah penting menuju pengalaman web yang lebih stabil, nyaman, dan responsif bagi setiap pengguna.