Physical Address
Santo Domingo Este, República Dominicana.
Optimizar WordPress para mejorar la velocidad de carga y reducir el consumo de recursos es una de las tareas fundamentales para mantener un sitio eficiente. Si tienes un sitio web con muchos plugins o un tráfico elevado, probablemente hayas notado que admin-ajax.php puede convertirse en un cuello de botella, consumiendo más recursos de los necesarios.
En este artículo, vamos a explorar cómo puedes optimizar el uso de admin-ajax.php en WordPress para mejorar la velocidad de tu sitio y reducir la carga del servidor.
admin-ajax.php es un archivo que forma parte de todas las instalaciones de WordPress y está diseñado para ayudar a los plugins y temas a realizar peticiones AJAX. Utilizando la API Heartbeat de WordPress, admin-ajax.php permite la comunicación en tiempo real entre el servidor y el navegador del usuario sin necesidad de recargar la página. Esto facilita funcionalidades como el autoguardado de entradas, la actualización de los widgets en el panel de administración, y las interacciones en tiempo real de muchos plugins populares.
Desde la versión 3.6, WordPress introdujo la API Heartbeat, que utiliza admin-ajax.php para enviar pulsos periódicos al servidor. Estos pulsos son utilizados por muchas funciones y plugins en WordPress para realizar tareas sin recargar la página.
Algunos ejemplos de cómo se usa admin-ajax.php y Heartbeat en WordPress incluyen:
Sin embargo, cuando varios usuarios están interactuando con el sitio y múltiples plugins utilizan la API Heartbeat, las peticiones al admin-ajax.php pueden acumularse rápidamente, lo que puede resultar en un consumo excesivo de recursos.
La razón principal del alto consumo de recursos se debe a que, por defecto, WordPress realiza una petición al archivo admin-ajax.php cada 15 segundos. Esto puede no ser un problema cuando hay pocos usuarios, pero en sitios con alto tráfico o muchos plugins que usan AJAX intensivamente (como WooCommerce), estas peticiones repetidas pueden llevar a un alto consumo de CPU y RAM.
Imagina un sitio con 30 plugins, de los cuales 18 hacen uso intensivo de admin-ajax.php. En combinación con un plugin como WooCommerce, las peticiones al archivo admin-ajax.php se realizarían de manera continua, lo que podría sobrecargar el servidor y ralentizar el sitio web.
Optimizar el uso de admin-ajax.php requiere un enfoque estratégico para reducir la cantidad de peticiones sin sacrificar las funcionalidades importantes de tu sitio. A continuación, te explicamos cómo puedes mitigar el consumo de recursos asociado con admin-ajax.php:
Una de las formas más fáciles de optimizar el uso de admin-ajax.php es utilizando plugins que permiten modificar los intervalos entre las peticiones. Estos plugins pueden aumentar el tiempo entre las peticiones hasta 60 segundos, lo que puede reducir el consumo de recursos hasta en un 90%.
Algunos de los plugins más utilizados para controlar la frecuencia de las peticiones AJAX son:
Si bien desactivar Heartbeat por completo puede ayudar a reducir la carga en el servidor, también desactivará funcionalidades importantes como el autoguardado y la actualización en tiempo real de los widgets. Esta opción no es recomendable, pero si estás dispuesto a sacrificar algunas funcionalidades, puedes hacerlo mediante un plugin o añadiendo código en el archivo functions.php de tu tema.
Si tu sitio web tiene un alto tráfico y no deseas que Heartbeat se ejecute en el front-end, puedes desactivar las peticiones a admin-ajax.php solo en el lado público del sitio, dejando que siga funcionando en el back-end donde es más necesario.
add_action( 'init', 'disable_heartbeat', 1 );
function disable_heartbeat() {
if ( ! is_admin() ) {
wp_deregister_script( 'heartbeat' );
}
}
PHPAunque optimizar el uso de admin-ajax.php puede mejorar el rendimiento de tu sitio, debes tener en cuenta que algunas funcionalidades pueden verse afectadas si ajustas demasiado las configuraciones de la API Heartbeat o si desactivas la API por completo. Por ejemplo, si usas WooCommerce o Easy Digital Downloads, reducir demasiado las peticiones podría afectar la actualización de los carritos o el estado del inventario.
La optimización del archivo admin-ajax.php de WordPress es una de las formas más efectivas de mejorar el rendimiento de tu sitio. Sin embargo, es importante entender cómo funciona la API Heartbeat y cómo las peticiones AJAX afectan el consumo de recursos del servidor. Usar plugins como Heartbeat Control o AJAX Heartbeat Tool te permitirá tener un control total sobre las peticiones y reducir el consumo de recursos de manera significativa.
Si tienes un sitio con múltiples plugins o un tráfico elevado, optimizar admin-ajax.php puede ser la clave para mejorar la velocidad de carga de tu página y reducir el impacto en el rendimiento del servidor.
Si ya has probado estas soluciones y sigues enfrentando problemas de velocidad, es posible que sea hora de revisar el conjunto completo de plugins y realizar ajustes adicionales en la configuración de tu sitio.