Archivo admin-ajax.php de WordPress ¿Qué es y cómo optimizarlo?

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.

¿Qué es admin-ajax.php en WordPress?

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.

El Admin-ajax y Heartbeat en WordPress

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.

Mira esto  Archivo htaccess de Wordpress: todo lo que necesitas saber para optimizar tu web

Algunos ejemplos de cómo se usa admin-ajax.php y Heartbeat en WordPress incluyen:

  • Autoguardado de revisiones en el editor de entradas.
  • Posiciones de widgets en el editor de widgets del back-end.
  • Autenticación AJAX en widgets de inicio de sesión.
admin-ajax.php de WordPress
Archivo admin-ajax.php de Wordpress ¿Qué es y cómo optimizarlo? 4

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.

¿Por qué admin-ajax.php consume muchos 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.

admin-ajax.php de WordPress
Archivo admin-ajax.php de Wordpress ¿Qué es y cómo optimizarlo? 5

¿Cómo Optimizar admin-ajax.php en WordPress?

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:

1. Controlar el Intervalo de las Peticiones con Plugins

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%.

Mira esto  El Conflicto Reciente entre WordPress y WP Engine: ¿Qué está pasando?

Algunos de los plugins más utilizados para controlar la frecuencia de las peticiones AJAX son:

  • Heartbeat Control: Este es uno de los plugins más populares, y te permite controlar la frecuencia de los pulsos de Heartbeat o incluso desactivarlo por completo.
  • AJAX Heartbeat Tool: Similar a Heartbeat Control, pero con más opciones. Permite ajustar los intervalos entre las peticiones y especificar en qué partes de WordPress se deben permitir las solicitudes AJAX.

2. Desactivar Totalmente la API Heartbeat (Con Precaución)

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.

3. Desactivar Heartbeat Solo en el Front-End

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.

PHP
add_action( 'init', 'disable_heartbeat', 1 );
function disable_heartbeat() {
    if ( ! is_admin() ) {
        wp_deregister_script( 'heartbeat' );
    }
}
PHP

¿Cuáles Son los Riesgos de Optimizar Demasiado?

Aunque 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.

Mira esto  WordPress no envía correos: Solución rápida y efectiva

Conclusión: Optimiza, Pero Sin Sacrificar Funcionalidad

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.

Compartir Artículo
Foto Yodeimi
Yodeimi Gómez

Soy desarrollador de web y apps, con conocimientos en SEO y programación profesional. Mi objetivo es seguir creciendo como profesional y contribuir al desarrollo de proyectos exitosos.

Articles: 36

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *