Cara Mematikan Heartbeat API WordPress Lewat functions.php Tanpa Plugin untuk Mengatasi Beban CPU Hosting 100%
Cara Mematikan Heartbeat API WordPress Lewat functions.php Tanpa Plugin untuk Mengatasi Beban CPU Hosting 100%
Pernahkah Anda mendapati website WordPress Anda mendadak sangat lambat saat membuka dashboard admin, atau bahkan mendadak tumbang dengan pesan peringatan 508 Resource Limit Is Reached dari penyedia hosting? Ketika Anda memeriksa grafik penggunaan server di cPanel, grafik konsumsi prosesor (CPU Usage) dan batas memori fisik (Physical Memory) menunjukkan angka 100 persen merah menyala, padahal jumlah pengunjung yang sedang membaca artikel di website Anda hanya belasan orang.
Jika Anda menanyakan masalah ini kepada tim bantuan teknis penyedia hosting lokal di Indonesia, jawaban yang paling sering Anda dengar adalah peringatan bahwa berkas admin-ajax.php membanjiri server dengan ribuan permintaan secara terus-menerus. Biang kerok utama di balik fenomena boros sumber daya server ini tidak lain adalah fitur internal WordPress yang bernama Heartbeat API.
Kabar baiknya, Anda tidak perlu mengeluarkan uang untuk membeli plugin penghemat server atau terburu-buru melakukan upgrade ke paket VPS yang mahal. Anda dapat mematikan atau memperlambat detak jantung sistem ini secara mandiri hanya dengan menyematkan beberapa baris kode ringan di berkas functions.php tema Anda.
Apa Itu Heartbeat API dan Mengapa Bikin Server Hosting Lemot?
Diperkenalkan sejak WordPress versi 3.6, Heartbeat API dirancang sebagai protokol komunikasi dua arah antara peramban web administrator dan server hosting menggunakan teknologi panggilan AJAX berulang.
Fungsi utama dari fitur ini adalah menjaga sinkronisasi data secara langsung saat Anda sedang bekerja di dashboard admin. Detak jantung digital ini menangani tugas-tugas otomatis seperti menyimpan draf tulisan secara berkala (auto-save), mengunci postingan agar tidak diedit bersamaan oleh dua penulis berbeda (post locking), serta menampilkan notifikasi pembaruan plugin secara seketika.
Masalah besar muncul karena frekuensi panggilan bawaannya yang sangat rapat. Secara default, saat Anda membuka jendela editor postingan, Heartbeat API mengirimkan permintaan ke berkas admin-ajax.php setiap 15 detik sekali. Bahkan ketika Anda hanya membiarkan tab dashboard WordPress terbuka di latar belakang tanpa melakukan aktivitas apa pun, sistem tetap mengirimkan sinyal detak setiap 60 detik.
Bayangkan jika Anda atau tim penulis Anda membuka lima tab artikel secara bersamaan di peramban komputer kantor. Setiap tab akan menembakkan permintaan AJAX secara mandiri. Di lingkungan shared hosting di mana batas alokasi prosesor dan memori dibagi bersama pengguna lain, rentetan permintaan berulang ini akan menghabiskan seluruh jatah eksekusi proses PHP dalam sekejap. Akibatnya, server hosting mendeteksi adanya kelebihan beban dan langsung memblokir sementara akses website Anda.

