Tutorial WordPress

Cara Mengurangi Server Load admin-ajax.php pada WordPress

mengurangi admin-ajax php pada wordpress featured image

Performa website merupakan hal yang penting bagi pemilik website. Masalah kinerja dapat memengaruhi user experience dan berpotensi menurunkan peringkat SEO. Sebagaimana Google menggunakan waktu loading halaman dalam kriteria peringkat mereka.

Berbicara tentang kinerja situs web, sering kali kita mengaitkannya dengan waktu loading halaman website. Di WordPress, skenario yang sering terjadi ketika berhadapan dengan masalah waktu loading halaman adalah adanya lonjakan pada file admin-ajax.php. Pada artikel ini, Anda akan belajar cara mengelola konflik plugin yang disebabkan oleh lonjakan file admin-ajax.php dan mengurangi request callback untuk mengoptimalkan waktu loading website WordPress.

Apa itu file admin-ajax.php WordPress?

Pada 2013, WordPress versi 3.6 diperkenalkan bersama dengan Heartbeat API sebagai intinya. WordPress Heartbeat API dikembangkan sebagai protokol komunikasi antara browser dan server. WordPress versi ini menggunakan admin-ajax.php untuk mengirim request ke server dan trigger events (atau callback) saat menerima data. Fitur-fitur utama Heartbeat API adalah:

  • Auto Saving

Ketika menulis sebuah artikel di WordPress, menyimpannya sebagai draft, dan melanjutkannya, WordPress secara otomatis menyimpan semua tambahan dan perubahan yang telah Anda buat.

  • Penguncian Post dan Pemberitahuan Login

Pada situs WordPress kolaboratif, Anda akan menerima pop-up setiap kali mencoba menulis atau mengedit postingan yang sedang dikerjakan user lain. Anda juga akan mendapatkan notifikasi popup ketika sesi Anda berakhir, dan Anda perlu login kembali untuk terus mengerjakan postingan Anda.

Masalah yang Disebabkan oleh admin-ajax.php

Menumpuknya file admin-ajax.php dapat menyebabkan masalah pada waktu loading website, dan ini merupakan hal yang serius. Golden rules di internet adalah: situs Anda harus loading sepenuhnya dalam waktu 3 detik atau kurang. Jika butuh waktu lebih lama dari itu, kemungkinan yang akan terjadi adalah Anda memberi user experience yang buruk dan membuat para user tidak ingin lagi berkunjung ke situs Anda.

Melambatnya waktu loading juga dapat memberikan efek negatif pada peringkat SEO Anda. Anda harus menyadari bahwa Google menggunakan kecepatan loading sebagai salah satu indikator dalam algoritme mereka untuk menentukan peringkat situs. Selain itu, lambatnya loading web mengakibatkan semakin sedikit halaman website yang dijelajahi atau di-crawl oleh mesin pencari menggunakan crawl budget, dan hal itu akan memengaruhi indeksasi halaman Anda lebih jauh.

Sebagian orang berurusan dengan API hanya pada saat menggunakan tool uji kecepatan – seperti GTmetrix, untuk mencari tahu mengapa admin-ajax.php bisa memperlambat situs web kita.

statistik lonjakan ajax php

Penyebab lonjakan dapat berasal dari dua sumber yang berbeda, baik disebabkan oleh plugin pihak ketiga atau request WordPress Heartbeat API di bagian admin. Kami akan membahasnya secara lebih rinci di bawah ini.

Bagaimana Plugin Dapat Mengakibatkan Penumpukan File admin-ajax.php

Plugin pihak ketiga merupakan penyebab masalah paling umum ketika user melihat lonjakan pada admin-ajax.php. Jika dilakukan dengan tepat, AJAX jelas memberi hasil yang positif, karena pada umumnya developer menggunakan AJAX untuk menambah fungsionalitas pada plugin mereka. Misalnya, developer dapat menggunakan request AJAX dan membuat wp_query khusus untuk menampilkan konten yang dinamis pada halaman yang di-cache.

