Tidak terasa, ini adalah guest post ke 5 saya di psddesain.com :). Anyway, kembali ke topik bahasan.
Beberapa minggu yang lalu, beberapa pengunjung blog saya, majuterus, mengeluh karena akses blog yang lambat. Ketika saya cek di pingdom tool, ternyata waktu loading untuk membuka homepage blog saya mencapai 15 detik. Memang terlalu lambat.
Karena itu saya berusaha mempercepat waktu loading blog saya. Setelah melakukan berbagai macam percobaan teknik optimalisasi, hasil tes yang saya dapat dari pingdom tool sekarang rata-rata adalah 1.4 detik. Sebuah peningkatan kecepatan load blog yang signifikan mengingat saya hanya memakai web host gratisan.
Lalu bagaimana caranya untuk mencapai waktu load yang cepat? Kunci utamanya adalah, semakin kecil dan sedikit file yang perlu diload, maka semakin cepat pula blog anda akan diakses. Dan di bawah ini adalah cara-cara yang saya tempuh.
1. Menggunakan Kompresi (Gzip)
Ketika ada seseorang mengunjungi blog kita, maka server web host akan membuat file HTML yang kemudian dikirimkan ke browser pengunjung tersebut. Namun bila kita mengaktifkan fitur kompresi, maka file yang dikirim bukan lagi dalam bentuk HTML, melainkan dalam bentuk file kompresi (gzip). Sehingga file HTML kita bisa menjadi 50% – 80% lebih kecil dari ukuran aslinya. Yang pada akhirnya akan mempercepat load blog kita.
Mayoritas web host telah mengaktifkan fitur kompresi ini. Namun bila belum, anda bisa meminta petunjuk dari web host anda atau dengan menggunakan plugin WordPress Gzip Compression (dengan catatan, web host anda mendukung gzip). Untuk mengetes apakah blog anda dikirimkan dalam bentuk kompresi atau tidak, silahkan cek di whatsmyip.
2. Membersihkan File PHP, CSS, dan JavaScript Tema
Di dalam file-file php tema wordpress, biasanya terdapat komentar-komentar syntax, tab, dan spasi (whitespace) yang berfungsi sebagai panduan untuk membantu atau mempermudah kita dalam mengedit tema. Namun semua itu sebenarnya hanya akan memberatkan load blog kita. Jadi saran saya, bila anda sudah puas mengedit tampilan tema, maka hapus semua komentar syntax, tab dan spasi yang ada.
Cara yang bisa dipakai untuk menghapus ada 2, yaitu :
1. Otomatis.
Anda cukup memasang plugin wordpress seperti WP-Minify atau W3 Total Cache maka otomatis file wordpress anda akan dibersihkan. Sedikit kelebihan dengan memakai plugin ini adalah mereka juga bisa menyatukan beberapa file CSS dan JavaScript untuk mengurangi HTTP Requests.
2. Manual.
Ini adalah cara yang saya pakai, karena prinsip saya jika bisa melakukannya sendiri, kenapa harus memakai plugin? Caranya dengan copy syntax file-file PHP tema wordpress (terutama header.php, index.php, home.php, footer.php, single.php, page.php, dan search.php), lalu bersihkan dengan menggunakan jasa Digital Coding. Dan hasil pembersihan di copy paste kembali ke dalam file-file tema tersebut. Dengan cara ini file HTML saya yang semula 39 KB sekarang menjadi 18.5 KB (sebelum dikompresi lagi dengan gzip).
Lalu untuk membersihkan CSS, saya menggunakan jasa YUI Compressor. Sedangkan untuk mengecilkan dan menggabungkan beberapa JavaScript menjadi 1 file, saya menggunakan jasa UglifyJS.
NB: Sangat disarankan untuk melakukan percobaan ini di komputer sendiri dengan menggunakan WAMPP, XAMPP, MAMP dll. Jangan di live site.
3. Delete Plugin Yang Tidak Perlu
Memang dengan banyaknya plugin dengan fitur-fitur yang menarik yang tersedia di internet akan membuat kita tergiur untuk memasangnya di blog. Namun pertanyaan mendasar yang harus kita tanyakan kepada diri kita sebelum memasang plugin tersebut adalah, apakah kita benar-benar memerlukannya?
Ketika kita memasang plugin, sebenarnya kita juga menambahkan javascript dan CSS bawaan plugin tersebut. Tambahan javascript dan CSS berarti akan menambah waktu load blog kita. Jadi saran saya, simpan plugin yang bermanfaat dan selebihnya, delete.
4. Pindahkan Javascript ke bagian Footer.php
Umumnya javascript berada di antara syntax <head> </head>. Masalahnya dengan javacsript di <head> </head> adalah, ketika javascript tersebut butuh waktu lama untuk diload, maka halaman blog anda juga tidak akan muncul. Terkadang butuh refresh berkali-kali untuk bisa meload seluruh halaman blog.
Solusinya, pindahkan javascript ke file footer.php, tepat di atas syntax </body>. Sehingga konten halaman blog anda akan muncul terlebih dahulu sebelum meload javascript.
Untuk memindahkan javascript saya menggunakan plugin JavaScript To Footer. Plugin ini akan memindahkan semua javascript, termasuk javascript bawaan plugin ke footer.
5. Plugin Cache
Ketika seseorang membuka halaman blog kita, maka server akan memproses file-file wordpress agar menjadi file HTML untuk kemudian dikirim ke browser pengunjung. Dan dalam proses tersebut, plugin cache akan menyimpan file HTML yang telah diproses oleh server tadi, agar ketika ada orang lain yang mengunjungi halaman yang sama, maka yang akan dikirimkan ke komputer pengunjung adalah file HTML yang berada dalam cache. Server tidak perlu melakukan proses membuat HTML kembali. Intinya, semakin sedikit beban kerja server, semakin sedikit pula waktu yang dibutuhkan untuk load blog kita.
Dari beberapa nama plugin cache, yang sering dipakai oleh blogger adalah W3 Total Cache dan WP Super Cache. Tapi untuk saya pribadi, saya memilih Hyper Cache karena jauh lebih ringan, jauh lebih cepat dan tidak menghabiskan resource CPU server.
6. Optimalisasi Gambar
Sebuah blog tanpa gambar seperti sayur tanpa garam. Namun penggunaan gambar tanpa pengaturan yang tepat akan membawa dampak pada lambatnya loading blog. Karena itu, optimalisasi gambar sangat penting.
Bila anda mencari cara mudah untuk mengoptimalkan gambar, ada plugin wordpress bernama smushit. Ulasan lebih lengkapnya bisa anda baca di Menghemat Hosting Dengan Mengkompres Gambar.
Tapi saya pribadi lebih suka melakukannya secara manual di komputer sebelum mengunggahnya ke server. Untuk mengoptimalkan gambar saya menggunakan aplikasi ImageOptim (gratis. Mac only). Bila anda pengguna Windows, bisa menggunakan RIOT (gratis juga).
7. Menggunakan CDN (Content Delivery Network)
CDN adalah sebuah sistem untuk mengirimkan file konten statis ke jaringan server yang tersebar di lokasi geografis yang berbeda di seluruh dunia.
Bila sebuah blog dihubungkan dengan sebuah CDN, maka file konten statis yang diminta oleh pengunjung blog tersebut akan dikirimkan dari server yang terdekat dengan dia. Misal server web host kita berada di Amerika, dan blog kita dibuka oleh pengunjung dari Indonesia. Maka file konten statis yang dikirim tidak berasal dari server web host di Amerika, namun dari server terdekat yang terhubung dengan CDN, misal dari Singapura. Karena server konten statis kita lebih dekat, maka otomatis waktu loading blog kita juga akan meningkat secara drastis.
Beberapa penyedia CDN gratis yang bisa anda gunakan antara lain CoralCDN, Cloudflare, atau Speedymirror. Sedangkan untuk blog majuterus, CDN yang saya gunakan adalah GoogleAppEngine.
8. Paralel Download Dengan Sub Domain
Anda pernah menggunakan Internet Download Manager? Buat yang belum pernah menggunakan, Internet Download Manager adalah program Windows yang berfungsi untuk mempercepat proses download file dari internet. Dalam mempercepat download tersebut, Internet Download Manager menggunakan paralel download yang memungkinkan download potongan file dari beberapa domain. Sehingga proses download menjadi jauh lebih cepat kalau dibandingkan download dari 1 domain saja.
Bagaimana dengan blog kita? Blog kita juga akan bisa lebih cepat di-load kalau kita menggunakan paralel download. Jadi konten blog kita tidak didownload dari 1 domain saja, namun dari beberapa domain lain. Tapi saya tidak menyarankan anda untuk membeli domain baru. Cukup dengan membuat sub domain (bisa juga ditambah dengan CDN), maka kita bisa memaksimalkan paralel download.
Untuk referensi, silahkan lihat cara membuat cdn dengan subdomain.
9. Kurangi Jumlah Post Di Homepage
Setelah berbagai usaha optimalisasi di atas, kita akan mendapatkan hasil yang signifikan. Tapi ada satu hal lagi yang bisa membuat load blog kita menjadi lebih cepat lagi, yaitu dengan mengurangi jumlah post yang tertampil di homepage. Sebaiknya jumlah post di homepage cukup 4 saja (tergantung jenis tema blog anda).
Pengaturannya bisa anda lihat di Dashboard > Settings > Reading. Pada opsi “Blog pages show at most” isikan 4. Dan simpan.
10. Optimalisasi Table Database
Setelah puas mengobok-obok wordpress kita. Langkah terakhir, optimalisasi database anda. Untuk optimalisasi database, anda harus login ke cPanel anda > pilih myphpAdmin. Pilih semua table yang ada, lalu pilih menu Optimize Table.
Dengan 10 cara di atas, saya sudah berhasil mempercepat loading blog saya. Bagaimana dengan anda? Apa saja yang anda lakukan untuk mempercepat blog anda? Silahkan share tips anda di kotak komentar.