Tips Improvement WordPress : Disable wp-cron.php
2 hari terakhir, blog saya ini beberapa kali down, padahal web hosting yang saya gunakan merupakan web hosting private milik Excellent yang jumlah accountnya terbatas. Dengan memory VPS sebesar 4 GB dan 4 vCPU, semestinya hosting tidak sampai down.
Website/blog https://www.vavai.com memang website saya dengan hits paling tinggi dibandingkan dengan website saya yang lain. Meski demikian, semestinya akses ke blog akan cukup responsif dan tidak terlalu slow apalagi sampai down beberapa kali.
Jika saya lihat log di server, hosting down karena ada akses ke wp-cron.php yang membuat CPU spike ke level yang cukup tinggi. Apa sih fungsi wp-cron.php itu? wp-cron.php adalah WordPress task scheduler yang menangani beberapa fungsi scheduling, misalnya pengecekan updates, posting terjadwal dan beberapa fungsi lain yang terkait dengan sistem WordPress.
Secara normal mestinya wp-cron tidak menjadi issue. WP-cron bisa menjadi masalah karena ada 2 sebab : pertama karena wp-cron berjalan tiap kali ada loading page. Ini berarti bahwa baik dibutuhkan atau tidak, wp-cron akan berjalan dan prosesnya akan membutuhkan waktu. Kedua, jika website tidak bisa diloading, wp-cron akan punya sekumpulan tugas yang harus diselesaikan yang otomatis akan memakan waktu yang lebih lama untuk penyelesaiannya.
Baca-baca beberapa artikel, sepertinya blog saya masih bisa hidup tanpa wp-cron sekalipun. Jadi saya memilih untuk sekalian saja menonaktifkan wp-cron.php. Caranya adalah sebagai berikut :
- Buka file wp-config.php yang ada pada root folder website berbasis WordPress
- Sebelum tulisan berikut : “That’s all, stop editing”, tambahkan baris ini :
[code lang=”bash”]
define(‘DISABLE_WP_CRON’, true);
[/code] - Simpan file wp-config.php
Setelah hal diatas dilakukan, semestinya wp-cron.php akan otomatis didisable.
Bagaimana jika kita ingin menjalankan file tersebut karena ada kebutuhan tertentu? Jika punya akses ke konsole, bisa set cron tab seperti contoh berikut ini :
[code lang=”bash”]
0,20,40 * * * * /usr/bin/php /home/namauser/public_html/wp-cron.php >/dev/null 2>&1
[/code]
Contoh diatas akan memanggil wp-cron.php setiap 20 menit sekali sehingga cronjob bisa tetap berjalan namun disisi lain juga tidak mengganggu operasional sistem.
Setelah hal diatas saya lakukan, akses ke blog ini lebih responsif dan stabil. Kata saya lho ya 😀
Solusinya bisa dengan menggunakan Real Time Cron Job. Saya pakai teknik ini dan terbukti speed loading bisa naik.