Namun terkadang ketika banyak plugin menggunakan query ini, hal tersebut dapat menyebabkan penumpukan file ajax. Maka akan terjadi lonjakan dan memperlambat seluruh situs web. Ada pula resource AJAX in plugin yang dapat dimanfaatkan oleh developer secara efisien.

Sebagai pemilik situs web, Anda mungkin perlu mendiagnosis plugin terlebih dahulu sebelum menonaktifkannya. Hal ini penting untuk diketahui jika nantinya ada plugin tertentu yang menyebabkan masalah pada waktu loading.

Mendiagnosis Plugin

Plugin yang berbenturan dapat menyebabkan masalah pada waktu loading website. Cara konvensional untuk mengatasinya adalah menonaktifkan semua plugin dan mengaktifkannya kembali satu per satu menggunakan proses eliminasi. Tapi jelas cara tersebut bukan solusi yang tepat.

Kami akan menggunakan metode yang lebih tepat untuk mencari tahu akar penyebab masalah tersebut dengan skenario berikut.

Setelah mengaktifkan beberapa plugin, Anda melihat bahwa situs web membutuhkan waktu lebih lama untuk memuat halaman sepenuhnya. Kemudian, Anda mendiagnosis situs tersebut menggunakan GTmetrix. GTmetrix adalah tool uji kecepatan gratis untuk mengecek masing masing post response data.

Metode A

Buka beranda utama GTmetrix, isi kolom dengan URL website Anda, lalu klik Analyze. Anda perlu bersabar karena memerlukan waktu untuk menganalisis situs Anda secara menyeluruh.

tampilan homepage gmetrix

Ketika proses tersebut selesai, Anda akan mendapat laporan tentang kondisi website, seperti skor performa dan detail halaman. Buka tab Waterfall untuk memeriksa elemen website secara detail.

tampilan jendela diagnosis gmetrix

Jendela Waterfall akan menghadirkan semua elemen dari website Anda. Walaupun seluruh filenya terlihat baik-baik saja, Anda menyadari bahwa POST admin-ajax.php membutuhkan waktu yang cukup lama untuk loading halaman.

tampilan report gmetrix secara detail

Klik POST admin-ajax.php, dan Anda akan melihat empat tab berbeda yang tersedia: Header, Parameters, Post, dan Response. Saat mendiagnosis masalah semacam ini, tab Post dan Response adalah bagian-bagian yang perlu Anda perhatikan.

Untuk situs ini, kami melihat petunjuk di tab Post karena request itu ada hubungannya dengan skrip “count_hit“.

tampilan post detailed click

Petunjuk itu mengarahkan kita untuk mencurigai post hit counter plugin tertentu yang telah dipasang sebelumnya. Jadi, untuk membuktikan teori itu, kami menonaktifkan plugin tersebut dan menjalankan tes kedua dengan GTmetrix untuk situs kami.

konflik antar plugin mengakibatkan admin ajax

Ternyata kecurigaan kami benar. Dengan menonaktifkan plugin, kami berhasil mengurangi waktu loading halaman selama 2 detik.

Metode B

Anda juga dapat menggunakan Chrome developer console untuk menemukan plugin yang mencurigakan.

Buka situs web Anda. Klik kanan pada halaman > Inspect. Atau, pada tab Chrome, pilih View > Developer > Developer Tool.

Klik tab Network dan muat ulang situs web Anda.

konsol report admin ajax

 

Di kotak filter (tepat di bawah titik merah) masukkan admin-ajax.php. Anda akan melihat “pelaku” yang menimbulkan permasalahan tersebut. Setelah itu, Anda dapat menonaktifkan plugin dan menguji apakah masalahnya masih ada.

