To increase better user experience, we always end up by increasing site speed. After clicking a website link seems like a simple thing. But have you ever thought, how many requests are instantly pinged within few seconds after a single click? There are lots of things happens within these few seconds that may slow down the website.
Although, there are various things behind the slow loading of the site. If checking on-site speed test tools, sometimes it shows a warning in the admin Ajax.php file. That means the Admin Ajax.php file is also one of the reasons behind the slow loading of the site.
Admin-ajax.php is part of the WordPress AJAX API. It does handle requests from both backend and front end as well. Ajax allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes.
In WordPress 3.6, WordPress introduced Heartbeat API. The API stimulates the bidirectional connection between the browser and the server. In addition, it was used for autosave, post locking, and log-in expiration warning while a user is writing or editing.
Heartbeat API triggers events on receiving data/response while creating requests for communication with the server. This generally causes a huge load on the server and thus slows down the website.
Due to this Heartbeat API, Admin-ajax.php generates requests after every 15 seconds. The request can be any communication with the server. And thus by sending too many requests, the server takes a long time to display your contents or load the website.
Speed up WordPress Admin Dashboard
So, the best solution to speed up the site at the backend is by disabling the Heartbeat API. Instead, install the Heartbeat control plugin. Heartbeat control plugin allows you to easily manage the frequency of the WordPress heartbeat API. Through this plugin, the heartbeat API can be disabled entirely.
If you are using any caching plugin, then disable the object cache before moving forward. It will drastically speed up the WordPress dashboard.
To Install Heartbeat Control plugin:
- Login to your WordPress Admin Dashboard.
- Go to Plugins>> Add new and search for Heartbeat Control.
- Now, Install and Activate it.
The configuration of HeartBeat Control Plugin:
After installing HeartBeat Control plugin
- Goto HeartBeat control plugin settings
In your WordPress dashboard, you will see Heartbeat control option under the settings menu on left-hand side.
- Select location to disable heartbeat
The locations have three options to choose from: WordPress Dashboard, Frontend and Post editor.
- Modify Heartbeat
Choose to modify heartbeat option for WordPress Dashboard. It will ask you to override heartbeat frequency. Here you can set frequency value to 60 using the slide option. With this frequency, the requests will generate after every 60 seconds. It will drastically reduce load on the server.
- Allow Heartbeat on Post Editor
If I guess, your site regularly contributes more than 1 user then, I suggest selecting Allow heartbeat on Post Editor.
- Now, search for the plugin that uses Heartbeat API.
To do so, Go to the GTMetrix site and analyze your website. Then, go to the Waterfall tab and examine which file is taking a long time to connect and respond. Now, scroll down and see if there is an entry for admin-ajax.php. If yes, expand it and navigate to the Post tab to find the plugin.
- Disable Heartbeat
You can disable heartbeat on the frontend if none of the plugins on your site uses it. There is no extra configuration required to disable heartbeat.
There is one more option to sort this issue upgrade to a hosting plan that could handle the load of the requests. You can also check our tips to make your WordPress Blog Faster.