Monitorización de usuarios reales

Ver en Markdown

Activa la medición de las Core Web Vitals sin tocar código, elige el muestreo, excluye rutas, permítela en tu CSP y lee el informe.

En esta página

La monitorización de usuarios reales (RUM) mide las Core Web Vitals en los navegadores de tus visitantes reales. No cambias nada en tu sitio: el borde añade un script pequeño a tus páginas HTML y el navegador envía los datos a tu propio dominio. El RUM viene desactivado por defecto y se puede ajustar por zona y por nombre.

Cómo funciona

  1. El borde añade <script defer src="/__waf/rum.js?v=…"> antes del </head> de las páginas HTML. El script ocupa unos 5 KB comprimido y lo sirve el propio borde.
  2. El navegador mide LCP, INP, CLS, FCP y TTFB mientras la página está abierta.
  3. Cuando la página se oculta (se cambia de pestaña, se cierra o se navega a otra), envía una baliza a /__waf/rum en tu dominio. Los envíos posteriores de la misma vista solo llevan lo que cambió, normalmente INP y CLS.
  4. El borde valida la baliza, añade el tipo de dispositivo y el país, descarta la dirección IP y el User-Agent, y la reenvía. Los datos aparecen en el informe alrededor de un minuto después.

El script solo se añade a las respuestas 200 a peticiones GET con un Content-Type HTML, fuera de las rutas excluidas, nunca a las páginas que genera el borde (retos, páginas de bloqueo, puerta de acceso) y según el muestreo. Se añade al servir la página, así que también llega a las páginas servidas desde la caché del borde, y las copias en caché nunca lo contienen. Las páginas comprimidas se descomprimen, se inyectan y se vuelven a comprimir.

Actívalo

Ve a Analítica › Rendimiento real, elige el Muestreo y pulsa Activar. Después, en los Ajustes de la página puedes cambiar el muestreo y las Rutas excluidas, o Desactivar la medición.

Como todo ajuste del borde, cada cambio crea una versión de la zona, queda en la auditoría y se puede revertir.

Ajustes

ClaveValoresPor defecto
rum.enabledtrue, falsefalse
rum.sample_rateMayor que 0 y como mucho 1: la parte de las vistas de página que reciben el script (0.25 = una de cada cuatro).1
rum.exclude_pathsPrefijos de ruta que nunca reciben el script.[]

Los valores se validan aunque el RUM esté desactivado: un sample_rate de 0 o mayor que 1, una ruta relativa o un campo desconocido se rechazan con un 422.

Rutas excluidas

Hasta 50 prefijos. Cada uno empieza por /, tiene como mucho 256 bytes, no lleva ? ni # y no se repite; se recortan los espacios y se descartan las líneas vacías. Excluye las páginas que no quieras medir, por ejemplo /admin o /checkout.

Por nombre

Cada campo fijado para un nombre sustituye al de la zona para ese nombre:

openwaf-cloud ctl zones set example.com --host shop.example.com rum.sample_rate=1 --reason "medir toda la tienda"
openwaf-cloud ctl zones set example.com --host admin.example.com rum.enabled=false --reason "sin RUM en el admin"
openwaf-cloud ctl zones set example.com --host admin.example.com --unset rum --reason "hereda de la zona"

En la API: {"hosts": {"admin.example.com": {"rum": {"enabled": false}}}}; {"rum": null} dentro del nombre vuelve a heredar la zona.

Content-Security-Policy

Si tu origen envía una Content-Security-Policy, debe permitir que el script se cargue y envíe datos a tu propio origen:

  • permite 'self' en script-src y connect-src, o bien
  • envía un nonce en script-src: el borde lo reutiliza para su script.

Si la política bloquearía el script, el borde no lo inyecta y el informe avisa de cuántas vistas de página no se midieron por culpa de la CSP.

Lee el informe

Analítica › Rendimiento real sigue la organización de los datos de campo de PageSpeed Insights:

  • pestañas de dispositivo Móvil (por defecto), Escritorio, Tableta (solo si hay visitas) y Todos;
  • Esta página o Todo el sitio;
  • la Evaluación de las Métricas web principales y un recuadro por métrica con su p75 y el porcentaje de vistas buenas, mejorables y malas (Ampliar vista añade umbrales, tendencia y tamaño de la muestra);
  • Diagnostica problemas de rendimiento: desglose del LCP, elemento LCP, interacciones y scripts detrás del INP, saltos de diseño y desgloses por página, país, nodo del borde, conexión y en el tiempo.

Los filtros (periodo de 24 h, 7 o 30 días; país; nodo del borde; página) viven en la dirección, así que puedes compartir una vista.

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar