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.
Selamat pagi pak , asyik mau jadi pertama dulu
Reply
Brian Reply:11-07-2010 at 06:39
wah top koment bulan ini gila nian
Reply
Bang Iwan Reply:11-07-2010 at 07:14
Okey deh aku cuman ikutan
Reply
Bang Iwan Reply:11-07-2010 at 07:22
Sekaligus menambah pengetahuan baru yang sangat berguna
Reply
Bang Iwan Reply:11-07-2010 at 14:46
sangat ccocok untuk blog saya yang loadingnya lambat.
Reply
Bang Iwan Reply:11-07-2010 at 14:48
Moga nantinya bisa dipraktekkan.
Reply
blog mas alwi memang ringan jika dibandingkan dengan blog wp berbayar yang lain
Reply
Alwi Reply:11-07-2010 at 06:50
Akan lebih ngacir lagi jika saya hapus CBOX dan histats yg ada di sidebar karena ke 2 widget tsb menggunakan javascript yg cukup lumayan mendelay http request, tapi saat ini saya masih membutuhkannya. terutama CBOX untuk pengunjung yg mau sekedar say hello, atau promo dll
Reply
Bang Iwan Reply:11-07-2010 at 07:15
kalau Metrolisa koq lelet banget yah Kang?
Reply
Bang Iwan Reply:11-07-2010 at 07:15
Mungkin terlalu banyak widget yah?
Reply
Bang Iwan Reply:11-07-2010 at 07:16
Ayau bawaan template yang memang seperti itu?
Reply
Bang Iwan Reply:11-07-2010 at 07:18
makasih banyak Kang… mungkin dengan postingan ini saya akan berupaya untuk mencobanya.
Reply
Bang Iwan Reply:11-07-2010 at 07:18
Tapi takut malah eroor nantinya..
Reply
Bang Iwan Reply:11-07-2010 at 07:23
Soalnya ngutak atik yang seperti ini belum biasa sih.
Reply
Bang Iwan Reply:11-07-2010 at 07:25
masih belum paham tentang root direktori
Reply
Alwi Reply:11-07-2010 at 08:12
@Bang Iwan: Pertama, blm diterapkan kompressi sehingga ukuran halaman web masih besar sekali, di postingan terakhir saya cek 137 kb, untuk blog ini ukurannya rata2 hanya 7 s/d 17 kb, untuk Home ukuran aslinya hanya 28 kb setelah pakai cara ini hanya 8 kb, file css dan javascript juga saya kompress manual.
Kedua pemilihan template juga perbengaruh, kemudian accessories yg tdk begitu penting di sidebar juga ikut memperlambat.
kemudian buat permintaan queri ke database menjadi static pada string yg memang static (defaultnya tidak static) seperti carset, language, url untuk file css, javascript, feed dll yg ada di file header.php, nanti akan saya posting detilnya
kompress juga ukuran gambar pada template kalau perlu sekalian dihosting di domain/subdomain yg static
dan banyak lagi lainnya yg akan saya share di postingan berikutnya
Reply
Bang Iwan Reply:11-07-2010 at 11:27
Makasih banyak Kang…
ditunggu postingan detailnya.
Reply
Bang Iwan Reply:11-07-2010 at 14:43
ternyata perbedaanya besar sekali yah Kang…
Reply
Bang Iwan Reply:11-07-2010 at 14:43
pantesan punyaku lelet banget…
Reply
Bang Iwan Reply:11-07-2010 at 14:43
cara konfresi itu yang perlu dipelajari.
Reply
Bang Iwan Reply:11-07-2010 at 14:44
permintaan queri ke database menjadi static, ini juga saya tidak paham..
Reply
Bang Iwan Reply:11-07-2010 at 14:45
cara konfres manual juga nggak tahu caranya..
Reply
Bang Iwan Reply:11-07-2010 at 14:45
semoga semuanya bisa dijelaskan nantinya.
Reply
ditunggu postingannya kang…. terima kasih. Selamat Sore.
Reply
Bang Iwan Reply:11-07-2010 at 14:47
Moga Kang Alwi tetap sehat dan senantiasa berbagi ilmu yang bermanfaat untuk kita semuanya.
Reply
Lengkap Om,,makasih infonya…
Sayapun mencoba yang ringan aja
Reply
nice post mz
slam knal sbelumnya mz
tukeran link mz
url : [http://iyegek.co.cc]
title : Iyegek Blog
Reply
keren sekali infonya, pengen nyoba tapi bingung nih, blog ruanghati soalnya sangat lemot dan besar sekali sizenya jadi loadtimenya lama, pusing deh
Reply
Alwi Reply:28-07-2010 at 21:41
Resorcesnya bangat banget saya liat plus javascriptnya …
Reply
selamat berakhir pekan dan salam hangat selalu
Reply
Saya pake plugin gzip mas.. Buatan indonesia.. Plugin ini mengkompres smua file php scra otomatis.. Saya cek dr 150kb cm jd 10kb hehehe..
Reply
Alwi Reply:11-07-2010 at 21:31
beberapa plugin memang banyak yg ada fitur kompressi dg gzip, baik untuk php,css,javascript tapi kalau server blm mengaktifkan module deflate tetap tidak jalan, makanya sebagai gantinya saya pakai cara ini gak ada roti nasipun jadi eits kebalik yaaa
Reply
nice info nie bang,
saya juga sering mengalami masalah denga ukuran halaman website.
soalnya saya belum pernah utak-atik kompresi. dulu saya pernah pake wpp-chace tapi saya kurang faham pengaturannya,
om.
Reply
wah cara baru lagi.. boleh dicoba tuh
Reply