Cara Mengelola API Detak Jantung WordPress

Diterbitkan: 2023-01-31

WordPress Heartbeat API telah ada selama hampir satu dekade. Ini menyediakan komunikasi real-time yang mulus antara dasbor WordPress dan server host. Dibangun di dalam inti WordPress, Heartbeat API menawarkan fungsionalitas canggih yang dapat meningkatkan pengalaman administrasi situs web secara signifikan.

Namun, kekuatan ini ada harganya. Ini adalah jumlah sumber daya server yang diperlukan untuk menjaga agar komunikasi tetap berjalan lancar. Menjalankan situs web intensif sumber daya atau membuat penyedia hosting Anda memberlakukan batasan ketat pada memori dan waktu CPU dapat menyebabkan penurunan kinerja yang nyata di mana Heartbeat API mungkin berperan.

Dalam panduan ini, kami akan mengungkap potensi WordPress Heartbeat API dan perannya dalam ekosistem WordPress. Anda akan mempelajari cara kerja Heartbeat API. Anda juga akan mempelajari mengapa Anda mungkin perlu mempertimbangkan untuk membatasi aktivitasnya di situs WordPress Anda. Ini akan membantu Anda mencapai kinerja yang lebih baik tanpa harus memutakhirkan paket hosting Anda.

Apa itu API Detak Jantung WordPress?

WordPress Heartbeat API adalah antarmuka yang dibangun ke dalam inti WordPress yang memungkinkan komunikasi waktu nyata antara server dan dasbor WordPress. Heartbeat API pertama kali diperkenalkan pada 2013 dengan rilis WordPress 3.6. Ini memberikan peningkatan besar pada manajemen konten dan bidang utama administrasi situs web lainnya.

Api detak jantung WordPress

Mengapa Heartbeat API begitu Penting?

Dasbor WordPress sebagian besar merupakan aplikasi sisi klien. Artinya, sebagian besar tindakan terjadi di browser pengguna. Sebagai aplikasi front-end, area admin WordPress tidak memiliki akses langsung ke database WordPress, tempat konten situs web dan informasi penting lainnya disimpan.

Agar berfungsi dengan baik, dasbor WordPress harus dapat berkomunikasi dengan server untuk mengirim dan menerima data. Antarmuka Pemrograman Aplikasi (API) seperti WordPress Heartbeat API memungkinkan untuk menerima pembaruan secara real time tanpa harus memuat ulang seluruh halaman untuk menampilkan informasi baru.

Untuk memberikan pengalaman pengguna yang mulus, dasbor WordPress mengirimkan permintaan ke server di belakang layar cukup sering untuk menghilangkan penundaan pembaruan bagi pengguna WordPress yang masuk dan bekerja di situs web. API Detak Jantung akan mengirimkan permintaan ke server dan panggilan API setiap 15 hingga 120 detik.

Tiga Fitur Utama Kekuatan API Detak Jantung WordPress

WordPress Heartbeat API mendukung tiga fitur utama yang membuat administrasi situs web lebih mudah dan nyaman. Fitur-fitur tersebut adalah penyimpanan otomatis, penguncian konten, dan pemberitahuan dasbor waktu nyata. Mereka sangat penting untuk komunitas atau situs web yang diedit secara kolaboratif yang memiliki banyak pengguna yang masuk dan aktif secara bersamaan.

1. Penyimpanan Otomatis dan Revisi

Penyimpanan otomatis dan revisi adalah salah satu fitur utama yang disediakan oleh WordPress Heartbeat API. Setiap kali pengguna bekerja di editor Blok, WordPress melakukan penyimpanan otomatis konten setiap 60 detik. Ini memastikan bahwa tidak ada perubahan yang tidak disimpan. Dengan mengirimkan permintaan ke server setiap menit, WordPress Heartbeat API menyimpan copy pekerjaan dari sebuah posting atau halaman ke databasenya yang akan disimpan di sana hingga autosave baru berjalan.

Penyimpanan otomatis WordPress yang didukung oleh Heartbeat API sangat berguna. Mereka dapat mencegah kehilangan data jika terjadi kerusakan browser atau masalah koneksi. Penyimpanan otomatis tidak menggantikan revisi apa pun yang dibuat oleh pengguna dan tidak menumpuk di database.

2. Penguncian Konten

