Mempercepat Loading WordPress dengan Zlib Compression

11 Jul. 201081 comments

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.

Artikel Yang Mungkin Berkaitan :

  1. Cara Mengganti Sparator Tag dan Category
  2. Membuat Tombol Facebook Like Tanpa Plugin
  3. Daftar Plugin Yang Saya Gunakan Di Blog Ini
  4. Mempercepat Loading WordPress Dengan WP Widget Cache
  5. Cara Setting Plugin All in One SEO Pack
  6. Menghemat Quota Bandwidth dengan HTTP Compression
  7. Cara Pasang Adsense Di Bawah Judul Postingan
  8. Cara Membuat Spoiler
  9. Mempercepat Loading WordPress Dengan DB Cache Reloaded
  10. Mematikan Fungsi Autolink di Kotak Komentar
  1. 30-12-2010 at 23:37 | #1

    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:

    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

  2. 25-2-2011 at 15:30 | #2

    bener2 salut saya mas..blog ini benar2 cepat loadingnya…

    Reply

  3. 1-3-2011 at 08:36 | #3

    mungkin kita harus coba lagi yang 1 ini

    Reply

  4. 13-4-2011 at 15:40 | #4

    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

  5. 8-6-2011 at 23:16 | #5

    Berarti klo udah dikompresi pake plugin w3totalcache, nggak perlu lg pake cara itu ya mas..

    Reply

    Alwi Reply:

    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

  6. 16-6-2011 at 21:39 | #6

    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:

    Waduh, comentnya salah kamar, ini soal setting plugin wp super cache mas…hehehe

    Reply

    Alwi Reply:

    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:

    Ini saya baru mencoba pake w3 total cache, tetapi belum mengaktifkan menu CDNnya mas, mudah2an aja gak di suspend lagi..

    Reply

  7. 24-6-2011 at 14:34 | #7

    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

  8. 16-7-2011 at 21:53 | #8

    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

  9. 29-7-2011 at 06:27 | #9

    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

  10. 8-8-2011 at 19:35 | #10

    trima ksh atas tutorial yg sangat bermanfaat ini :)
    tetap semangat :)

    Reply

Comment pages
0+8=? (Wajib diisi)