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
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
ada pluginya atau tidak mas..?? mohon lebih lengkap
itu sudah mesin plugin di kodenya, jd bisa lgsung pake di functions
kalau untuk blogger aktifkan gzip bagaimana?
gzip utk blogger udah diaktifkan dari bloggernya, dan tak perlu setting lgpl user tidak bisa merubahnya langsung
master mau tanya itu buat platform blogger atau wordpress
wordpress dan semua web lain yang host sendiri selain blogger
klo di template blog cara detil nya gmn ya ?
kan itu sudah ada dijelaskan disimpan pada file header.php