Mempercepat Loading WordPress dengan Zlib Compression
Salah satu cara untuk mempertahankan reputasi sebuah website atau blog, di samping konten yang berkualitas dan dibutuhkan oleh para pengunjung, kecepatan akses atau loading juga sangat penting. Jika sebuah blog susah diakses dan loadingnya lama (lola) maka siap-siap saja blog anda akan ditinggalkan oleh pengunjung, efek berikutnya hampir bisa dipastikan akan mempengaruhi traffic.
Mempercepat loading WordPress bisa dilakukan dengan berbagai macam cara seperti yang pernah saya tulis di postingan sebelumnya, Tips Menghemat Quota Bandwidth. Cara lainnya yaitu dengan menggunakan plugin DB Cache Reloaded, WP Widget Cache, http compression dengan menggunakan mod_deflate atau mod_gzip. Namun sayangnya server tempat hosting blog ini tidak mengaktifkan module tersebut, dan selama ini saya mengakalinya dengan plugin WP Super Cache, dari cache yang dihasilkan kemudian dikompress ke gzip. Tapi rupanya cara ini kurang efektif dan tidak bekerja secara maksimal, walau kecepatannya masih berfungsi namun kompresinya baru berfungsi dengan baik ketika browser pengunjung belum menghasilkan cookie.
Kemudian saya mencoba cara lain untuk metode kompressi blog ini termasuk dengan cara manual saya kompress file php, css, javascript satu persatu yang ternyata cukup menyita waktu, walaupun hasilnya tetap cukup lumayan. Sampai akhirnya saya menemukan metode kompressi file php secara otomatis, yaitu dengan menggunakan Zlib Compression.
Hampir semua web browser saat ini bisa menerima halaman web dengan kompressi GZIP atau Deflate. Webmaster dan administrator sistem juga didorong untuk menerapkan kompresi GZIP. Namun, bagi pengguna yang tidak dapat menerapkan mod_deflate dan modul mod_gzip karena tidak ada hak akses untuk memodifikasi file konfigurasi Apache karena menggunakan shared hosting, ada cara sederhana untuk menghidupkan dan mengaktifkan kompresi GZIP, khususnya untuk file-file PHP.
Caranya tambahkan kode di bawah ini pada file htaccess yang ada di root direktori :
php_flag zlib.output_compression on
Untuk blog ini di samping kode tersebut juga saya tambahkan kode lain untuk tingkat kompressinya, termasuk untuk akseleratornya karena PHP juga memiliki direktif yang dapat digunakan untuk mengatur tingkat kompresi dengan nilai yang berlaku antara 1 sampai 9, default tingkat kompresinya adalah 6 dan ternyata sudah cukup untuk menghasilkan kompresi terbaik tanpa menurunkan performa server :
php_flag eaccelerator.enable 1 php_flag eaccelerator.optimizer 1 php_flag zlib.output_compression on php_value zlib.output_compression_level 6
Setelah menambahkan kode tersebut maka setiap halaman web yang dihasilkan oleh script PHP sekarang akan dikompresi terlebih dahulu sebelum dikirim ke browser pengunjung. Dengan ukuran file yang lebih kecil permintaan halaman web dapat dipenuhi dan ditransfer menjadi lebih cepat, membebaskan proses dan sumber daya server untuk menangani permintaan lain. Hasil akhirnya adalah blog menjadi lebih cepat dan akan lebih meningkatkan pengalaman pengunjung dan berpotensi meningkatkan peringkat di search engine (SERP), karena saat ini search engine khususnya Google juga memperhitungkan kecepatan loading dalam hasil indexnya. Cara ini juga akan menghemat jatah pemakaian bandwidth.
Kekurangan menggunakan kompresi GZIP melalui Zlib Compression ini adalah bahwa hanya halaman web yang dihasilkan oleh script PHP saja yang akan dikompresi dengan pengkodean GZIP, sedangkan file lain seperti CSS eksternal atau file JavaScript tidak akan dikompresi, namun demikian hasilnya tetap lumayan bagus, sebagai solusinya, untuk file css dan javasrcipt saya kompress dengan cara terpisah (manual).
Untuk file css supaya ikut terkompress ganti ektensinya menjadi PHP, caranya bisa dibaca di postingan ini : Cara Mengoptimasi File CSS WordPress (part.1) dan Cara Mengoptimasi File CSS WordPress (part.2)
Penting : Jika ada yang ingin menerapkan cara ini di wordpress self hosting dan kebetulan menggunakan plugin yang menghasilkan Cache dan ada fitur Kompressi seperti WP Super Cache, Hyper Cache dan sejenisnya, silahkan dihapus terlebih dahulu cachenya dan didisable terlebih dahulu fungsi kompressinya pada plugin tersebut.
baru mau experiment dulu nih soalnya di tempat w jg pake shared hosting.
dah coba terapin deflate di .htaccess tapi yslow masih belum ada efek score nya masih 72 terakhir.
Thanks tutorialnya
Reply
Alwi Reply:31-01-2011 at 14:35
penerapan kompressi baik dg gzip/zlib Ini baru salah satu komponen untuk meningkatkan score / performa masih banyak yg harus dilakukan spt optimasi database, css, javascript, expired header, cache validator, dll
Reply
bener2 salut saya mas..blog ini benar2 cepat loadingnya…
Reply
mungkin kita harus coba lagi yang 1 ini
Reply
Thanks banget mas artikelnya..Saya sudah pakai DB Cache Reloaded, tapi kadang gak tau cara settingnya (misal waktu clean-nya gitu)..tapi dengan pake code ini, dalam waktu singkat langsung bisa cepat load-nya.. :D
Reply
Berarti klo udah dikompresi pake plugin w3totalcache, nggak perlu lg pake cara itu ya mas..
Reply
Alwi Reply:9-06-2011 at 12:49
Kalau servernya emang support gzip dg deflate module loaded gak usah pakai cara ini lagi tapi kalau servernya gak support gzip dg deflate module loaded tetap harus pakai cara ini untuk hasil yg maksimal seperti yg pakai saat ini
Reply
Mas mau tanya, apa ada kesalahan dalam pengaturan saya ya? di view page source hasilnya
Ini kenapa ya? mohon bantuannya mas, soalnya 2 kali kena suspend dari hosting karena load cpu tinggi dan ini mencoba untuk memakai wp super cache, baca2 di artikel tetangga dengan plugin ini bisa mengurangi load cpu. Terima kasih
Reply
Hari Reply:16-06-2011 at 21:41
Waduh, comentnya salah kamar, ini soal setting plugin wp super cache mas…hehehe
Reply
Alwi Reply:16-06-2011 at 21:51
kalau saya dulu pernah pakai wp super cache saya gabung dg db cache reloaded dan saat ini saya sudah tidak memakai keduanya (bukan berarti keduanya jelek) tapi sudah tercover dalam satu plugin yaitu w3 total cache yg saat ini saya gunakan termasuk set up CDN-nya hasilnya mantab banget,
Dg memakai plugin yg bisa membuat cache dan kompresi baik untuk file HTML, PHP, javascript, CSS dan bisa membuat cache untuk queri database maka beban kerja server akan lebih ringan, tapi jangan hanya mengandalkan plugin ini, untuk hasil yg maksimal kita bisa juga memangkas jumlah queri ke database dan membuatnya menjadi static dalam beberapa hal dan bisa memanfaatkan koding PHP untuk membuat beberapa fungsi yg tadinya harus pakai plugin bisa tanpa plugin spt membuat related post, random post, share posting dll
Reply
Hari Reply:18-06-2011 at 05:26
Ini saya baru mencoba pake w3 total cache, tetapi belum mengaktifkan menu CDNnya mas, mudah2an aja gak di suspend lagi..
Reply
langsung internal erver error mas :-(.. kompresi memang cepet wat pengunjung, tapi tidak untuk server..
Kemungkinan servernya gak support, jika cara ini gak support bisa pakai cara deflate, tutorialnya ada di sini, sedangkan untuk meringankan beban server di antaranya kita bisa pakai teknik minimize sql queries, Expired Header, dll
———————————-
Reply
sudah dilaksanakan sarannya, n lagi nunggu perubahan. titip komen ini ya mas, biar saya tau cara mana yg uda saya pakai. thanx infonya,….
langsung praktek nih soalnya……!
Reply
bang, saya mencoba mengunakan tutorial ini akan tetapi css blog saya tidak terbaca pada Google Chrome, itu kenapa ya?? saya juga telah menggunakan mod_deflate dan Minimize SQL Queries apa ada yg bentrok dengan script itu, saya menggunakan cache pakai W3 total cache
Reply
trima ksh atas tutorial yg sangat bermanfaat ini :)
tetap semangat :)
Reply