WordPress es uno de los gestores de contenidos más utilizados del mundo, pero también es conocido por su elevado consumo de recursos dinámicos si no se ajusta correctamente. Aunque gran parte de la carga puede mitigarse con el uso de CDN y cacheo de archivos estáticos, existen procesos internos que continúan generando peticiones al servidor de forma constante.
Estas solicitudes dinámicas, como la API Heartbeat, las tareas de cron virtuales o las llamadas a admin-ajax.php, pueden saturar un hosting compartido o incluso ralentizar servidores dedicados cuando el tráfico aumenta. La buena noticia es que existen ajustes sencillos para aligerar esta presión y mejorar la estabilidad general de la web.
Cada vez que un visitante entra en una página, WordPress genera múltiples procesos: consultas a la base de datos, ejecución de funciones PHP, envío de AJAX y actualización de cron jobs.
Si no se controlan, estos procesos pueden traducirse en:
Por ello, la optimización del comportamiento dinámico se ha convertido en una parte fundamental de la administración moderna de WordPress.
La API Heartbeat de WordPress fue creada para mantener la comunicación en tiempo real entre el navegador del usuario y el servidor. Entre otras cosas, permite:
El problema es que, por defecto, genera peticiones cada 15-60 segundos, incluso cuando el usuario está inactivo en la pestaña. Esto provoca una gran cantidad de procesos innecesarios.
Se puede limitar su uso añadiendo un pequeño fragmento de código al archivo functions.php del tema activo o a un plugin de funciones personalizado:
add_action( 'init', function() {
wp_deregister_script('heartbeat');
}, 1 );
Lenguaje del código: JavaScript (javascript)
Este código desactiva por completo la API Heartbeat. Si se desea simplemente reducir su frecuencia, se puede usar:
add_filter( 'heartbeat_send', '__return_false' );
add_filter( 'heartbeat_settings', function( $settings ) {
$settings['interval'] = 120; // 120 segundos
return $settings;
});
Lenguaje del código: PHP (php)
El plugin Perfmatters ofrece una forma mucho más sencilla:
Con un clic, se consigue reducir cientos o miles de peticiones diarias innecesarias.
wp-cron.php por un cron real en el servidorWordPress incluye un sistema de tareas programadas conocido como WP-Cron. Este mecanismo ejecuta acciones como publicar entradas programadas, enviar correos o limpiar revisiones.
El inconveniente es que se activa cada vez que un usuario visita la web, lo que añade carga extra al servidor y, en sitios con poco tráfico, puede provocar retrasos en la ejecución de tareas.
Para hacerlo, basta con añadir esta línea en el archivo wp-config.php:
define('DISABLE_WP_CRON', true);
Lenguaje del código: JavaScript (javascript)
Después, se debe programar un cron job real en el hosting (cPanel, Plesk o acceso SSH). Un ejemplo de configuración típica sería:
*/5 * * * * php /ruta/a/tu/web/public_html/wp-cron.php > /dev/null 2>&1
Lenguaje del código: JavaScript (javascript)
Este cron ejecutará las tareas de WordPress cada 5 minutos de manera controlada, sin depender de las visitas de los usuarios.
admin-ajax.phpOtro de los grandes responsables del consumo excesivo en WordPress es el archivo admin-ajax.php, utilizado para ejecutar peticiones en segundo plano.
Aunque es útil para funciones del panel de administración o formularios en el frontend, también es uno de los archivos más atacados por bots y puede disparar el consumo de CPU.
/wp-admin/admin-ajax.php.En combinación con las medidas anteriores, esto ayuda a reducir las peticiones que realmente llegan al servidor.
Además de estos ajustes técnicos, los plugins de optimización siguen siendo un gran aliado:
Su uso combinado con Cloudflare y buenas prácticas de cacheo puede reducir la carga del servidor hasta en un 70 %, según diversos benchmarks.
La optimización de WordPress no pasa solo por usar una CDN o cachear imágenes. Gran parte de la mejora depende de controlar los procesos dinámicos que ejecuta el servidor:
wp-cron.php.admin-ajax.php.Estas medidas, sumadas a una estrategia de cacheo con Cloudflare o sistemas similares, permiten que incluso un hosting modesto soporte mejor los picos de tráfico, garantizando estabilidad y rapidez.
1. ¿Es seguro desactivar la API Heartbeat de WordPress?
Sí, aunque lo recomendable es reducir su frecuencia en lugar de eliminarla por completo, ya que algunas funciones del editor o plugins pueden depender de ella.
2. ¿Cada cuánto tiempo debe ejecutarse el cron real en el servidor?
Lo habitual es configurarlo cada 5 minutos, aunque en webs pequeñas puede bastar con cada 10 o 15 minutos.
3. ¿Qué impacto tiene admin-ajax.php en el rendimiento?
En sitios con mucho tráfico, puede convertirse en el principal consumidor de CPU, especialmente si plugins mal optimizados envían peticiones constantes. Limitar su uso o bloquear accesos abusivos es clave.
4. ¿Qué plugin es más recomendable para reducir carga dinámica?
Perfmatters es muy eficaz para controlar Heartbeat y scripts, mientras que FlyingPress o WP Rocket son más completos para cacheo y optimización de recursos. Lo ideal es combinarlos según las necesidades del sitio.