Penguncian konten adalah fitur lain yang memungkinkan WordPress Heartbeat API untuk memberikan pengalaman pengeditan yang lebih baik bagi pemilik situs web WordPress. Jika sebuah posting atau halaman sedang diedit, WordPress akan menguncinya untuk mencegah pengguna lain membuat perubahan. WordPress Heartbeat API akan mengirimkan permintaan ke server setiap 15 detik. Ini akan menampilkan pemberitahuan jika pengguna lain membuka konten yang dikunci untuk diedit.

3. Pemberitahuan Dasbor Waktu Nyata

WordPress Heartbeat API mendukung notifikasi dasbor waktu nyata, termasuk yang dikirim oleh plugin. Keandalan komunikasi klien-server yang disediakan Heartbeat API telah mengarahkan ribuan pengembang plugin WordPress untuk mengintegrasikannya ke dalam aplikasi mereka.

Interval default untuk panggilan WordPress Heartbeat API di area admin situs web adalah 15 detik. Pengembang plugin yang ingin menggunakan fungsionalitas API dapat mengonfigurasi interval khusus untuk bertukar data antara aplikasi klien dan server.

Bagaimana Cara Kerja WordPress Heartbeat API?

WordPress Heartbeat API menggunakan AJAX — Asynchronous JavaScript And XML — untuk berkomunikasi dengan server dari dasbor admin. Antarmuka pemrograman aplikasi mengumpulkan data dan mengirimkannya melalui apa yang dikenal sebagai acara jQuery. Penangan admin-ajax menerima data dan memprosesnya di sisi server, kemudian menyiapkan dan mengembalikan respons dalam format JSON.

Saat dasbor WordPress dimuat, kode sisi klien menyiapkan interval, juga dikenal sebagai tanda centang, untuk dijalankan setiap 15 hingga 120 detik, tergantung tugasnya. Kode Heartbeat API bertugas mengumpulkan data di sisi klien dan mengkomunikasikannya ke server untuk menerima pembaruan.

Jumlah total panggilan API Detak Jantung bergantung pada jumlah pengguna aktif yang bekerja di situs web pada waktu yang sama. Ini sama dengan jumlah instance dasbor WordPress yang dimuat. Memiliki area admin WordPress yang dibuka di beberapa jendela browser membuat jumlah panggilan API Detak Jantung yang sama seolah-olah banyak pengguna masuk ke backend situs web dan melakukan tugas pada saat yang bersamaan.

Mengapa Membatasi Panggilan API Detak Jantung WordPress?

Membatasi panggilan WordPress Heartbeat API dapat membantu mempercepat situs WordPress yang memiliki alokasi sumber daya server yang sangat terbatas, terutama dalam hal waktu CPU. Meskipun API Detak Jantung sepertinya bukan masalah utama di balik kinerja situs web yang buruk, itu pasti sesuatu yang perlu dipertimbangkan.

Setiap kali Heartbeat API berkomunikasi dengan server, permintaan HTTP POST dibuat ke file admin-ajax.php di wp-admin. Karena panggilan API Detak Jantung dikirim ke server setiap 15-120 detik, dan jumlahnya bertambah jika ada lebih dari satu pengguna admin aktif, API dapat membebani server, mengakibatkan penggunaan CPU dan memori sistem yang tinggi.

Beberapa pemilik situs web WordPress bahkan dapat salah mengira aktivitas Heartbeat API sebagai serangan DDOS yang sedang berlangsung. Permintaan WordPress Heartbeat API tidak dapat di-cache, sehingga setiap panggilan akan menggunakan sumber daya server dalam jumlah tertentu. Jika server secara aktif menggunakan sumber dayanya untuk menangani panggilan API, pelanggan Anda dapat mengalami keterlambatan dalam perenderan konten saat menjelajahi situs web Anda.

Tiga Hal yang Perlu Dipertimbangkan Sebelum Menonaktifkan Heartbeat API

Menonaktifkan Heartbeat API sepenuhnya bukanlah ide yang bagus. Dasbor WordPress sebagian besar akan kehilangan kemampuannya untuk berkomunikasi dengan server secara real time. Dengan API Detak Jantung dinonaktifkan, Anda tidak lagi dapat menerima notifikasi. Selain itu, Anda tidak akan dapat memanfaatkan penguncian konten, penyimpanan otomatis, dan revisi.

