¿Cómo averiguar qué plugin crea peticiones al admin-ajax.php?

Algunos plugin usan peticiones AJAX para lanzar una wp_query personalizada y mostrarla en la página sin que sea necesario re-cargarla por completo: se trata de un buen método para mostrar contenido dinámico en una página almacenada en caché.

Esta petición AJAX se envía luego a un archivo WordPress AJAX predeterminado:  https://example.com/wp-admin/admin-ajax.php

A veces, estas peticiones pueden aumentar de manera importante el tiempo de carga de tu sitio, especialmente cuando hay varias:

Encontrar el plugin(s) que genera las peticiones AJAX

A

 Tienes pocos plugins


Si estás usando pocos plugins, puedes hacer lo siguiente:

  1. Desactiva el primer plugin.
  2. Vacía la caché de WP Rocket.
  3. Haz una prueba de velocidad con Pingdom: https://tools.pingdom.com/
  4. Averigua si la petición admin-ajax.php sigue ahí.
  5. Si todavía está presente, re-activa el plugin y repite desde el punto 1 con el siguiente plugin de tu lista.
B

 Tienes muchos plugins

Si has instalado muchos plugins - o no quieres desactivar los que tienes - tendrás que trabajar usando la console de Chrome.

  1. Abre las Herramientas para Desarrolladores (Developer Tools). Las puedes abrir haciendo clic sobre Inspecciona Elemento o desde el menu: Ver → Opciones para Desarrolladores → Herramientas para desarrolladores.
  2. Haz clic en la pestaña Network y recarga tu página. Deberías ver los recursos de la página en una lista como la de abajo:
  3. Ve al campo de búsqueda Filter que se encuentra en la parte alta a la izquierda (justo debajo del botón rojo) y escribe admin-ajax : deberías ver la lista de las peticiones admin-ajax de la página.
  4. Ahora selecciona uno de ellos y averigua la información, como en el ejemplo abajo:
  5. Si vas en las secciones Form Data y Preview, obtendrás información útil sobre el plugin que está generando esa petición. La acción o el resultado contiene muy a menudo las iniciales o una referencia al plugin responsable de la petición. En este ejemplo, hemos encontrado que la acción "update_views_ajax" action y "WPP" que nos indican una petición AJAX del plugin WP Popular Posts.
  6. Ahora, usando el método A, puedes averiguar si el plugin encontrado es efectivamente lo que está generando la petición admin-ajax más lenta.

Has encontrado el plugin, ¿y ahora?

A veces la solución es activar una opción del plugin responsable para evitar que se genere la petición; si no es posible, puedes contactar con quién ha desarrollado el plugin para que encuentre una manera de reducir el tiempo de carga de esta petición.