Nueva API en Chrome para “navegaciones suaves”

Chrome ha incluido una nueva API en el navegador, destinada a mejorar el modo en que se mide el rendimiento y la experiencia de usuario en navegaciones suaves o “soft navigations”. Su principal objetivo es medir las Core Web Vitals de manera óptima y uniforme en Single Page Applications (SPAs).

Por el momento se trata de un “Origin Trial”, un desarrollo experimental disponible desde Chrome 139 y cuyo periodo de evaluación se extenderá hasta marzo de 2026.

Por tanto, estamos ante una API cuyas métricas no tienen, al menos por el momento, ningún impacto sobre las Core Web Vitals.

¿Qué es una navegación suave?

Una navegación suave es aquella que ocurre cuando una interacción de navegación (como, por ejemplo, pulsar en un enlace) es procesada por JavaScript, actualizando el contenido en la página actual y sin necesidad de hacer una recarga.

Un caso común puede ser el de una paginación infinita: el nuevo contenido paginado se inyecta en el DOM de la página actual, sin necesidad de que exista una recarga completa de la página, pero sí actualizando la URL en el navegador.

También es una navegación suave aquella que ocurre en una Single Page Application, donde toda la página tiene un comportamiento como el anteriormente descrito y funciona sin necesidad de una recarga completa.

Navegación suave

¿Por qué es necesaria esta API?

La necesidad de una API como esta nace de la dificultad de las Core Web Vitals para medir de manera eficiente en sitios SPA. Actualmente, la medición de estos sitios ocurre en las navegaciones duras (en la primera carga), y las navegaciones suaves no reinician las métricas ni se interpretan como nuevas cargas.

Es decir, el LCP sólo puede medirse en la primera carga de una SPA, mientras que el CLS/INP es una métrica acumulativa a lo largo de toda la sesión que se atribuye a la URL originalmente cargada, dando lugar a una medición incorrecta.

Esto ocurre porque Chrome no tiene un criterio uniforme para identificar un evento de navegación en una SPA, sino que todo se interpreta como interacciones dentro de la URL inicialmente cargada.

¿Cómo resuelve el problema la API de Navegaciones Suaves?

Si desde nuestro perfil de LinkedIn pulsamos sobre el botón de crear una publicación, aparecerá una pequeña ventana emergente para especificar los detalles de la publicación sin necesidad de recargar la página y sin actualizar la URL en el navegador. En este caso, ¿estamos ante una navegación, o ante una interacción?, ¿habría que medir el LCP sobre la ventana emergente?…

Según Chrome, actualmente se trataría de una interacción y según la API de Navegaciones Suaves… también. La diferencia es que para Chrome actualmente todo son interacciones, no tiene ningún mecanismo para hacer esta diferenciación. Este es uno de los principales motivos por los cuales nace esta API: para instaurar unas reglas (heurísticas) que puedan dar uniformidad a lo que es considerado una navegación o una interacción.

El mecanismo más similar que tiene Chrome ahora mismo es el método intercept() de la API de Navegación, pero no sería un acercamiento válido para medir sobre SPAs por los siguientes motivos:

  • El uso del método intercept() no es obligatorio, por lo que pueden existir muchos sitios que utilicen la API de Navegación pero no intercept(), lo que requeriría que una cantidad indeterminada de SPAs reescribieran parte del código.
  • El comportamiento de intercept() es personalizable y en cada desarrollo puede hacerse un uso diferente de él.
  • La API de Navegación no es capaz de hacer una diferenciación real entre navegaciones e interacciones.

La API de Navegaciones Suaves resuelve este problema al estandarizar lo que se considera una navegación diferenciándolo de una interacción. Según la API, para que ocurra una navegación debe cumplirse lo siguiente:

  • Que el usuario lleve a cabo una interacción
  • Que dicha interacción suponga una modificación del DOM y un pintado relevante
  • Que dicha interacción suponga una actualización de URL

Además, al tratarse de una API que básicamente instaura un comportamiento uniforme en el navegador, supone que no sería necesario que los desarrollos de SPA actuales modifiquen su código para que esta API sea capaz de medir: podría hacerlo sobre cualquier desarrollo existente.

En conclusión

Si administras un sitio Single Page Application y tienes problemas para medir el rendimiento y la experiencia de usuario, la API de Navegaciones Suaves es una mejora muy prometedora.

Tanto para obtener una muestra de datos fiable de CrUX, como para obtenerlos desde desarrollos RUM de terceros, esta API permitirá señalar los problemas que se encuentran los usuarios de manera consistente.

Por el momento, se trata de un desarrollo experimental, pero puedes probarlo localmente en tu navegador Chrome desde: chrome://flags/#soft-navigation-heuristics

  •  | 
  • Publicado el
Guillermo Fernández Ruiz
Guillermo Fernández Ruiz
Guillermo, apasionado de la estrecha línea que separa el desarrollo del SEO, comenzó su camino profesional en el año 2014 ejerciendo como profesional autónomo durante 6 años. En 2019 se unió como Community Manager a una reconocida firma jurídica, para 4 años después dar el salto al ámbito de agencia y poder consolidar su verdadera pasión por el WPO y la indexabilidad.

¿Y tú qué opinas? Deja un comentario

Por si acaso, tu email no se mostrará ;)

Entradas relacionadas

es