Berangkat dari pengalaman saya sendiri setelah beberapa kali pindah hosting dalam sebulan terakhir. Dimana untuk masalah kompresi file ternyata hosting yang saya pakai sekarang tidak mengaktifkan mod_deflate di servernya. Padahal Keuntungan mod_deflate ini mampu mengkompress hampir semua jenis file yang ditransfer dari sebuah server. Sebagai informasi saja, untuk mengaktifkan dan mengkompress semua jenis file ini di Cpanel dapat dicari pada Software/ Service – pilih menu Optimize Website dan compress all content. Selain itu mod_deflate dapat pula dilakukan cara manual dengan menambahkan kode pada .htacces, berikut kodenya:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# End compression
Cara Menggunakan GZIP dan Mod Deflate Compression
Bagi yang menggunakan cpanel dan support mod_deflate dapat menggunakan cara di atas. Namun sayang saya sendiri tidak dapat menggunakan cara itu, maka terpaksa saya harus menggunakan cara lain yaitu mengkompress manual menggunakan gzip compression. Sebenarnya kompressi dengan gzip lebih baik dari mod_deflate karena mampu memberikan rasio kompresi yang lebih besar. Hasil kompressi file dengan gzip dapat berkisar antara 60% – 80%, artinya untuk setiap file ukuran 100Kb dari server dapat ditransfer menjadi 60Kb – 20Kb saja. Untuk menggunakan kompressi gzip ini tambahkan kode di bawah pada header.php seperti contoh:
<?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')
{ob_start("ob_gzhandler");}
else {ob_start();}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Namun sebagai catatan, jika template tema wordpress sobat menggunakan page template (page.php) maka tidak disarankan menyimpan kode di atas pada header. Sama halnya seperti saya, kode di atas harus disimpan pada file index.php, single.php, page.php, archive.php dan 404.php. Caranya seperti ini:
<?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start("ob_gzhandler");
}
else {
ob_start();
}
?>
<?php get_header(); ?>
Jika penggunaan kode ini sudah benar maka ukuran file suatu halaman dapat dikurangi dan dapat mempercepat loading blog secara dramatis. Namun perlu diingat bahwa kompresi ini hanya berlaku pada file yang dihasilkan oleh php, sementara javascript, css dan image tidak mengalami kompresi. Adapun untuk dapat mengkompress javasript dapat dilihat caranya pada cara kompres dan memperkecil ukuran javascript.
Update: Baru-baru ini saya menemukan cara baru dan lebih simple untuk mengkompress halaman blog dengan memodifikasi plugin http compression dan diterapkan pada file functions.php sehingga cara ini dapat bekerja tanpa plugin. Silahkan simak caranya pada Tips Jitu http compression Paling Mudah
Sumber bacaan:
How To Optimize Your Site With GZIP Compression
http://www.rismaka.net/2009/06/mempercepat-loading-wordpress-dengan-http-compression.html
terikasih. cara ini sangat membantu, untuk website yg mempunyai resources content trasfer sumberdaya yg besar. jd lebih ringan di akses page web nya. 🙂 (y)
Tentu, memang itu tujuannya. SIlahkan dicoba ya..
Bermanfaat gan inpo nya
Ini sangat jarang dibpublikasikan gan, sampai-sampai saya bingung mempraktekkannya, tapi akan terus dicoba, terima kasih.
Silahkan dicoba dulu ya 😉
mantep artikelnya, perlu dipraktekin.. hehe
Wah thanks banget ilmunya OM