The purpose of Ajax

Ajax in a technique based on javascript that makes it possible for web pages to retrieve new information without having to reload themselves. The goal is to make a page more responsive and interactive for its visitors. Normally it is necessary to refresh a page to see new information. By Ajax you can already see when you have filled in something wrong when you fill in a form. Another example where this Ajax technique is used is with Google Maps. When navigating on a map, Ajax loads that part of the map the visitor needs, without refreshing the whole page.


How does it work with Wordpress?

A plugin developer connects a link, button or other interactive element on a page to a javascript written program. When you move the mouse over an element or click on such an interactive element, the javascript program sends a request or information to the web server. The corresponding program on the web server sends back as a response some data that is often written in XML format. When this data arrives at the browser, the javascript program receives a message that the current information on the page is not synchronous and the information is processed so that it can be displayed correctly. For developers extra information about the use and application of ajax https://codex.wordpress.org/AJAX_in_Plugins. 


The negative side of Ajax

If Ajax is set up correctly, Ajax does not have a bad side at all, but unfortunately it sometimes happens that developers do not implement this Ajax technique correctly in their plugin. In such cases this can have a big impact on the performance of your site. Developer Tools (F12), webpagetest.org or in the access logs several admin-ajax.php requests will appear, loading your site for 80% per request. 

Regularly we see sites that have 10 admin-ajax.php requests per user several times per second, so 10 visitors are responsible for a large load on your server.


Analyze

It is therefore often wise to limit these calls. To determine if your site will work faster you could use a staging environment. This makes a copy of your current site and allows you to test different settings. It is therefore possible to turn plugins on and off to see which of the plugins will eventually execute these calls. Because you are not in the process of modifying your live site a staging environment is a good solution for this. You can create a staging for all our packages using the admin panel you find at admin.savvii.com.