Cara Mengaktifkan Kompresi GZIP untuk Mempercepat Situs WordPress
Diterbitkan: 2020-10-16Cara termudah untuk mempercepat situs WordPress Anda adalah dengan menghilangkan semua sumber daya yang tidak diinginkan. Cara termudah kedua untuk mempercepatnya adalah dengan mengompresi semua sumber daya yang diinginkan. Mengaktifkan kompresi GZIP di server web Anda adalah salah satu cara paling sederhana dan paling efisien untuk mencapainya.
Semua browser modern menyertakan dukungan untuk kompresi GZIP secara default. Namun, untuk menyajikan sumber daya terkompresi kepada pengguna Anda tanpa cegukan, Anda harus mengonfigurasi server dengan benar.
Dalam posting ini, Anda akan mempelajari dasar-dasar kompresi data di web, apa itu kompresi GZIP, berbagai manfaatnya, dan bagaimana Anda dapat menggunakannya untuk mempercepat situs WordPress Anda di berbagai pengaturan server.
Bersemangat? Mari kita dekompresi!
Lebih suka menonton versi videonya?
Dasar-dasar Kompresi Data di Web
Kompresi data di web adalah proses pengurangan ukuran data yang dikirimkan oleh situs web. Bergantung pada tipe data—teks, gambar, lembar gaya, skrip, font—ada berbagai cara untuk mengompresi data.

Misalnya, minifikasi HTML, CSS, dan JavaScript adalah cara sederhana untuk mengurangi jumlah data yang dikirim oleh browser. Di sini, minifier mengompresi teks dengan menghapus karakter yang tidak perlu seperti komentar dan spasi putih dari kode sumber.
Dalam contoh di bawah dokumen HTML sederhana, ada tiga tipe konten: markup HTML, gaya CSS, dan kode JavaScript.
Setiap tipe konten memiliki sintaks dan semantik yang unik. Secara keseluruhan, dokumen HTML ini memiliki total 357 karakter.
< html > < head > < style > /* kinsta-banner is used on the homepage only */ .kinsta-banner { font-size: 150% } .kinsta-banner { width: 75% } </ style > </ head > < body > <!-- kinsta banner START --> < div >...</ div > <!-- kinsta banner END --> < script > kinstaScripts(); // random scripts used on the page </ script > </ body > </ html >
Kode di atas mudah dibaca dan diikuti. Ini ideal untuk pengembangan. Namun, browser tidak perlu membaca komentar dan memiliki tag yang menjorok sempurna. Kompresor cerdas dapat menganalisis dokumen ini dan menghapus semua bit yang tidak perlu darinya.
< html >< head >< style >.kinsta-banner{font-size:150%;width:75%}</ style ></ head >< body >< div >...</ div >< script >kinstaScripts();</ script ></ body ></ html >
Setelah minifikasi, dokumen HTML berkurang menjadi hanya 141 karakter. Itu adalah penghematan 60,50% dalam jumlah karakter. Ini tidak mudah di mata, tetapi itu tidak masalah bagi browser. Itu masih akan menampilkan halaman yang sama kepada pengguna.
Untuk memanfaatkan kedua versi tersebut, Anda dapat mempertahankan dokumen asli sebagai "versi pengembangan", tetapi mengecilkan semua kode sebelum menjalankannya.
Sebagian besar plugin kinerja WordPress menangani ini secara otomatis untuk Anda.

