Cara Nonaktifkan WP-Cron dan Ganti dengan Cron Server di cPanel: Hemat Resource, Jadwal Lebih Andal
Setiap kali ada pengunjung membuka website WordPress Anda, ada proses tersembunyi yang ikut berjalan di latar belakang: wp-cron.php. File ini menjalankan semua tugas terjadwal WordPress — dari pengecekan update plugin, pengiriman email notifikasi WooCommerce, hingga proses backup otomatis.
Kedengarannya normal. Tapi ada masalah yang jarang diketahui pemilik website: wp-cron.php berjalan setiap kali ada pageview, bukan pada interval waktu yang tetap. Kalau website Anda ramai, proses ini berjalan ratusan atau bahkan ribuan kali sehari — memboroskan resource hosting yang terbatas.

Mengapa WP-Cron Default Bermasalah?
WordPress sengaja merancang sistem ini karena tidak bisa mengandalkan cron server (yang butuh akses shell). Tapi di era hosting cPanel modern, kita bisa melakukan keduanya dengan lebih baik.
Masalah nyata wp-cron default:
- Pemborosan resource: Setiap pageview memicu PHP process baru. Pada shared hosting, ini memperlambat website saat resource penuh.
- Jadwal tidak konsisten: Jika website Anda sepi pengunjung malam hari, backup terjadwal jam 02:00 WIB mungkin tidak akan berjalan — karena tidak ada pengunjung yang memicu wp-cron.
- Celah keamanan: File
wp-cron.phpdapat dipicu secara publik dari URLhttps://websiteanda.com/wp-cron.php. Penyerang bisa membanjiri server dengan permintaan ini untuk membebani server (DoS sederhana).
- Konflik dengan plugin berat: Plugin backup seperti UpdraftPlus atau plugin WooCommerce yang punya banyak tugas terjadwal bisa saling tumpang tindih jika semuanya dipicu oleh pageview.
Solusi: Nonaktifkan WP-Cron, Ganti dengan Cron Server
Solusi terbukti: matikan wp-cron dari pageview, lalu buat cron job nyata di server melalui cPanel yang berjalan tepat waktu.
Langkah 1: Buat Cron Job di cPanel Terlebih Dahulu
Penting: Buat cron server dulu sebelum menonaktifkan wp-cron. Jika urutan terbalik, tugas terjadwal WordPress berhenti tanpa pemberitahuan.
- Login ke cPanel
- Di bagian Advanced, klik Cron Jobs
- Di bagian Add New Cron Job, atur jadwal:
- Common Settings: pilih Every 15 Minutes (atau sesuaikan)
- Isi kolom Command:
wget -q -O - https://websiteanda.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Ganti websiteanda.com dengan domain Anda yang sebenarnya.
- Klik Add New Cron Job

Catatan untuk multisite atau subdomain: Jika WordPress diinstall di subdirektori (misalnya websiteanda.com/toko), sesuaikan URL-nya: “bash wget -q -O - https://websiteanda.com/toko/wp-cron.php?doing_wp_cron >/dev/null 2>&1 “
Langkah 2: Nonaktifkan WP-Cron di wp-config.php
- Di cPanel, buka File Manager
- Navigasi ke folder
public_html(atau folder WordPress Anda) - Klik kanan
wp-config.php→ Edit - Temukan baris ini:
/* That's all, stop editing! Happy publishing. */
- Tambahkan baris berikut tepat di atas baris tersebut:
define('DISABLE_WP_CRON', true);
- Simpan file
Langkah 3: Verifikasi
Tunggu 15 menit setelah setup selesai, lalu cek apakah cron berjalan:
- Buka wp-admin → Tools → Site Health → Info → WordPress Constants
- Pastikan
DISABLE_WP_CRONbernilaitrue - Periksa apakah jadwal terjadwal di wp-admin → Tools → Scheduled Events (jika menggunakan plugin WP Crontrol) masih terdaftar
| Situasi | Solusi |
|---|---|
| Website ramai (di atas 500 visitor/hari) | Wajib: nonaktifkan wp-cron, ganti cron server |
| Website sepi (di bawah 100 visitor/hari) | Opsional: cron server lebih andal untuk jadwal malam |
| WooCommerce aktif | Wajib: banyak job terjadwal butuh waktu tepat |
| Plugin backup berjalan | Wajib: cegah backup konflik atau terlewat |
Manfaat yang Langsung Terasa
Setelah beralih ke cron server, beberapa hal yang biasanya langsung membaik:
- Performa website: PHP process tidak lagi diciptakan setiap pageview untuk tugas background
- Backup berjalan tepat waktu: Bahkan di jam sepi pengunjung
- Email WooCommerce terkirim konsisten: Notifikasi order, reminder keranjang terbengkalai (abandoned cart) berjalan di jadwal nyata
- Keamanan meningkat: Akses publik ke wp-cron.php tidak lagi berguna karena WordPress mengabaikannya dari browser

Tips Tambahan: Blokir Akses Langsung ke wp-cron.php
Setelah cron diganti, blokir akses publik ke file wp-cron.php via .htaccess:
# Blokir akses langsung ke wp-cron.php
<Files "wp-cron.php">
Order Allow,Deny
Deny from all
Allow from 127.0.0.1
</Files>
Ini mencegah penyalahgunaan file tersebut dari luar, sementara server sendiri masih bisa menjalankannya melalui cron job internal.
—
Pengaturan teknis seperti ini kecil di permukaan tapi berdampak besar pada stabilitas dan performa website bisnis jangka panjang. Jika Anda membutuhkan audit atau konfigurasi WordPress untuk bisnis Anda, antond.net menyediakan layanan konsultasi dan pemeliharaan web — hubungi kami untuk diskusi teknis gratis.