Cómo Limitar o Detener el HeartBeat de WordPress

Categorias: Wordpress

Cómo Limitar o Detener el HeartBeat de WordPress

Heartbeat se traduce del inglés como latido del corazón y aunque nuestro WordPress no tiene un corazón real, si que tiene una especie de pulso que emite una comunicación directa entre el servidor y el panel de administración de WordPress.

Todo esto pasa desde que WordPress, en su versión 3.6, incluyó la API Hearbeat, con la buena intención de añadir funcionalidades interesante en el administrador de WordPress.

¿Os habéis encontrado con una alerta de que otro autor está editando el artículo al que estás accediendo? Esto lo sabe WordPress gracias a la API Heartbeat.


¿Qué es el HeartBeat en Realidad?

Como hemos comentado, el Heartbeat en WordPress sirve para comunicar continuamente el administrador de WordPress con el servidor.

Todo esto se hace a través del archivo admin-ajax.php, que posiblemente habrás visto entre los archivos de instalación de WordPress.

A través de este archivo se realizan llamadas AJAX al servidor cada cierto tiempo para saber si existe alguna modificación.

El tiempo que transcurre entre cada una de estas llamadas, puede variar, pero la más recurrente es cada 15 segundos y la realiza cuando se está editando algún artículo.

¿Te acuerdas de esa vez que estabas escribiendo un post en WordPress y el navegador se bloqueó y tuviste que reiniciarlo?

Si al volver al editor de WordPress, todo estaba como lo dejaste… ¡Dale las gracias al Heartbeat de WordPress!.

También hay ciertos plugins, como el popular WooCommerce, que hace uso de este archivo y del la API Heartbeat para mostrar notificaciones personalizadas, entre otras cosas.

En definitiva, se trata de una opción muy útil y que está activa por defecto en todas las instalaciones de WordPress.

Qué Problema Podemos Tener con Hearbeat de WordPress

El problema que algunos usuarios tienen con el Heartbeat de WordPress es el excesivo número de conexiones que realiza continuamente.

Muchos usuarios no necesitan que su WordPress se conecte cada 15 segundos cada vez que abre el editor, es posible que la escriba en otra aplicación, ni hay más de un autor que pueda coincidir con otro al editar un post.

Todas estas conexiones pueden provocar problemas en los recursos del hosting por un consumo excesivo de RAM o CPU.

Si un usuario tiene problemas de RAM o CPU en su hosting y está usando una o más instalaciones de WordPress, puede probar a limitar o desactivar el Heartbeat de WordPress.

Hay que tener en cuenta que hacer esto puede cambiar la forma de comportarse de WordPress, por lo que hay que tener preparado un sistema para revertirlo.

Lo mejore es , antes de hacer nada hacer una copia de seguridad.
 

Cómo Limitar el HeartBeat de WordPress

Para los usuarios de WordPress que puedan tener un problema con la configuración por defecto del Hearbeat de WordPress, existe una manera de poder limitar el número de pulsaciones de WordPress.

Para esto usaremos el plugin Heartbeat Control, que se puede descargar de manera gratuita desde aquío simplemente buscarlo desde el repositorio de plugins de WordPress.

heartbeat plugin WordPress

El plugin es muy sencillo de utilizar, pues no tiene muchas opciones. Una vez esté activo, podemos encontrar las opciones en Ajustes > Heartbeat Control Setting

ajustes hearbeat en WordPress

Para modificar el Heartbeat debemos seleccionar Modify Heartbeat y Seleccionar todas las localizaciones.

En la parte inferior veremos que tenemos un selector que marca 15. Si lo deslizamos a la derecha, será el tiempo de cada latido del Heartbeat de WordPress en segundos.

Es decir, si queremos que se ejecute cada minuto, lo dejaremos en 60. Si lo ponemos al máximo, que son 300 se ejecutará cada 5 minutos.

frecuencia heartbeat wordpress en WordPress

También existe la posibilidad de desactivar del todo el Heartbeat, para eso seleccionaremos Disable Hearbeat en opción de la parte superior.

desactivar heartbeat del todo WordPress

También podemos crear reglas independientes para:

Esto sirve para poder limitar o eliminar el Heartbeat en algunos sitios, como el Dashboard, pero dejarlo activo cuando editamos un post.

Todas las reglas que añadamos se pueden eliminar cuando queramos, así como crear varias reglas. Todo depende de nuestros gustos y preferencias respecto al Heartbeat de WordPress.
 

Cómo Desactivar el HeartBeat de WordPress sin Plugin

Si tienes muy claro que no quieres saber nada del Heartbeat de WordPress y quieres desactivarlo, pero no quieres tener que instalarun plugin para esto, puedes hacerlo de manera manual.

Para hacerlo hay que localizar el archivo functions.php, que podemos encontrar en la carpeta del theme que estemos usando.

Es conveniente saber que si en el futuro utilizamos otro theme, habrá que volver a realizar los cambios.

También es buena idea descargar una copia de seguridad del archivo functions.php, por si hacemos algo mal o surge algún problema, poder subir el archivo rápidamente.

Tenemos que editar el archivo functions.php para añadir el siguiente código:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Para editar el archivo, podemos hacerlo desde el Administrador de Archivos de cPanel.

editar functions cpanel WordPress

Solo hay que pegar el código, pero podemos añadir algún comentario para localizar el código en el futuro, podría ser algo asó:

/**
 * Desactivar HeartBeat WordPress.
 */
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Quedando algo así:

En cualquier caso, queda recordar que este código elimina del todo el Heartbeat, no es como el plugin que hemos comentado antes, con el que se puede limitar.

Después de añadirlo es recomendable hacer pruebas en WordPress por si surge algún problema a la hora de editar o publicar post así como comprobar que los plugins instalados siguen funcionando.

Y con esto ya sería suficiente para despedirnos del Heartbeat de WordPress.


Recuerda…

En Hostinet podemos ofrecerte el mejor hosting WordPress SSD al mejor precio.

Todos nuestros hosting WordPress cuentan con soporte técnico especializado, así como cPanel, SSL gratuitos, instalación automática de WordPress y mucho mas…

Hosting WordPress