Sebagai contoh, versi perpustakaan jQuery 3.5.1 yang tidak terkompresi lebih dari 3 kali lebih besar dari versi yang diperkecil dari file yang sama.
Demikian juga, teknik kompresi yang sama yang dijelaskan di atas dapat mengoptimalkan jenis konten lain seperti gambar, video, font, dan lainnya. Pengurangan khusus konten seperti ini adalah langkah pertama dalam mengoptimalkan ukuran aset berbasis teks situs web Anda.
Tapi ada lebih banyak kompresi data dari sekedar minifikasi. Menggunakan teknik matematika tingkat lanjut, algoritme kompresi data selanjutnya dapat mengurangi ukuran data.
Salah satu contoh paling populer dari metode kompresi data tersebut adalah GZIP . Hal ini memungkinkan transmisi data yang efisien dan telah memberikan kontribusi yang signifikan untuk membuat internet menjadi media komunikasi global yang layak.
Apa itu Kompresi GZIP?
GZIP, kependekan dari GNU Zip , adalah metode kompresi data lossless paling populer di web. Ini memungkinkan Anda untuk mengurangi ukuran halaman HTML, stylesheet, dan skrip situs Anda.
Selain sebagai algoritma kompresi data, GZIP juga merupakan ekstensi file ( .gz ) dan perangkat lunak yang digunakan untuk kompresi/dekompresi file.
Ini didasarkan pada algoritma DEFLATE, yang merupakan campuran dari pengkodean LZ77 dan algoritma pengkodean Huffman.

Kompresor GZIP mengambil satu set data mentah dan mengompresnya tanpa kehilangan. Data mentah bisa dari jenis file apa pun, tetapi GZIP berfungsi paling baik dengan aset berbasis teks (misalnya HTML, CSS, JS).
Bagian selanjutnya membahas bagaimana kompresi GZIP bekerja secara mendalam.
Bagaimana GZIP Mengompresi Data

Untuk memulainya, kompresor GZIP menjalankan algoritma kompresi LZ77 pada data mentah untuk menghilangkan redundansi. Algoritma ini bekerja dengan menemukan pola berulang di jendela geser yang telah ditentukan (sebagian kecil dari data mentah).
Ini kemudian menggantikan semua string berulang dengan tupel untuk mengompresi data mentah.

Pada contoh di atas, ukuran jendela geser hanya 13 karakter (13 byte). Namun, kompresi GZIP dapat menggunakan ukuran jendela geser maksimum 32 KB (32.768 byte). Ukuran jendela geser memainkan peran penting dalam kinerja kompresi LZ77.
Setelah mengompresi data mentah dengan algoritma LZ77, kompresor GZIP kemudian menggunakan algoritma pengkodean Huffman untuk mengompresnya lebih lanjut. Ini dilakukan dengan menetapkan karakter yang muncul lebih sering dengan jumlah bit paling sedikit, sementara menetapkan karakter langka dengan jumlah bit tertinggi.
Teknik ini seperti yang digunakan dalam kode Morse, di mana huruf yang muncul lebih sering dalam bahasa Inggris mendapatkan urutan terpendek.
Untuk memahami bagaimana algoritma pengkodean Huffman bekerja, pertimbangkan kata BOOKKEEPER
. Panjangnya 10 karakter, tetapi hanya memiliki 6 karakter unik. Kata ini memiliki campuran huruf tunggal, ganda, dan rangkap tiga yang bagus.
Hampir semua situs web menggunakan pengkodean karakter UTF-8 untuk mewakili huruf dan simbol. Setiap karakter ASCII dalam UTF-8, yang juga termasuk alfabet bahasa Inggris, menggunakan 1 byte (8 bit).

String 10 karakter seperti BOOKKEEPER
akan membutuhkan memori 10 byte (80 bit). Anda dapat melihat bahwa itu berisi 1 instance dari huruf B , P , R
, 2 instance dari huruf O
dan K
, dan 3 instance dari huruf E
.
Algoritma pengkodean Huffman menggunakan pengetahuan ini untuk mengompresi string tanpa kehilangan. Ini dilakukan dengan menghasilkan pohon biner dengan setiap huruf unik sebagai daun.
Huruf dengan frekuensi terendah (misalnya B , P , R ) akan berada di bagian bawah pohon, sedangkan huruf yang sering muncul (misalnya E , O , K ) idealnya akan berada di bagian atas.
Node paling atas di pohon adalah root , dan nilainya sama dengan jumlah total karakter dalam string.

Setelah menghasilkan pohon Huffman, semua panah bercabang kiri dan bercabang kanan masing-masing diberi angka 0 dan 1 . Anda kemudian dapat menghasilkan kode Huffman untuk karakter apa pun dengan menelusuri jalur root-to-leaf dan menggabungkan semua 0 s dan 1 s.

