• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Heartbeat API de WordPress, aprende a configurarla

Heartbeat API de WordPress, aprende a configurarla

[ 12 agosto 2020 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

optimización

Suscríbete a DecodeCMS:  

Si te interesa los temas de optimización posiblemente en algún momento tengas que configurar la funcionalidad de Heartbeat de WordPress, ya que debido a su comportamiento repetitivo puede en algunos casos llegar a demandar recursos extra del servidor.

 

¿Qué es la API de Heartbeat?

La API de Heartbeat es una funcionalidad introducida en la versión 3.6 de WordPress, Heartbeat o traducido como “latido de corazón”, se ejecuta repetitivamente en un lapso de tiempo, similar a un latido, enviando peticiones y esperando una respuesta del servidor.

 

¿Para qué usa WordPress esta API?

WordPress la usa para tareas repetitivas de monitoreo, en donde se tiene que estar pendientes de cambios en el servidor para informar al navegador del usuario.

A continuación se muestran algunas de estas tareas:

  • Auto guardado de entradas y páginas u otro tipo de contenido.
  • Notificaciones en la administración de WordPress
  • Bloqueo de contenido que esta siendo trabajado por otro usuario
  • Mantener datos estadísticos actualizados en paneles de control de algunos plugins.
Al ser una API puede ser usada igualmente por otros plugins o por código personalizado en tu theme.

 

¿Cómo funciona Heartbeat?

Técnicamente son llamadas al servidor usando Ajax, cada cierto periodo de tiempo, es decir en algún lugar de la API se hace uso de la función setinterval() de Javascript.

Puesto que son llamadas Ajax puedes monitorear el archivo admin-ajax.php para ver las peticiones que se hacen a este archivo.

En la siguiente imagen vemos la cantidad de llamadas que se han generado al hacer uso de esta API de Heartbeat.

Inspeccionar peticiones Ajax navegador

 

Limitando la funcionalidad de Heartbeat

No recomiendo deshabilitar totalmente esta funcionalidad ya que es útil en muchos casos, sin embargo puedes extender el intervalo de las peticiones o incluso limitarlas a ciertas áreas de tu sitio web.

Ten en cuenta que existe el plugin Heartbeat Control con el que puedes realizar configuraciones básicas de limitación del heartbeat, sin embargo en este artículo usaremos directamente código.

– Extender el período de ejecución de heartbeat

La primera opción es cambiar el tiempo de ejecución, puedes cambiar la cantidad a partir de 15 segundos, por ejemplo con el siguiente código:

add_filter( 'heartbeat_settings', 'dcms_modificar_heartbeat' );
function dcms_modificar_heartbeat( $settings ) {
	$settings['interval'] = 60;
	return $settings;
}

En el código anterior hemos usado un Hook de filtro heartbeat_settings, hemos cambiado el intervalo para todas las ejecuciones de Heartbeat a 60 segundos, sin embargo es posible también hacer este cambio agregando condicionales.

 

Cargando Heartbeat sólo en determinadas secciones del sitio

El Heartbeat inicia a través de la ejecución de javascript, por lo tanto bastaría con sólo desregistrar la carga del archivo Javascript Heartbeat

add_action("admin_enqueue_scripts", “dcms_carga_heartbeat");
function dcms_carga_heartbeat(){
	$screen = get_current_screen();
	if ( $screen->post_type != 'post' ) {
    	wp_deregister_script( 'heartbeat' );
	}
}

En el código anterior sólo mantendremos el registro del archivo javascript de Heartbeat en las páginas que carguen las entradas, en cualquier otro caso desregistramos la carga del script.

 

Conclusión

Como has podido comprobar, existe la funcionalidad de Heartbeat en WordPress que esta continuamente realizando solicitudes al servidor, si en algún momento llegas a tener una sobrecarga, tal como hemos visto, puedes limitar el uso de esta funcionalidad a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (3 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Usar el Media Uploader de WordPress en tus plugins y temas

Poner WordPress en Mantenimiento sin plugins

Procesamiento de datos por lotes en WordPress utilizando Locomotive

Contenido restringido para usuarios usando shortcodes

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados