Resource berbasis teks harus ditayangkan dengan kompresi untuk meminimalkan total byte jaringan. Bagian Peluang di laporan Lighthouse Anda mencantumkan semua resource berbasis teks yang tidak dikompresi:
Cara Lighthouse menangani kompresi teks
Lighthouse mengumpulkan semua respons yang:
- Memiliki jenis resource berbasis teks.
- Jangan sertakan header
content-encoding
yang ditetapkan kebr
,gzip
, ataudeflate
.
Lighthouse kemudian mengompresi setiap file tersebut dengan GZIP untuk menghitung potensi penghematan.
Jika ukuran asli respons kurang dari 1,4 KiB, atau jika potensi penghematan kompresi kurang dari 10% dari ukuran asli, Lighthouse tidak akan menandai respons tersebut dalam hasil.
Mengaktifkan kompresi teks di server
Aktifkan kompresi teks di server yang menayangkan respons ini untuk lulus audit ini.
Saat meminta resource, browser akan menggunakan header permintaan HTTP
Accept-Encoding
untuk menunjukkan algoritma kompresi yang didukungnya.
Accept-Encoding: gzip, compress, br
Jika browser mendukung Brotli
(br
), Anda harus menggunakan Brotli karena dapat mengurangi ukuran file resource lebih banyak daripada
algoritma kompresi lainnya. Telusuri how to enable Brotli compression in <X>
, dengan
<X>
adalah nama server Anda. Mulai Desember 2022, Brotli didukung di semua browser utama kecuali Safari di iOS. Lihat
Kompatibilitas browser
untuk mengetahui update.
Gunakan GZIP sebagai pengganti Brotli. GZIP didukung di semua browser utama, tetapi kurang efisien daripada Brotli. Lihat Konfigurasi Server untuk mengetahui contohnya.
Server Anda harus menampilkan header respons HTTP
Content-Encoding
untuk menunjukkan algoritma kompresi yang digunakan.
Content-Encoding: br
Memeriksa kompresi respons
Untuk memeriksa apakah server mengompresi respons:
Tekan Control+Shift+J
(atau Command+Option+J
di Mac) untuk membuka DevTools.
Klik tab Jaringan.
- Tekan Control+Shift+J (atau Command+Option+J di Mac) untuk membuka DevTools.
- Klik tab Jaringan.
- Klik permintaan yang menyebabkan respons yang Anda minati.
- Klik tab Header.
- Periksa header
content-encoding
di bagian Respons Header.
Untuk membandingkan ukuran respons yang dikompresi dan didekompresi:
- Tekan Control+Shift+J (atau Command+Option+J di Mac) untuk membuka DevTools.
- Klik tab Jaringan.
- Aktifkan baris permintaan besar. Lihat Menggunakan baris permintaan besar.
- Lihat kolom Ukuran untuk respons yang Anda minati. Nilai teratas adalah ukuran terkompresi. Nilai bawah adalah ukuran yang didekompresi.
Lihat juga Miminifikasi dan mengompresi payload jaringan.
Panduan khusus stack
- Drupal: Resource berbasis teks harus ditayangkan dengan kompresi (gzip, deflate, atau brotli) untuk meminimalkan total byte jaringan. Pertimbangkan untuk menggunakan CDN yang secara native mendukung hal ini, atau konfigurasikan server web untuk melakukan operasi ini. Pelajari lebih lanjut.
- Joomla: Aktifkan setelan Gzip Page Compression (System > Global configuration > Server).
- WordPress: Aktifkan kompresi teks di konfigurasi server web Anda.