Anda dapat melihat bahwa huruf dengan frekuensi tertinggi memiliki kode Huffman dengan ukuran bit terkecil.
Catatan: Algoritma pengkodean Huffman dapat menghasilkan kode biner alternatif dengan menggunakan strategi pengurutan yang berbeda untuk karakter dengan frekuensi yang sama. Namun, ukuran total string yang disandikan akan tetap sama.

Itu pengurangan 68,75% dalam memori yang dibutuhkan untuk menyimpan kata aslinya.
Menggunakan pohon Huffman dengan konvensi 0 / 1 menghasilkan kode biner yang memenuhi properti awalan. Ini memastikan bahwa kode Huffman dari karakter tertentu bukanlah awalan dari kode karakter lain, membuatnya mudah untuk memecahkan kode string yang disandikan menggunakan pohon Huffman. Ini memainkan peran utama dalam kecepatan dekompresi GZIP.
Sama seperti kata di atas, kompresor GZIP menggunakan algoritma pengkodean Huffman untuk lebih mengoptimalkan tupel yang dihasilkan oleh algoritma LZ77. Ini menghasilkan file yang sangat terkompresi dengan ekstensi .gz.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang cara kerja GZIP, lihat video ini untuk ikhtisar singkat.
Seberapa Baik Kompresi GZIP?
Biasanya, GZIP mencapai rasio kompresi sekitar 70% untuk file kecil, tetapi dapat mencapai hingga 90% untuk aset berbasis teks yang lebih besar.

Pada tabel di atas, Anda dapat melihat bahwa mengompresi file yang diperkecil dengan GZIP dapat mengurangi ukurannya lebih jauh.
Catatan: Anda dapat mengompresi jenis file apa pun dengan GZIP, tetapi untuk aset yang sudah dikompresi dengan metode lain (mis. gambar, video), itu tidak akan menghemat apa pun. Terkadang, itu bahkan dapat meningkatkan ukuran file.
Kekuatan algoritme kompresi tidak hanya bergantung pada rasio kompresinya, tetapi juga seberapa cepat dan efisiennya dapat mengompresi dan mendekompresi data. Di situlah GZIP unggul untuk sebagian besar kasus penggunaan.
Karena GZIP melakukan dekompresi dengan cepat menggunakan algoritme streaming, GZIP sangat cocok untuk protokol web yang mengutamakan kecepatan. Selain itu, GZIP menggunakan sumber daya minimal untuk mengompresi dan mendekompresi data, menjadikannya ideal untuk server dan klien.

