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
mantap…
pertama saya coba test website saya di https://developers.google.com/speed/pagespeed/insights/, lalu ada isu untuk di perbaiki, karena website saya banyak menggunakan jscript. tapi setelah cari referensi dengan bahasa inggris tidak ketemu juga, ketemulah halaman ini.
sangat-sangat membantu… terima kasih…
Congrats, saya ikut seneng sob
klo untuk blogspot ga bs ya mas??
Gak bisa klo blogger, tapi kalo gak salah sih blogger udah support compression
bagaimana caranya ditau kalo hosting kita support gzip/deflate?
Bisa dilihat di hosting kamu, atau cek output di gtmetrix.com
Om, enak pake cara diatas atau aktifkan gzip dari control panel.
Ane pernah aktifkan gzip via control panel, tapi web ane jadi aneh tampilannya.
Pilih salah satu cara saja, klo di hostingnya support gzip/deflate lebih mudah aktifkan lewat control panel saja. Tapi klo tampilannya jadi aneh bisa dicoba cara di atas secara manual.
makasih om sharenya…
ane coba dulu yaah… 🙂