Tiga hal utama yang perlu dipertimbangkan sebelum menonaktifkan Heartbeat API atau membatasi aktivitasnya adalah:

  • Menerima tamu. Tinjau berapa banyak waktu CPU dan memori sistem yang dialokasikan ke situs web Anda. Apakah ada batasan jumlah proses yang dapat dibuat situs web Anda?
  • Waktu yang dihabiskan untuk administrasi situs web. Berapa banyak waktu yang Anda habiskan untuk administrasi dan penerbitan konten? Berapa banyak pengguna aktif yang sering bekerja di dasbor WordPress dan antarmuka back-end secara bersamaan?
  • Lalu lintas harian diterima. Berapa banyak pengunjung harian yang diterima situs web WordPress Anda? Apakah Anda memiliki solusi caching untuk meringankan beban di server?

Bergantung pada jenis situs web dan penyiapan hosting Anda saat ini, membatasi jumlah panggilan WordPress Heartbeat API akan berdampak berbeda pada kinerja keseluruhan. Jika Anda menjalankan situs WordPress intensif sumber daya dengan banyak pengguna melakukan pemeliharaan rutin dan memposting konten, mengurangi jumlah panggilan API Detak Jantung bisa sangat bermanfaat. Ini juga dapat membantu Anda menghindari peningkatan biaya hosting Anda dalam upaya mengakomodasi peningkatan jumlah lalu lintas.

Bagaimana Mengelola WordPress Heartbeat API dengan Plugin

Cara termudah untuk mengelola permintaan WordPress Heartbeat API adalah dengan menggunakan plugin WordPress yang dirancang untuk ini. Ada beberapa solusi berbeda yang dapat Anda manfaatkan. Kontrol Detak Jantung, dikembangkan oleh WP Rocket, adalah salah satu yang terbaik dan terpopuler.

Kontrol Detak Jantung

Instal dan aktifkan plugin Heartbeat Control dari dasbor WordPress. Arahkan ke Pengaturan> Kontrol Detak Jantung untuk membuka konfigurasi plugin. Kontrol Detak Jantung memungkinkan Anda mengelola aktivitas API Detak Jantung di bagian depan situs web, dasbor WordPress, dan di editor Blok menggunakan opsi berikut:

  • Izinkan Detak Jantung. Jika opsi ini diaktifkan, plugin tidak akan membatasi panggilan API Detak Jantung dengan cara apa pun.
  • Nonaktifkan Detak Jantung. Menonaktifkan Detak Jantung akan memblokir semua panggilan API di area yang dipilih di situs web WordPress Anda.
  • Ubah Detak Jantung. Anda dapat mengatur interval khusus untuk panggilan WordPress Heartbeat API, mulai dari 15 hingga 300 detik.
Kontrol detak jantung

Sering kali, mengonfigurasi interval yang lebih besar untuk panggilan WordPress Heartbeat API adalah tindakan terbaik. Misalnya, membatasi jumlah panggilan API menjadi satu panggilan setiap lima menit di ketiga area situs web Anda akan memiliki efek yang sama pada kinerja keseluruhan seperti menonaktifkan API Detak Jantung secara bersamaan.

Harap perhatikan bahwa membatasi aktivitas API Detak Jantung di editor Blok mungkin mengharuskan Anda menyimpan revisi lebih sering untuk menghindari hilangnya perubahan apa pun pada konten yang sedang Anda edit. Jika Anda tidak mengandalkan autosave dan tidak memerlukan penguncian konten, Anda dapat menonaktifkan WordPress Heartbeat API di Gutenberg secara keseluruhan.

Cara Membatasi Panggilan API Detak Jantung WordPress Tanpa Plugin

Anda dapat membatasi panggilan WordPress Heartbeat API tanpa plugin dengan menggunakan pengait WordPress. Menambahkan beberapa baris kode ke file function.php tema aktif situs web Anda dapat membantu Anda menonaktifkan Heartbeat API atau menentukan interval khusus untuk panggilan API.

WordPress hadir dengan Editor Tema bawaan yang memungkinkan Anda untuk memodifikasi functions.php dari dasbor admin. Namun, sebagian besar plugin keamanan WordPress, seperti iThemes Security Pro, menonaktifkan fungsi ini untuk melindungi situs web Anda jika disusupi.

Anda dapat mengedit file menggunakan antarmuka pengelola file yang disediakan oleh panel kontrol hosting Anda atau dengan menghubungkan ke file situs web Anda melalui FTP atau SSH. Jika Kadence WP adalah pilihan tema blok WordPress Anda, Anda dapat menemukan file functions.php di folder Kadence di dalam direktori konten WordPress Anda.