Bagan di atas membandingkan kinerja kompresi algoritma kompresi brotli , bzip2 , gzip , dan xz . GZIP kalah dalam uji rasio kompresi dengan selisih tipis, tetapi untuk kecepatan kompresi dan dekompresi, GZIP mengalahkan persaingan secara langsung.
Melihat grafik kecepatan kompresi, kita dapat menyimpulkan bahwa GZIP sangat ideal untuk kompresi real-time di server HTTP dan aliran data lainnya di web. Mempertimbangkan semua hal positif dalam memajukan web, IETF meratifikasi GZIP sebagai salah satu dari tiga format standar untuk kompresi di HTTP/1.1.
Catatan: Sebuah abstraksi dari perpustakaan kompresi GZIP yang disebut zlib digunakan di banyak sistem operasi populer (Linux, macOS, iOS) dan konsol game modern (PlayStation 4, Wii U, Xbox One). Ini juga digunakan dalam format file PNG lossless untuk mengompresi gambar.
6 Keuntungan Kompresi GZIP
Mari kita lihat lebih dekat keuntungan paling penting dari kompresi GZIP.
Memberikan Rasio Kompresi yang Layak
Seperti yang telah dibahas sebelumnya, GZIP tidak memiliki rasio kompresi terbaik dibandingkan pesaingnya. Tapi itu juga tidak terlalu jauh dari mereka. Biasanya, ini dapat membantu Anda mengurangi ukuran sumber daya berbasis teks hingga 70-90%.
Kompresi dan Dekompresi Super Cepat
Untuk kecepatan kompresi dan dekompresi data, GZIP adalah pemenangnya. Ini sangat diinginkan untuk kompresi on-the-fly di server HTTP dan aliran data lainnya.
Membutuhkan Memori Sangat Sedikit
GZIP meninggalkan jejak memori minimal, sehingga cocok untuk server dan sistem dengan kapasitas memori terbatas. Oleh karena itu, Anda akan menemukannya didukung oleh penyedia hosting web termurah sekalipun.
Tidak Berkembang Banyak Bahkan dalam Kasus Terburuk
Algoritme kompresi data lossless seperti GZIP memiliki batasan ketat di mana mereka tidak dapat mengompresi data.
Biasanya, ini terjadi ketika sumber daya sudah dikompresi dengan baik, atau jika kecil dan biaya tambahan untuk menambahkan kamus GZIP lebih tinggi daripada penghematan kompresi. Kita dapat menghubungkan fenomena ini dengan konsep yang disebut entropi encoding. GZIP sangat tahan terhadap efek ini.
Gratis untuk Digunakan dan Sumber Terbuka
GZIP terutama dibuat sebagai pengganti open source gratis untuk program kompres yang dipatenkan yang digunakan pada sistem Unix awal. Dengan demikian, tidak dibebani hak paten dan dapat digunakan secara bebas oleh siapa saja.
Nikmati Dukungan Universal
Menurut W3Techs, kompresi GZIP digunakan oleh 82% dari semua situs web yang mereka lacak, menjadikannya algoritme kompresi yang paling banyak digunakan di seluruh web.
GZIP didukung oleh hampir semua server dan klien. Di server mana pun Anda menghosting situs, Anda dapat mempercepatnya dengan mengaktifkan GZIP di dalamnya.
Peringatan GZIP di Alat Pengujian Kecepatan Situs Web
Selain minifikasi, mengaktifkan GZIP adalah salah satu pengoptimalan kecepatan paling sederhana dan efektif yang dapat Anda terapkan di situs web Anda.
Ini juga salah satu cara termudah untuk mengoptimalkan WordPress. Meskipun demikian, banyak situs WordPress masih tidak menggunakannya.
Saat Anda mengunjungi situs web, browser Anda memeriksa apakah server web telah mengaktifkan GZIP dengan memeriksa content-encoding: gzip
. Jika tajuk ada, itu mengambil file terkompresi, mendekompresnya, dan kemudian menyajikan file yang lebih kecil kepada Anda secara otomatis.

Jika browser tidak mendeteksi header respons GZIP, browser akan mendownload file yang tidak dikompresi. Dalam kebanyakan kasus, perbedaan kecepatan pemuatan halaman bisa beberapa detik. Oleh karena itu, jika Anda tidak mengaktifkan GZIP, Anda akan melihat peringatan di alat pengujian kecepatan situs web.
Peringatan GZIP di Google PageSpeed Insights / Lighthouse
Google PageSpeed Insights menampilkan peringatan saat Anda tidak mengaktifkan kompresi teks di situs web Anda.
Catatan: Google PageSpeed Insights dan Google Lighthouse adalah dua alat pengujian kinerja situs web yang terpisah. Mereka bekerja secara independen satu sama lain hingga 2018, ketika Google meningkatkan PageSpeed Insights untuk menggunakan Lighthouse sebagai mesin analisisnya. Oleh karena itu, PageSpeed Insights dan Lighthouse adalah satu dan sama sekarang.

Dalam contoh situs di atas, mengompresi sumber daya berbasis teks dapat mengurangi bobot halaman lebih dari 78% dan mempercepat waktu buka halaman sebesar 2,1 detik .
Catatan: PageSpeed Insights bergantung pada header respons yang dikembalikan ke browser Anda oleh server. Terkadang, ini mungkin menampilkan peringatan palsu bahkan ketika Anda mengaktifkan kompresi GZIP. Mungkin karena menjalankan tes kecepatan pada mesin yang menggunakan server proxy perantara atau perangkat lunak keamanan. Mereka dapat mengganggu pengunduhan file terkompresi dari server eksternal.
Peringatan GZIP di GTmetrix
GTmetrix menampilkan peringatan jika situs web Anda tidak menyajikan sumber daya berbasis teks terkompresi. Seperti Google PageSpeed Insights, ini juga akan menunjukkan potensi penghematan yang dapat Anda capai.

Catatan: GTmetrix sedang meningkatkan algoritme uji kecepatannya untuk menggantikan pustaka PageSpeed Insights dan YSlow lama dengan metrik Google Lighthouse terbaru. Anda dapat mengharapkan peringatan kompresi GZIP-nya mirip dengan yang ditunjukkan oleh Lighthouse.
Peringatan GZIP di Alat Pingdom
Pingdom Tools mengeluarkan peringatan langsung untuk mengompresi komponen situs web Anda dengan GZIP.

Di bagian deskripsi, Pingdom Tools juga memberi Anda beberapa statistik tentang pentingnya GZIP. Kacang keren!

Peringatan GZIP di WebPageTest
WebPageTest menampilkan peringatan di tab Tinjauan Kinerja jika mendeteksi bahwa respons yang dapat dikompresi tidak disajikan dengan cara yang paling optimal.

WebPageTest juga akan memberikan skor bergradasi untuk menunjukkan seberapa parah peringatan tersebut. Misalnya, peringkat peringatan di atas 23 dari 100, yang berarti Anda harus memperbaikinya sebagai prioritas.
Cara Memeriksa Apakah Kompresi GZIP Diaktifkan
Header HTTP Accept-Encoding: gzip, deflate
didukung oleh semua browser modern secara efektif. Oleh karena itu, sebagian besar host web, termasuk Kinsta, mengaktifkan kompresi GZIP secara default di semua server mereka.
Saat server web melihat header ini dikirim oleh browser, mereka mengenali dukungan browser untuk GZIP dan merespons dengan respons HTTP terkompresi menggunakan content-encoding: gzip
.
Tetapi jika Anda menggunakan penyedia hosting WordPress lain, atau jika Anda hanya ingin mengonfirmasi apakah situs web Anda menyajikan konten terkompresi GZIP dengan benar, selalu periksa apakah itu diaktifkan.
Berikut adalah beberapa cara mudah untuk memeriksa kompresi GZIP.
1. Alat Uji Kompresi GZIP Online
Menggunakan alat online adalah cara termudah untuk memeriksa apakah kompresi GZIP diaktifkan di situs web Anda. Saya sarankan menggunakan alat Periksa Kompresi GZIP atau Uji Kompresi HTTP gratis. Cukup masukkan URL situs web Anda dan tekan tombol Periksa atau Uji .
Kedua alat online ini akan menunjukkan kepada Anda laporan singkat tentang apakah GZIP diaktifkan atau tidak, dan jumlah transfer data yang telah Anda simpan (atau mungkin hemat) dengan menyajikan URL uji dengan kompresi GZIP diaktifkan.
Alat pertama juga akan menampilkan informasi relevan lainnya seperti jenis server situs web Anda, jenis konten, dan waktu kompresi.


Anda harus memperhatikan bahwa pengoptimalan GZIP tidak hanya berhenti di halaman web Anda, tetapi juga mencakup aset berbasis teks statis seperti lembar gaya, skrip, dan font. Jika Anda menggunakan CDN untuk menyajikan aset ini, Anda perlu memastikan bahwa CDN juga menyajikannya dengan kompresi GZIP yang diaktifkan.
Kebanyakan CDN modern seperti Cloudflare, Kinsta CDN, KeyCDN, dan CloudFront mendukung kompresi GZIP. Anda dapat menguji aset yang disajikan oleh CDN untuk kompresi GZIP dengan menautkan langsung ke aset.

Dalam laporan di atas, Anda dapat melihat bahwa Kinsta CDN menggunakan mesin KeyCDN, yang merupakan CDN tarik tradisional. Jika Anda menggunakan Kinsta untuk menghosting situs WordPress Anda, Anda tidak perlu khawatir tentang kompresi GZIP karena ini diaktifkan secara default.
2. Tajuk Respons HTTP “pengkodean konten: gzip”
Cara kedua untuk memverifikasi apakah situs web mengirimkan konten terkompresi GZIP adalah dengan memverifikasi content-encoding: gzip
.
Bosan dengan dukungan hosting WordPress level 1 di bawah standar tanpa jawaban? Coba tim dukungan kelas dunia kami! Lihat rencana kami
Anda dapat membuka Chrome DevTools atau Firefox Developer Tools dan mencari tajuk respons ini di bawah bagian Jaringan .
Saya sudah menunjukkan tampilannya di Chrome DevTools sebelumnya. Berikut tampilannya di Alat Pengembang Firefox.

Anda juga dapat mengaktifkan opsi "Gunakan baris permintaan besar" di panel pengaturan Chrome DevTools untuk melihat ukuran halaman asli dan terkompresi. Seperti yang Anda lihat di bawah, ukuran halaman asli berkurang dari 118 KB menjadi hanya 22,9 KB setelah mengompresinya dengan GZIP.

3. Alat Pengujian Kecepatan Halaman Web
Sebagian besar alat pengujian kecepatan situs web akan memperingatkan Anda untuk tidak menggunakan kompresi seperti GZIP untuk melayani halaman web Anda. Banyak pembaca yang tiba di artikel ini mungkin datang karena peringatan GZIP ini, banyak di antaranya telah saya bahas secara mendalam di atas.

Anda dapat menggunakan alat seperti PageSPeed Insights, GTmetrix, Pingdom Tools, dan WebPageTest untuk memeriksa apakah kompresi GZIP telah diaktifkan di situs WordPress Anda.
Cara Mengaktifkan Kompresi GZIP
Jika Anda tidak mengaktifkan kompresi GZIP di server web Anda, ada banyak cara untuk mengaktifkannya. Metode yang tepat tergantung pada server web yang Anda gunakan untuk meng-host situs web Anda.
Penting: Seperti biasa, buat cadangan file konfigurasi situs dan server Anda sebelum mengeditnya.
Aktifkan GZIP dengan Plugin WordPress
Cara termudah untuk mengaktifkan kompresi GZIP di situs WordPress Anda adalah dengan menggunakan caching atau plugin pengoptimalan kinerja.
Misalnya, jika Anda meng-host situs WordPress Anda di server web Apache, W3 Total Cache menyertakan opsi untuk mengaktifkan kompresi GZIP di bawah panel pengaturan Cache Browser .
Demikian juga, WP Rocket memungkinkan Anda menambahkan aturan kompresi GZIP secara otomatis. Plugin ini mengaktifkan kompresi GZIP dengan menambahkan modul mod_deflate
Apache ke file .htaccess.

