← Kembali ke daftar artikelArtikel

Solusi Tuntas WP-Cron WordPress: Mencegah Overload Server Akibat Trafik Bot

🗓 2 Agustus 2026✍️ Admin Sekolah

Platform WordPress memiliki mekanisme internal bernama wp-cron.php yang berfungsi mengeksekusi tugas-tugas terjadwal, seperti pembaruan plugin, pembersihan cache, notifikasi email, hingga publikasi artikel otomatis.

Secara default, WordPress mengeksekusi wp-cron.php setiap kali ada pengunjung atau robot (bot) yang membuka halaman web. Ketika situs mengalami lonjakan pengunjung—atau diserbu bot crawler otomatis—skrip wp-cron.php akan dipanggil secara masif dan bersamaan, memicu lonjakan skrip PHP (lsphp) yang menyebabkan server overload.

Solusi Arsitektur: Mengubah Cron Otomatis Menjadi Cron Terjadwal

Untuk menjaga kinerja server tetap stabil, kita perlu memisahkan pemrosesan tugas latar belakang dari trafik pengunjung biasa dengan 2 langkah utama:

  1. Menonaktifkan eksekusi wp-cron.php dari akses pengunjung.

  2. Memindahkan pemanggilan wp-cron.php ke jadwal teratur melalui cPanel Cron Jobs.

Langkah 1: Menonaktifkan WP-Cron di wp-config.php

Cara 1: Menggunakan Perintah Terminal SSH (Otomatis)

Masuk ke direktori utama website WordPress Anda (misal: cd ~/public_html), lalu jalankan skrip sed berikut:

Bash
sed -i '/DISABLE_WP_CRON/d' wp-config.php && sed -i '/That'\''s all, stop editing!/i define('\''DISABLE_WP_CRON'\'', true);' wp-config.php

Cara 2: Mengubah Manual via Nano / File Manager

Edit file wp-config.php dan tambahkan kode berikut tepat di atas baris /* That's all, stop editing! Happy publishing. */:

PHP
define('DISABLE_WP_CRON', true);

Langkah Verifikasi

Pastikan konfigurasi telah aktif dengan menjalankan perintah ini di terminal:

Bash
grep -i "DISABLE_WP_CRON" wp-config.php
  • Output yang benar harus bernilai true:

    PHP
    define('DISABLE_WP_CRON', true);
    

Langkah 2: Mengatur Cron Job Terjadwal di cPanel

Setelah cron otomatis dinonaktifkan, buat jadwal panggilan teratur dari level server:

  1. Masuk ke cPanel > cari menu Cron Jobs (Tugas Terjadwal).

  2. Di bagian pengaturan jadwal, pilih interval Setiap 15 Menit (*/15 * * * *).

  3. Pada kolom Command / Perintah, masukkan perintah wget berikut:

Bash
wget -q -O - https://domain-anda.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Catatan Sintaksis:

  • Flag -q membuat proses berjalan tanpa mencetak log berlebih (quiet).

  • Flag -O - mengarahkan output dokumen ke standard output.

  • >/dev/null 2>&1 memastikan tidak ada pengiriman email notifikasi internal yang membebankan server.

Skrip Tambahan: Memblokir Bot Crawling Agresif via robots.txt

Selain mengoptimalkan wp-cron.php, Anda juga dapat menekan penggunaan skrip PHP dari bot crawler non-mesin pencari (seperti DotBot atau AhrefsBot) dengan menambahkan aturan berikut pada file robots.txt di folder utama website Anda:

Plaintext
User-agent: DotBot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: Bytespider
Disallow: /

Kesimpulan

Dengan memisahkan eksekusi jadwal internal WordPress ke sistem Cron Job cPanel dan menghentikan zombie processes pada aplikasi Node.js/Next.js, tingkat pemanfaatan CPU, RAM, dan indikator Number of Processes (NPROC) di akun hosting Anda akan kembali stabil dan aman dari ancaman Resource Limit Reached