Sebagai pemilik situs web, jika Anda merasa perlu menggunakan plugin tertentu, pastikan untuk menginstal versi yang terbaru. Jika Anda sudah menginstal plugin versi terbaru tapi masalahnya tetap ada, hubungi developer plugin dan jelaskan permasalahan yang dialami.

Jika developer belum bisa menyelesaikan masalahnya, maka ganti dengan plugin lain. Kelebihan WordPress adalah banyak plugin serupa yang tersedia untuk dipilih. Buka direktori plugin WordPress dan pilih plugin yang paling sering digunakan dan diperbarui yang menawarkan fungsi yang sama.

Mempercepat Backend dari Situs WordPress Anda

Terkadang, WordPress Heartbeat API yang bekerja pada backend situs Anda juga dapat menyebabkan masalah performa situs. Seperti yang kami sebutkan sebelumnya, fitur ini menyimpan pekerjaan Anda secara otomatis – untuk menghindari kehilangan proyek ketika hal yang tidak terduga terjadi, dan untuk mengelola penulisan/pengeditan secara simultan dengan baik.

Misalnya, fitur API tersebut akan bekerja setiap kali Anda menulis posting dan tetap membuka tab. Hal ini dapat menimbulkan penggunaan CPU yang tinggi, seperti yang Anda lihat dengan jumlah callback di developer console di bawah ini.

Penggunaan CPU adalah persoalan penting bagi mereka yang menggunakan paket shared hosting. Beberapa penyedia hosting mungkin tidak akan mentolerir penggunaan CPU yang tinggi dan pada akhirnya dapat menyebabkan penangguhan, meskipun tidak terjadi pada Hostinger.

Untuk mengatasi masalah ini, ada dua cara yang dapat dilakukan: menonaktifkan Heartbeat API atau membuat interval yang lebih lama antara pemeriksaan satu dengan yang lain. Karena opsi pertama tidak praktis, kami akan menggunakan opsi kedua sebagai gantinya. Untuk mengubah interval, Anda memerlukan plugin yang disebut Heartbeat Control.

Masuk ke Dashboard > Plugin > Add New. Cari nama plugin tersebut, kemudian klik install, lalu activate.

Setelah aktivasi selesai, pilih Settings > Heartbeat Control Settings. Di sini, Anda dapat menetapkan aturan berbeda untuk masing-masing lokasi.

pengaturan hearbeat api

Karena ingin meminimalkan frekuensi callback di Post Editor, Anda dapat memeriksanya dan mengatur jumlah request lebih tinggi dari 15. Dalam hal ini, kami akan menetapkannya menjadi 200.

Setelah selesai, klik Save Changes.

Kesimpulan

Anda telah belajar tentang Heartbeat API dan produk sampingannya, admin-ajax.php. Anda juga telah mengetahui tentang masalah yang muncul saat plugin membuat file AJAX menumpuk dan menyebabkan perlambatan dalam waktu loading. Anda juga tahu bahwa Heartbeat API itu sendiri dapat membuat masalah dengan host Anda jika tidak mengelolanya dengan benar.

Selalu periksa website dengan GTmetrix ketika terjadi perlambatan waktu loading di situs web Anda. Buka tab waterfall, navigasikan ke POST admin-ajax.php dan lihat bagaimana semuanya berjalan. Jangan langsung menonaktifkan semua plugin sekaligus karena tidak semua plugin bermasalah. Namun jika memang semua plugin bermasalah, Anda bisa menggantinya dengan plugin baru atau membatasi penggunaan Heartbeat API.

Apakah Anda memiliki pengalaman serupa ketika berurusan dengan admin-ajax.php? Silakan tulis pengalaman Anda pada kolom komentar di bawah ini sehingga orang lain bisa belajar dari kisah Anda!

Tentang penulis

Nadia Agatha

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.

Tambah Komentar

Klik di sini untuk menulis komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Dapatkan harga hemat!

Web Hosting Gratis Domain mulai dari

Rp.8.739
/bln