Plugin WordPress memerlukan izin untuk memodifikasi file di server web Anda. Jika mereka tidak memiliki izin yang tepat, maka mereka akan gagal atau menunjukkan kesalahan kepada Anda.
Dalam kasus seperti itu, Anda perlu menghubungi penyedia hosting Anda atau memodifikasi file konfigurasi server web Anda secara manual menggunakan cuplikan kode di bawah ini.
Catatan: Kinsta telah mengoptimalkan platformnya untuk kinerja tinggi, keandalan, dan keamanan. Ini juga termasuk mengaktifkan kompresi GZIP secara default untuk semua paket hostingnya.
Karena plugin caching pihak ketiga dapat menyebabkan konflik dengan optimasi kinerja internal Kinsta, Kinsta tidak mengizinkan sebagian besar dari mereka di servernya. Untuk informasi lebih lanjut, Anda dapat melihat daftar lengkap plugin Kinsta yang dilarang.
Aktifkan GZIP di Server Web Apache
Menurut Netcraft, Apache melayani situs yang lebih aktif daripada server web lain yang digunakan saat ini. Ini juga salah satu dari dua server web yang direkomendasikan oleh WordPress.
Untuk mengaktifkan kompresi GZIP di server Apache, Anda perlu menggunakan modul mod_filter
dan mod_deflate
dan mengonfigurasinya dengan benar dengan arahan yang benar. Mereka akan mengarahkan Apache untuk mengompresi keluaran server sebelum mengirimkannya ke klien melalui jaringan.
Anda memiliki dua opsi untuk mengedit konfigurasi server Apache berdasarkan tingkat akses yang Anda miliki:
- Jika Anda dapat mengakses file konfigurasi server utama (biasanya disebut httpd.conf ), Anda disarankan untuk menggunakannya untuk mengkonfigurasi Apache karena file .htaccess dapat memperlambat Apache.
- Jika Anda tidak dapat mengakses file konfigurasi server utama, yang biasanya terjadi pada sebagian besar penyedia hosting bersama WordPress, maka Anda perlu mengonfigurasi Apache menggunakan file .htaccess .
Opsi pertama hanya untuk sysadmin, karena penyedia hosting jarang mengizinkan Anda untuk mengedit file konfigurasi server utama. Menjelaskan bagaimana melakukannya dengan cara ini berada di luar cakupan artikel ini. Anda dapat merujuk ke contoh Apache Server Configs yang dibagikan oleh proyek HTML5 Boilerplate dan dokumentasi Apache untuk memulai.
Opsi kedua sangat ideal untuk sebagian besar pemilik situs WordPress karena banyak penyedia hosting bersama memungkinkan Anda untuk mengedit file .htaccess .
Untuk memulai, gunakan SFTP atau pengelola file online host Anda untuk menemukan file .htaccess di direktori root situs WordPress Anda. Kemudian tambahkan potongan kode di bawah ini ke dalamnya.
Penting: Pastikan modul mod_filter
aktif di server Anda. Sebagian besar web host telah mengaktifkannya secara default, tetapi jika tidak, direktif AddOutputFilterByType
tidak akan berfungsi dan mungkin memunculkan kesalahan HTTP 500. Anda dapat memeriksa log kesalahan server jika mengalami masalah setelah menambahkan cuplikan kode di bawah ini.
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for ancient browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Tambahkan kode di atas hanya setelah arahan yang ada dari file .htaccess Anda. Simpan file dan kemudian periksa apakah itu mengaktifkan kompresi GZIP di server Anda.

