Professional Documents
Culture Documents
Content/File Caching
Setiap kali web dinamis diakses, request dari visitor melalui browser dan script PHP diproses oleh server (serta melakukan query database untuk mengambil data) sebelum ditampilkan kembali dalam bentuk halaman HTML. Web dinamis atau blog dengan jumlah pengunjung kecil mungkin tidak terlalu terpengaruh dengan proses tersebut, tetapi pada website dengan ribuan pengunjung dan jutaan pageviews bisa mempengaruhi kinerja server dengan banyaknya database yang di-query-kan. Komunitas pengguna WordPress telah menyediakan salah satu solusi masalah ini dengan plugin file caching. Plugin jenis ini menghasilkan file statis salinan yang ringan diakses dan membantu mengurangi beban server. Beberapa plugin jenis ini diantaranya
1.1. WP-Cache
Menyimpan versi statis blog yang bisa diakses. Plugin ini mengurangi kerja database walaupun masih menggunakan PHP engine untuk menjalankannya.
1.3. DB Cache
Melakukan proses caching pada query database, bukan output HTML.
1.4. Batcache
Menggunakan sistem memcached untuk menyimpan dan menampilkan halamanberbeda dengan plugin caching berbasis file statis.
backup database dulu sebelum memakainya, dan pastikan jangan mencoba mengombinasikan bermacam-macam plugin caching tersebut.
2. Kompresi Output
Teknik kompresi file cukup ampuh menghemat bandwidth dan mempercepat akses. Konten yang terkompres berukuran lebih kecil saat diunduh sebelum di-uncompress lagi oleh browser. Ada beberapa metode kompresi file
2.1. GZip
Metode ini bisa dilakukan pada server Apache, dengan menambahkan baris berikut pada berkas .htaccess [code lang="text"]php_value output_handler "ob_gzhandler"[/code] Sumber: Sunaryo Hadi Plugin WP Super Cache telah menyediakan fungsi gzip, untuk kompresi CSS dan JavaScript untuk meningkatkan kecepatan dan mengurangi penggunaan bandwidth.
2.2. Deflate
Server Apache versi baru memungkinkan perintah mod_deflate dijalankan dengan baris berikut pada file .htaccess
[code lang="text"] <IfModule mod_deflate.c> # DEFLATE by type - html, text, css, xml AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml # DEFLATE by type - javascript AddOutputFilterByType DEFLATE application/x-javascript application/javascript text/javascript text/x-js text/x-javascript # DEFLATE by extension AddOutputFilter DEFLATE js css htm html xml # Drop problematic browsers BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Panduan Lengkan Menjadi Master Wordpress 70 By : Fegi Setiawan
</IfModule> [/code] Informasi selengkapnya bisa dibaca di G-Loaded Journal, beer planet, Brightscape Blog, dan WordPress Codex.
4. Optimasi Gambar
4.1. CSS Sprite
Prinsipnya dengan menggabungkan dua atau lebih gambar menjadi satu, dan mengatur positioning masing-masing bagian gambar dengan CSS. Contoh implementasinya pernah saya tulis pada tutorial membuat dynamic highlighting menu. CSS sprite banyak digunakan untuk membuat rollover effect pada tautan. Layanan SpriteMe bermanfaat untuk mengombinasikan beberapa image menjadi CSS sprite. Selain itu, plugin WordPress yang memanfaatkan cara ini adalah cSprites.
[code lang="sql"] DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' [/code] Men-disable-kan fitur ini bisa dilakukan dengan menginstal plugin Disable Revisions and Autosave.
Cache-control headers diterapkan dengan menambahkan baris berikut pada .htaccess [code lang="text"] # EXPIRATION HEADERS FOR IMAGES # note: 2592000 seconds = 1 month ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/png A2592000 ExpiresByType image/jpg A2592000 ExpiresByType image/tif A2592000 ExpiresByType image/ico A2592000 [/code]
8. Hotlink Protection
Metode ini untuk mencegah pencurian bandwidth yang dilakukan oleh situs lain terhadap file-file statis (biasanya gambar). Walaupun tidak mempengaruhi performa blog kita secara langsung, tetapi tindakan seperti itu akan mempengaruhi kerja server yang menyimpan filefile tersebut. Hotlink protection diimplementasikan menggunakan .htaccess
[code lang="text"] # HOTLINK PROTECTION <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g?|png)$ [NC] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?domain\. [NC] RewriteRule \.(gif|jpe?g?|png)$ - [F,NC,L] </ifModule> [/code] Informasi lain mengenai pemanfaatan HTAccess bisa dibaca di 10 Cara Mengamankan WordPress dengan .htaccess
9. Conditional Tags
Plugin yang memuat JavaScript tersendiri, seperti cForms, punya pilihan untuk menyertakan file JavaScript tersebut pada halaman tertentu (misal halaman Contact), sehingga pemakaiannya lebih efektif dan efisien tanpa memperlambat akses halaman lain seperti homepage (yang tidak menampilkan form kontak). Namun, tidak semua plugin punya kapabilitas seperti itu. Solusinya dengan memanfaatkan Conditional Tags untuk menyertakan file pada halaman tertentu saja. Mungkin cara ini terlihat terlalu teknis dan rumit, karena harus mengedit file plugin yang dipakai. Informasi lengkap bisa dibaca di blog Justin Tadlock, White Shadow, dan Coen Jacobs.
Pilih dan masukkan pinging service secara bijak, karena semakin banyak ping akan menambah beban server dan memperlambat posting artikel. Panduan Lengkan Menjadi Master Wordpress 76 By : Fegi Setiawan
Update: Daftar pinging service yang direkomendasikan dan up-to-date bisa disalin dari Vladimirs WordPress Ping List, WordPress Pinglist, dan Update Services WordPress Codex (thanks imadewira atas permintaannya).
Gunakan Google Gears untuk mempercepat akses dashboard. Tool ini berfungsi menyimpan file statis secara lokal di dalam PC sehingga lebih cepat diakses.
13. Monitoring
Gunakan aplikasi monitoring seperti Yahoo! YSlow atau Google Page Speed. Tool tersebut mampu menganalisis dan memberi rekomendasi penting untuk mempercepat blog kita. Plugin WP System Health cukup berguna untuk memonitor penggunaan memori server dan database WordPress. Selamat mencobadan perlu diingat juga bahwa kecepatan akses blog juga dipengaruhi oleh performa dan lokasi server (hosting), serta koneksi internet yang digunakan.
</ifModule>
Letakan kode di atas di .htaccess. di bagian mana saja. Lebih baik di bagian bawah.
Rasakan sendiri setelah beberapa hari apakah ada penghematan dalam bandwith. Kalau di hosting saya script ini cukup berkerja.
Note : Jangan banyak menggunakan gambar atau flash di blog anda. Gunakanlah gambar/flash secara bijaksana. Memang flash akan membuat blog anda terlihat keren tapi dari segi kecepatan ini sungguh sangan lambat sekali. Pengunjung tidak suka dengan blog yang berat mereka mungkin akan pergi terlebih dahulu sebelum masuk ke web anda karena untuk load 1 page saja lama.