3 Cara Mematikan atau Memperlambat Heartbeat API Tanpa Tambah Beban Plugin
Banyak panduan di internet menyarankan Anda memasang plugin tambahan untuk mengontrol Heartbeat API. Namun memasang plugin baru hanya untuk mematikan satu fitur kecil justru menambah tumpukan kode di database website Anda. Cara paling bersih dan efisien adalah menggunakan kode filter bawaan WordPress.
Berikut adalah tiga opsi pengaturan kode yang dapat Anda pilih sesuai kebutuhan operasional website Anda:
Opsi 1: Mematikan Heartbeat API Secara Total di Seluruh Halaman
Jika website Anda adalah blog pribadi, portal berita satu penulis, atau company profile yang jarang melakukan penulisan artikel panjang di dashboard, Anda dapat mematikan fitur ini secara total. Tambahkan kode berikut ke dalam berkas functions.php tema anak (child theme) Anda:
add_action( 'init', 'antond_matikan_heartbeat_total', 1 );
function antond_matikan_heartbeat_total() {
wp_deregister_script( 'heartbeat' );
}
Dengan kode ini, skrip detak jantung tidak akan pernah dimuat di halaman mana pun, sehingga beban panggilan admin-ajax.php turun menjadi nol. Konsekuensinya, fitur penyimpanan otomatis draf artikel akan nonaktif, sehingga Anda harus membiasakan diri menekan tombol Save Draft secara manual.
Opsi 2: Mematikan di Halaman Publik dan Dashboard, Izinkan Hanya di Editor (Sangat Direkomendasikan)
Ini adalah opsi paling ideal bagi sebagian besar pemilik website. Banyak tema modern dan plugin pihak ketiga secara keliru memuat Heartbeat API di halaman depan (frontend) yang dibaca oleh pengunjung umum, padahal fitur tersebut sama sekali tidak berguna bagi pembaca biasa.
Gunakan kode pintar berikut untuk mematikan Heartbeat di halaman depan dan dashboard umum, namun tetap membiarkannya berjalan khusus saat Anda sedang menulis postingan:
add_action( 'init', 'antond_batasi_lokasi_heartbeat', 1 );
function antond_batasi_lokasi_heartbeat() {
global $pagenow;
if ( 'post.php' !== $pagenow && 'post-new.php' !== $pagenow ) {
wp_deregister_script( 'heartbeat' );
}
}
Opsi 3: Memperlambat Jeda Detak Jantung Menjadi 60 Detik
Jika Anda tetap menginginkan fitur penyimpanan otomatis berjalan di editor namun ingin memangkas konsumsi prosesor hingga 75 persen, solusi terbaik adalah memperlebar jeda frekuensi panggilan dari 15 detik menjadi 60 detik. Sisipkan filter berikut:
add_filter( 'heartbeat_settings', 'antond_perlambat_frekuensi_heartbeat' );
function antond_perlambat_frekuensi_heartbeat( $settings ) {
$settings['interval'] = 60;
return $settings;
}
Tabel berikut menyajikan ringkasan efektivitas dari ketiga opsi pengaturan Heartbeat API di atas:
| Pilihan Konfigurasi | Beban Prosesor Server | Penyimpanan Draf Otomatis | Kunci Postingan Bersama | Rekomendasi Penggunaan |
|---|---|---|---|---|
| Pengaturan Default Bawaan | Sangat tinggi (tiap 15 detik) | Berjalan otomatis normal | Berjalan otomatis normal | Paket VPS dan Dedicated Server |
| Opsi 1: Matikan Total | Nol persen (terbebas penuh) | Nonaktif (wajib simpan manual) | Nonaktif | Website company profile dan portofolio |
| Opsi 2: Khusus Editor Post | Sangat rendah dan efisien | Aktif hanya saat menulis artikel | Aktif di editor postingan | Sangat cocok untuk blog dan toko online |
| Opsi 3: Perlambat 60 Detik | Turun hingga 75 persen | Aktif dengan jeda satu menit | Aktif normal | Website portal berita banyak penulis |
Pilihlah opsi yang paling sesuai dengan karakteristik kerja tim pengelola website Anda.

Langkah Praktis Memasang Kode Lewat File Manager cPanel
Menerapkan kode optimasi ini dapat dilakukan dalam waktu kurang dari lima menit tanpa risiko merusak tampilan website. Ikuti panduan praktis berikut:
- Masuk ke cPanel Hosting: Buka browser Anda dan akses halaman login cPanel akun hosting Anda, lalu buka menu File Manager.
- Buka Direktori Tema yang Aktif: Masuk ke folder
public_html>wp-content>themes, lalu klik dua kali pada folder tema aktif Anda (disarankan menggunakan tema anak atau child theme agar kode tidak hilang saat tema diperbarui). - Sunting Berkas functions.php: Cari berkas bernama
functions.php, klik kanan pada berkas tersebut, lalu pilih opsi Edit. - Tempelkan Kode di Bagian Paling Bawah: Gulir layar editor ke baris paling akhir berkas
functions.php. Salin salah satu cuplikan kode PHP di atas (disarankan Opsi 2), lalu tempelkan dengan rapi. Pastikan tidak ada tanda kurung atau titik koma yang terpotong. - Simpan Perubahan dan Uji Coba: Klik tombol Save Changes di pojok kanan atas. Buka website Anda di tab penyamaran (incognito window) untuk memastikan website berjalan normal tanpa kendala galat sintaksis.
Tips Tambahan Mencegah Lonjakan Beban CPU di Shared Hosting
Selain mengontrol Heartbeat API, ada kebiasaan sederhana yang sangat menentukan kesehatan server Anda. Jangan pernah membiasakan diri membiarkan puluhan tab dashboard WordPress terbuka di peramban komputer Anda saat ditinggal istirahat makan siang atau rapat kantor. Setiap tab yang dibiarkan terbuka tetap aktif mengonsumsi alokasi proses PHP di latar belakang sistem.
Terapkan juga sistem penyimpanan cache halaman statis menggunakan plugin ringan seperti WP Super Cache atau LiteSpeed Cache jika server hosting Anda mendukungnya. Dengan kombinasi pengaturan Heartbeat API yang terkendali dan manajemen cache yang tepat, website WordPress Anda akan selalu meluncur gesit, stabil, dan terbebas dari ancaman pembekuan akun akibat kelebihan beban prosesor hosting.
—
**