Server web Anda sekarang harus menyajikan file terkompresi untuk semua ekstensi file yang tercantum di atas. Anda dapat mengkonfirmasi ini dengan menggunakan salah satu metode yang disebutkan sebelumnya.
Jika Anda ingin memastikan bahwa proxy dan perangkat lunak keamanan di sisi klien tidak mengganggu kompresi GZIP, Anda dapat mengganti cuplikan kode di atas dengan yang di bawah ini.
<IfModule mod_deflate.c> # force compression for clients that mangle 'Accept-Encoding' request headers <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # compress all output with one of the following file extensions <IfModule mod_filter.c> AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/geo+json" \ "application/vnd.ms-fontobject" \ "application/wasm" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "font/otf" \ "font/ttf" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "text/cache-manifest" \ "text/calendar" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/markdown" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml" </IfModule> # define and map media types to their appropriate encoding type # Using SVG format (Scalable Vector Graphics) is highly recommended to # load logos, icons, text, and simple images. You can compress .SVG files # further using GZIP to create .SVGZ files. However, most browsers don't # know that they need to decompress them first if they're not served # without an appropriate 'content-encoding' HTTP response header. Thus, # these images wouldn't show up in the browser. Hence, this module. <IfModule mod_mime.c> AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> </IfModule>
Anda dapat mempelajari lebih lanjut tentang semua arahan yang digunakan di sini dengan membuka repositori kodenya dan mengikuti semua sumber daya yang ditautkan di sana.
Aktifkan GZIP di Server Web Nginx
Sesuai Netcraft, Nginx adalah server web yang paling banyak digunakan oleh komputer yang menghadap ke web. Jika tren saat ini berlanjut, Apache akan segera menyusul menjadi server web yang paling banyak digunakan oleh situs aktif. Bahkan Kinsta menggunakan Nginx untuk mendukung solusi hosting yang dioptimalkan kinerjanya untuk WordPress.
Anda dapat mengaktifkan kompresi GZIP di server web Nginx Anda dengan menggunakan arahan yang ditentukan dalam ngx_http_gzip_module.
Untuk memulai, tambahkan arahan yang diberikan di bawah ini ke file nginx.conf Anda. Biasanya, Anda dapat menemukan file ini di lokasi /etc/nginx/nginx.conf
server Anda.
# enables GZIP compression gzip on; # compression level (1-9) # 6 is a good compromise between CPU usage and file size gzip_comp_level 6; # minimum file size limit in bytes to avoid negative compression outcomes gzip_min_length 256; # compress data for clients connecting via proxies gzip_proxied any; # directs proxies to cache both the regular and GZIP versions of an asset gzip_vary on; # disables GZIP compression for ancient browsers that don't support it gzip_disable "msie6"; # compress outputs labeled with the following file extensions or MIME-types # text/html MIME-type is enabled by default and need not be included gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/otf font/ttf image/bmp image/svg+xml text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
Jika situs Anda menyajikan file JS dan CSS berukuran besar, Anda dapat meningkatkan ukuran buffer yang digunakan untuk kompresi dengan menambahkan arahan berikut ke file nginx.conf Anda:
# sets the 'number' and 'size' of buffers for GZIP compression # default buffer size is 4K or 8K depending on the platform gzip_buffers 16 8k;
Jangan lupa untuk memuat ulang Nginx setelah menyimpan file nginx.conf Anda.
sudo service nginx reload
Terakhir, Anda harus menguji untuk melihat apakah server Anda mengaktifkan kompresi GZIP. Anda dapat merujuk ke dokumentasi Nginx untuk daftar terbaru dari semua arahan ngx_http_gzip_module
.
Aktifkan GZIP di Server Web IIS
Layanan Informasi Internet (IIS) Microsoft adalah server web terpopuler ketiga yang digunakan saat ini. IIS terutama digunakan di lingkungan perusahaan yang berjalan di Windows, terutama untuk menyiapkan server intranet dan ekstranet khusus perusahaan.
Ini jarang digunakan untuk meng-host situs WordPress karena berbagai masalah kompatibilitas.
Namun, jika Anda berada dalam salah satu situasi langka di mana Anda perlu mengaktifkan kompresi GZIP di IIS, Anda dapat merujuk ke dokumentasi Microsoft untuk memulai. Anda mungkin juga menemukan utas Stack Overflow ini bermanfaat.
Alternatif untuk Kompresi GZIP
Dunia kompresi data di web selalu maju. Dengan ukuran rata-rata halaman yang terus meningkat, teknologi web mencoba mengejarnya juga untuk membuat transfer data melalui web menjadi lebih efisien.

Algoritma kompresi baru telah mendapatkan popularitas luas selama beberapa tahun terakhir: Brotli. Mengompresi font web WOFF2 pada awalnya adalah fokus utama Brotli, tetapi sejak itu diperluas untuk mendukung kompresi untuk semua jenis data.
Brotli mengompresi data lebih baik daripada GZIP, tetapi membutuhkan lebih banyak waktu dan sumber daya untuk mengompresi data. Namun, waktu dekompresinya sebanding dengan GZIP, meskipun masih sedikit lebih lambat.

Sebagian besar browser mendukung Brotli hari ini, tetapi menggunakannya di situs WordPress masih agak rumit. Anda harus menghosting situs Anda dengan penyedia hosting yang mendukung Brotli atau mengizinkan Anda untuk menginstal perpustakaan Brotli. Sebagian besar host WordPress yang dikelola belum mendukungnya secara langsung, tetapi jika Anda menggunakan CDN seperti Cloudflare atau KeyCDN, Anda dapat mengaktifkannya dengan mudah.
Brotli menunjukkan janji besar untuk aset statis kompresi. Akamai telah menerbitkan artikel terperinci yang membandingkan Brotli vs GZIP. You can check it out to learn more about Brotli.
Ringkasan
A well-optimized web is great for everyone. Users love snappier websites, website owners love the reduced hosting charges, and web hosts love the optimization achieved on their servers. Compression techniques like GZIP are one of the best ways to speed up page load times for your visitors.
WordPress site owners can speed up their sites instantly by enabling GZIP compression. Kinsta enables it by default on all its servers, but for others, this article covers multiple ways to enable GZIP compression on various web servers.
Speed is critical for any website. Just compress!