WordPress Hosting Optimization

Umumnya web wordpress itu kemooot banget. Hari ini saya mencoba membuat blog wordpress untuk Masjid Garuda (http://masjidgaruda.rajawali.web.id/) dengan teknik WordPress Hosting Optimization. Kayaknya kalau pakai turbolinks + html cache bakal kenceng webistenya. Setelah mencari-cari, konfigurasi dan plugin yang cocok, jalan, dan akhirnya dipakai adalah:

  • Host Virtual Machine di DigitalOcean yang $10 (Hosting udah pakai SSD)
  • NGINX web server
  • Ajaxify WordPress Site
  • WP Super Cache

Saya pun setup website-nya di server Digital Ocean yang $10 per bulan. Berikut ini komparasinya:

  1. Shared hosting biasa vs host VM: 3 request per second vs 65 request per second
  2. Shared hosting biasa vs host VM: 5 second page load vs 1 second page load
  3. Apache web server vs NGinx web server: 65 request per second vs 75 request per second
  4. Tanpa WP Super Cache vs Dengan WP Super Cache: 75 request per second vs 5500 request per second
  5. Tanpa WP Super Cache vs Dengan WP Super Cache: 1 second page load vs 65 milisecond page load
  6. Transisi halaman tanpa Ajaxify WordPress Site vs dengan Ajaxify WordPress Site: 3 second page render vs 300 milisecond page render

*Catatan: hasil diperoleh dari rata-rata ujicoba dan angka yang tertulis dibulatkan. Hasil mungkin berbeda dengan percobaan lain, tapi kurang lebih mirip lah.

Session Mis-Management Bug

Live Chat Support

Suatu hari, saya menggunakan aplikasi berbasis web yang memiliki fitur live chat. Awalnya saya login menggukan akun A. Lalu saya logout, dan mengganti jadi akun B. Setelah itu saya meminta live support untuk mengubah detail akun B. Namun, fitur chat support menganggap saya sedang login menggunakan akun A.

Hal ini mungkin saja terjadi, ketika user logout pada aplikasi tapi sesi live chat-nya tidak diganti karena kebanyakan live chat menggunakan 3rd party application yang di-embed pada web application, sehingga session management-nya berbeda.

Cara mengatasinya, ketika ada perubahan session di aplikasi, trigger suatu perintah untuk ganti / unset session di live chat-nya juga.

Account’s Form

Misalkan User membuka Form X yang harus ia isi dengan menggunakan akun A. Namun, karena dia agak bingung untuk mengisinya, ia logout lalu meminjam akun B dari temannya. Ia pun membuka Form X milik akun B di satu tab browser, lalu logout, dan login lagi menggunakan akun A. Ia pun melengkapi form X. Namun, setelah kira-kira setengah jam mengisi form X, ia mengirimkan form X pada kedua tab. Dan anehnya, form X yang tersave di akun B adalah yang diubah oleh akun A.

Cara mengatasinya, ketika submit form harus dibaca session siapa yang mengirim-nya. Cara lainnya, menggunakan CSRF token yang dinamis per user dan direset ketika logout.

Kesempatan Membuat Al-Qur’an Invalid

Tahukah anda, ada 2 orang yang pernah berkesempatan membuat informasi al-quran menjadi invalid, yaitu Abu Lahab dan Istrinya.

Kalaulah ketika surat Al-Lahab turun, mereka bertaubat. Otomatis pernyataan Al-Quran yang memvonis mereka ketika masih hidup akan menjadi ahli neraka, menjadi invalid. Dan 1 informasi invalid bisa membuat pernyataan “semua isi al-quran itu benar” menjadi invalid juga, dan menjadikan ketidakpastian pada informasi lainnya.

Tapi ya memang al-quran itu benar, jadi ya mereka ngga tobat juga sampe mati 😅

Semoga pada akhirnya kita termasuk orang yang beruntung, mumpung belum jelas divonis neraka-nya 😢