Harap perhatikan bahwa kode apa pun yang ditambahkan ke file functions.php kemungkinan besar akan ditimpa oleh pembaruan tema berikutnya. Oleh karena itu, mungkin lebih baik mengelola WordPress Heartbeat API menggunakan plugin. Jika Anda menggunakan tema anak, Anda dapat mengubah file functions.php tanpa risiko ditimpa saat tema induk diperbarui.

Jangan Lupa Simpan Backup Situs WordPress Anda Terlebih Dahulu

Menyimpan cadangan adalah bagian penting dari administrasi situs web. Ini akan memungkinkan Anda untuk pulih dari kesalahan apa pun dan memulihkan situs web Anda dengan cepat dalam keadaan darurat. Pastikan Anda mencadangkan situs web Anda sebelum mengedit file inti atau tema WordPress apa pun.

Menggunakan plugin cadangan WordPress membantu Anda membuat strategi cadangan yang kuat. Anda akan memiliki salinan situs web yang berfungsi kapan pun Anda membutuhkannya. Simpan cadangan situs web Anda di lokasi yang jauh, dan manfaatkan jadwal pencadangan khusus dan pemulihan sekali klik dengan BackupBuddy.

Nonaktifkan API Detak Jantung

Menambahkan tindakan di bawah memungkinkan Anda menghentikan Heartbeat API, yang secara efektif menonaktifkan semua panggilan API. Untuk melakukannya, tambahkan cuplikan kode di bawah ini ke bagian bawah functions.php.

function wb_stop_heartbeat() {
 wp_deregister_script('heartbeat');
}
add_action('init', 'wb_stop_heartbeat', 1);

Anda dapat menonaktifkan fitur tertentu di WordPress Heartbeat API dengan cara yang sama.

function disable_autosave() {
 wp_deregister_script('autosave');
}
add_action('admin_init', 'disable_autosave');

Konfigurasikan Interval Kustom untuk Panggilan API Detak Jantung

Untuk membatasi panggilan API WordPress Heartbeat, Anda dapat menentukan filter yang akan mengonfigurasi interval khusus untuk permintaan API. Cuplikan kode berikut membatasi panggilan Heartbeat API ke satu permintaan per menit.

function wb_set_heartbeat_time_interval($settings) {
 $settings['interval']=60;
 return $settings;
}
add_filter('heartbeat_settings', 'wb_set_heartbeat_time_interval');

Konfigurasikan Interval Kustom untuk Penyimpanan Otomatis WordPress

WordPress memungkinkan Anda mengonfigurasi interval khusus untuk penyimpanan otomatis dengan mendefinisikan ulang konstanta AUTOSAVE_INTERVAL. Mirip dengan konstanta lainnya, Anda dapat menetapkan nilai baru dengan menambahkan baris berikut ke file konfigurasi WordPress utama Anda:

define('AUTOSAVE_INTERVAL', 300);

Anda dapat menetapkan interval nilai yang lebih besar, seperti 3600, yaitu satu jam, untuk menonaktifkan penyimpanan otomatis WordPress sama sekali. Konstanta WordPress yang dikonfigurasi di wp-config.php tidak diubah selama pembaruan WordPress apa pun. Anda tidak perlu mendefinisikannya kembali nanti.

Membungkus

API Detak Jantung WordPress adalah salah satu fitur utama yang dibangun di dalam inti WordPress yang memungkinkan komunikasi server-klien secara real-time menggunakan panggilan AJAX. Antarmuka pemrograman aplikasi memungkinkan WordPress untuk bertukar data antara server dan dasbor WordPress untuk memberikan pengalaman administrasi yang lebih baik.

Heartbeat API mengirimkan permintaan ke server beberapa kali dalam satu menit. Ini dapat mengakibatkan peningkatan beban pada server dan penurunan kinerja. Anda dapat membatasi panggilan API Detak Jantung dengan menggunakan plugin, menambahkan pengait WordPress, atau menentukan konstanta WordPress.

Performa situs web yang solid sangat penting, begitu juga dengan keamanan. iThemes akan membantu melindungi semua area situs web WordPress Anda, sehingga bisnis Anda tetap online apa pun yang terjadi. Temukan cara mengamankan keberadaan online Anda, termasuk autentikasi multifaktor, pemantauan perubahan file, dan pemindaian kerentanan, dengan iThemes Security Pro.