• 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

Heartbeat API de WordPress, aprende a configurarla

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

optimización

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

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.

 

¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Cómo eliminar todos los productos de WooCommerceCómo eliminar todos los productos de WooCommerce
  • Agrupar los resultados de búsqueda en WordPressAgrupar los resultados de búsqueda en WordPress
  • tipos de complementos de WordPress5 tipos de complementos de WordPress
  • Sincronizar WooCommerce y Google SheetsSincronizar WooCommerce y Google Sheets
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

Presentación

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

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Crear un Child Theme en WordPress de manera correcta

Leer más y Extracto en WordPress

Ocultar categorías que no están activas en widget de categorías WooCommerce

Cómo eliminar todos los productos de WooCommerce

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