---
title: "Apa Itu wp-cron dan Kenapa Bisa Bikin Hosting Berat?"
description: "wp-cron menjalankan tugas terjadwal WordPress saat ada kunjungan. Pahami kenapa ini bisa membebani hosting dan cara memindahkannya ke cron server."
url: "https://nivelva.com/insight/apa-itu-wp-cron-bikin-hosting-berat"
category: "Website \u0026 Domain"
tags: ["wordpress","wp-cron","cron job","hosting","performa"]
author: "Theresia Candiawan"
published: "2026-11-07T14:05:00+07:00"
updated: "2026-11-07T14:05:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Apa Itu wp-cron dan Kenapa Bisa Bikin Hosting Berat?

> **Jawaban singkat:** wp-cron adalah penjadwal tugas bawaan WordPress yang dipicu kunjungan, bukan jam server. Di situs ramai atau dengan tugas berat, ia bisa memicu proses tambahan dan memakan CPU. Solusinya, matikan pemicu otomatis dengan DISABLE_WP_CRON lalu jalankan wp-cron.php lewat cron server.

Bayangkan kamu membuka laporan Resource Usage di cPanel dan melihat CPU akun sering mentok, padahal pengunjung tidak sedang ramai. Setelah ditelusuri, log akses dipenuhi permintaan ke satu file: `wp-cron.php`. Ini cerita yang cukup umum di hosting WordPress, dan penyebabnya ada pada cara WordPress menjalankan tugas terjadwal.

wp-cron adalah sistem penjadwal bawaan WordPress. Ia mengurus tugas seperti menerbitkan tulisan terjadwal, memeriksa pembaruan plugin, menghapus data sementara, sampai menjalankan backup dan sinkronisasi dari plugin. Bedanya dengan cron di server Linux, wp-cron **tidak berjalan berdasarkan jam**. Ia hanya bangun saat ada orang (atau bot) membuka situs.

## Cara kerja wp-cron di balik layar

Setiap kali halaman dimuat, WordPress memeriksa apakah ada tugas yang sudah jatuh tempo. Kalau ada, WordPress mengirim permintaan latar ke `wp-cron.php` di situsnya sendiri, lalu file itu menjalankan tugas-tugas yang tertunda. Ada kunci sederhana agar pemicu tidak terjadi terus-menerus, dengan jeda bawaan sekitar 60 detik.

Desain ini masuk akal untuk hosting murah zaman dulu yang tidak menyediakan akses cron. WordPress tetap bisa menjalankan jadwal di mana pun ia dipasang. Dokumentasi resmi WordPress sendiri menyebut konsekuensinya: tugas yang dijadwalkan pukul 14.00 tidak akan berjalan sampai ada kunjungan setelah jam itu.

## Kenapa wp-cron bisa membebani hosting?

Masalah muncul dari dua arah yang berlawanan.

Di situs yang **ramai**, pemeriksaan jadwal terjadi di setiap kunjungan, dan permintaan latar ke `wp-cron.php` dipicu berulang kali sepanjang hari. Setiap pemicu adalah proses PHP tambahan yang ikut antre dengan pengunjung sungguhan. Di shared hosting dengan batas jumlah proses, ini bisa membuat pengunjung kebagian halaman lambat atau error 508.

Di situs yang **sepi**, tugas menumpuk karena tidak ada kunjungan yang memicunya. Begitu ada satu pengunjung, semua tugas yang tertunda dijalankan sekaligus. Kalau di antaranya ada backup atau sinkronisasi stok, pengunjung itu yang menanggung lambatnya.

Selain itu, kualitas tugasnya sendiri berpengaruh. Plugin yang menjadwalkan tugas berat terlalu sering, misalnya memeriksa ribuan produk setiap menit, akan membebani server apa pun pemicunya. Bot yang memanggil `wp-cron.php` langsung juga menambah beban tanpa memberi manfaat.

## Tanda wp-cron sedang bermasalah

Beberapa gejala bisa kamu periksa tanpa alat khusus:

- **Site Health memberi peringatan jadwal.** Menu Tools > Site Health punya pemeriksaan untuk tugas terjadwal yang terlambat atau gagal. Peringatan ini sering muncul di situs sepi, atau saat permintaan latar ke situs sendiri diblokir firewall.
- **Tulisan berstatus "Missed schedule".** Artikel yang dijadwalkan tidak terbit pada waktunya karena tidak ada pemicu tepat waktu.
- **Log akses dipenuhi wp-cron.php.** Di cPanel, unduh log dari menu Raw Access lalu hitung berapa kali file itu dipanggil per jam. Jumlah yang sangat besar, apalagi dari alamat IP luar, menandakan pemicu berlebihan atau bot.
- **Grafik CPU berpola gigi gergaji**, naik tajam di jam tertentu tanpa lonjakan pengunjung. Polanya sering cocok dengan jadwal backup atau sinkronisasi dari plugin.

## Pilihan pemicu dan dampaknya

| Pemicu | Kapan tugas berjalan | Beban ke server | Cocok untuk |
|:--|:--|:--|:--|
| wp-cron bawaan | Saat ada kunjungan | Ikut naik bersama trafik | Situs kecil yang jarang punya tugas berat |
| Cron server memanggil wp-cron.php | Sesuai jadwal tetap, misalnya tiap 5 atau 15 menit | Terkendali dan terprediksi | Hampir semua situs bisnis |
| Cron server dengan WP-CLI | Sesuai jadwal tetap, tanpa lewat web server | Paling hemat, tidak memakai proses web | VPS atau hosting dengan akses SSH dan WP-CLI |

## Memindahkan wp-cron ke cron server

Langkah pertama adalah mematikan pemicu otomatis. Tambahkan baris ini di `wp-config.php`, di atas komentar "That's all, stop editing!":

```php
define( 'DISABLE_WP_CRON', true );
```

Baris ini tidak mematikan tugas terjadwal. Ia hanya menghentikan WordPress memicu `wp-cron.php` saat ada kunjungan. Karena itu, langkah kedua wajib: jadwalkan pemanggilan dari server.

Di cPanel, buka menu **Cron Jobs**, pilih interval (setiap 5 atau 15 menit sudah cukup untuk kebanyakan situs), lalu isi perintah:

```bash
wget -q -O /dev/null "https://contoh.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
```

Kalau hosting atau VPS menyediakan WP-CLI, perintah berikut menjalankan tugas yang jatuh tempo langsung dari baris perintah tanpa lewat web server:

```bash
cd /home/user/public_html && wp cron event run --due-now >/dev/null 2>&1
```

Format jadwal cron dan cara mengujinya dibahas lengkap di [cara membuat cron job di Linux](https://nivelva.com/insight/cron-job-linux). Setelah dipasang, tunggu satu interval lalu pastikan tulisan terjadwal atau email dari plugin tetap terkirim. Plugin pengelola cron seperti WP Crontrol membantu melihat daftar tugas, jadwalnya, dan plugin pemiliknya, termasuk tugas yang jadwalnya terlambat.

Jangan lupa satu hal: setelah `DISABLE_WP_CRON` aktif, tanpa cron server tidak ada tugas yang berjalan. Tulisan terjadwal akan berstatus "Missed schedule" dan pembaruan keamanan otomatis ikut berhenti.

Soal interval, lebih sering tidak selalu lebih baik. Setiap lima menit sudah terasa tepat waktu untuk toko online yang mengirim email pesanan atau menyinkronkan stok. Untuk company profile yang hanya menerbitkan artikel sesekali, setiap 15 atau 30 menit sudah memadai dan lebih hemat sumber daya. Hindari interval setiap menit di shared hosting, karena sebagian penyedia membatasi frekuensi cron job dan jadwal serapat itu jarang dibutuhkan.

## Kapan wp-cron bawaan masih boleh dipakai

Untuk blog pribadi atau company profile dengan sedikit plugin, wp-cron bawaan jarang menimbulkan masalah dan tidak perlu diutak-atik. Pindahkan ke cron server bila kamu melihat salah satu tanda ini: Resource Usage sering menyentuh batas, log akses penuh permintaan `wp-cron.php`, tulisan terjadwal sering terlewat, atau situs memakai plugin yang menjalankan backup, impor, dan sinkronisasi rutin.

Kalau setelah dipindahkan situs masih terasa berat, wp-cron mungkin bukan satu-satunya penyebab. Langkah diagnosis yang lebih luas ada di [cara menemukan penyebab WordPress lambat](https://nivelva.com/insight/wordpress-lambat-cara-menemukan-penyebabnya), dan cara membaca angka batas hosting ada di [arti CPU, EP, dan IO di hosting](https://nivelva.com/insight/arti-cpu-ep-io-resource-limit-hosting).

Singkatnya, wp-cron adalah penjadwal praktis yang menumpang pada kunjungan. Untuk situs bisnis yang serius, mematikan pemicu otomatisnya dan menyerahkan jadwal ke cron server membuat beban lebih terkendali dan tugas berjalan tepat waktu.

## Sumber

- <https://developer.wordpress.org/plugins/cron/>
- <https://developer.wordpress.org/plugins/cron/hooking-wp-cron-into-the-system-task-scheduler/>
- <https://developer.wordpress.org/cli/commands/cron/event/run/>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/apa-itu-wp-cron-bikin-hosting-berat
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
