Umami Analytics
Plugin de Umami no oficial, sin afiliación con Umami: tráfico, páginas más vistas, referentes y vistas por entrada en la administración de EmDash.
Extensión
Umami Analytics
Plugin de Umami no oficial, sin afiliación con Umami: tráfico, páginas más vistas, referentes y vistas por entrada en la administración de EmDash.
Descripción
Un plugin no oficial. No está afiliado a Umami, ni cuenta con su aprobación o soporte.
Muestra tus cifras de Umami dentro de la administración de EmDash: el tráfico del sitio en el panel y las vistas de página junto a las entradas que las generaron. Para Umami Cloud y para un Umami autoalojado desde la versión 3.4.0.
- Tarjeta de tráfico de Umami. En el panel: visitas, vistas de página y participación de los últimos siete días frente a la semana anterior, y las cinco páginas más vistas con sus entradas.
- Página Umami Analytics. Un gráfico diario de 7, 30 o 90 días, tasa de rebote y duración de la visita, entradas principales, referentes, países, vistas de página según los datos de eventos que tu sitio adjunta (por categoría, para empezar) y una comprobación de la configuración que indica la solución para cada problema que encuentra.
- Página por entrada. Cada entrada publicada con sus vistas de página a 7 y 30 días, ordenables, para una colección o para todas, con las traducciones combinadas si quieres.
- Panel de Umami en el editor. Las vistas de página a 7 y 30 días de cada entrada junto al editor, y hasta dónde llegan los lectores cuando tu sitio envía un evento de lectura.
- Herramientas MCP. Cuatro herramientas de solo lectura que responden a partir de las cifras almacenadas.
El plugin solo lee. Nunca cambia nada en Umami ni en tu contenido. Los datos de demostración te permiten probarlo sin un sitio web en Umami.
Está probado con un Umami 3.4.0 autoalojado. La conexión con Umami Cloud sigue la API publicada por Umami y aún no se ha probado con una cuenta de Cloud.
Basado en el plugin de analítica de EmDash de Eisbachcode, con licencia MIT.
Instalación
Necesitas: EmDash 1.0.1 o posterior con un ejecutor de sandbox para plugins; un sitio web en Umami con el script de seguimiento de Umami ya instalado en tu sitio; un Umami autoalojado 3.4.0 o posterior (la primera versión autoalojada con claves de API) o Umami Cloud; y EMDASH_ENCRYPTION_KEY definida en el sitio para que la clave de API se pueda guardar cifrada (npx emdash secrets generate genera una).
- Instala el plugin desde el registro y revisa sus permisos: leer contenido, leer el esquema y realizar solicitudes de red a cualquier host público. El plugin solo solicita la URL de la API de Umami indicada en sus ajustes.
- En Umami, crea un usuario con el rol View only. Añádelo al equipo que posee tu sitio web, con el rol de equipo View only. Si el sitio es tuyo y no de un equipo, muévelo primero a un equipo.
- Inicia sesión en Umami con ese usuario y crea una clave en Settings > API keys.
- En EmDash, abre Plugins y luego los ajustes de este plugin. Pega la clave en Umami API key.
- Para un Umami autoalojado, establece Umami API URL en
https://your-host/api. El valor predeterminado es la dirección de Umami Cloud. - Introduce el ID del sitio web de Umami que aparece en los ajustes del sitio en Umami. Si lo dejas vacío, la tarjeta del panel lista los sitios que la clave puede ver, para que puedas copiar uno. Guarda.
- Abre Plugins > Umami Analytics y selecciona Check setup. Revisa todo de lo que dependen las cifras y da una frase por cada problema.
Las primeras sincronizaciones leen hacia atrás hasta Keep daily rows for (90 días por defecto), empezando por lo más reciente. En Node, esto tarda unas dos horas para un sitio de 100 entradas.
Cada colección necesita un patrón de URL (en Tipos de contenido); de lo contrario, las páginas no se pueden asociar a entradas. En Cloudflare Workers, la sincronización necesita el Cron Trigger de la guía de despliegue de EmDash.
Un Umami autoalojado debe estar en un nombre de host público: EmDash rechaza las direcciones privadas, así que localhost, una dirección de red local o un nombre accesible solo por VPN no funcionarán.
Para usar las herramientas MCP, activa el acceso Agent del plugin en Plugins. Vuelve a activarlo tras una actualización que cambie una herramienta.
Preguntas frecuentes
¿Por qué todo muestra cero? La mayoría de los errores de configuración dan ceros sin ningún error. Abre Plugins > Umami Analytics y selecciona Check setup: indica la solución para cada problema que encuentra.
¿Por qué mis cifras difieren de las del panel de Umami?
Los días siguen el ajuste Time zone: usa la zona horaria del sitio web en Umami, o las cifras diarias difieren cerca de la medianoche. Las páginas bajo /_emdash se omiten, y los totales cuentan solo los nombres de host de Hostnames to count (la URL de tu sitio y su forma con www, salvo que se cambie).
¿Funciona con Umami Cloud? Sigue la API publicada por Umami, pero aún no se ha probado con una cuenta de Cloud. Informa de lo que encuentres en las incidencias del repositorio.
Mi Umami está detrás de un proxy con inicio de sesión. Deja pasar sin él los ocho endpoints de la API de Umami que usa el plugin. El README los enumera, y Umami comprueba la clave de API en cada uno.
¿Cuántas solicitudes hace? Una sincronización hace como máximo siete solicitudes a Umami. Abrir la página Umami Analytics hace cinco.
¿Puedo probarlo sin Umami? Sí. Establece Data source en Demo data y selecciona Refresh en la tarjeta del panel. Genera 90 días de tráfico inventado sobre tus entradas reales. Cambiar el origen de datos borra todas las cifras almacenadas, así que las cifras de demostración nunca se mezclan con las reales.
¿Quién puede ver las cifras? Los editores y administradores ven la tarjeta del panel, las dos páginas de Umami y las herramientas MCP. Los autores ven el panel del editor de sus propias entradas.
¿De dónde salen las tablas por categoría?
De los datos de eventos que tu sitio adjunta a sus vistas de página con el hook data-before-send del rastreador de Umami. Indica hasta tres propiedades en Views by event data. Un sitio que no envía ninguna no ve tablas.
¿Cómo funciona la profundidad de lectura?
Tu sitio envía un evento personalizado cuando un lector alcanza cada profundidad de una entrada, por ejemplo post_read con post y depth. Rellena los cuatro ajustes de Read-through en consecuencia. Por defecto están vacíos, lo que desactiva la función.
¿Qué idiomas habla? Inglés y alemán, según el idioma de administración de cada usuario.
Seguridad
Informa de un problema de seguridad de forma privada mediante el formulario de avisos del repositorio: https://github.com/shanelord01/emdash-umami-analytics/security/advisories/new
Qué puede hacer la clave de API de Umami
Una clave de API de Umami no tiene permisos propios. Puede hacer todo lo que puede hacer el usuario que la creó. Una clave creada con un usuario administrador podría modificar o eliminar todos los sitios web de tu Umami, así que créala con un usuario con el rol View only, añadido al equipo del sitio web con el rol de equipo View only. Una clave creada así puede leer los sitios web de ese equipo y no cambiar nada. El propio plugin solo envía solicitudes GET.
Acceso a la red
El plugin solicita network:request:unrestricted, porque un Umami autoalojado está en un host que escribes en los ajustes, algo que ninguna lista fija de hosts podría nombrar. Solo solicita la URL de la API de Umami indicada en sus ajustes (https://api.umami.is/v1 salvo que se cambie), con la clave como token Bearer. Los datos de demostración no hacen ninguna solicitud. EmDash rechaza las direcciones privadas para todos los plugins.
Qué se envía y qué se almacena
- Umami recibe la clave de API, el ID del sitio web y los nombres de host que se deben contar. Nada de tu contenido sale del sitio.
- La clave se guarda como ajuste cifrado (AES-GCM con
EMDASH_ENCRYPTION_KEY). Sin esa clave, EmDash se niega a guardarla en lugar de almacenarla en texto plano. El plugin nunca la escribe en sus registros. - La base de datos del sitio guarda las vistas de página y visitas por día y ruta, los totales del sitio y la participación por día, la asociación de cada ruta con su entrada con los recuentos de vistas y la profundidad de lectura de esa entrada, y el estado de la sincronización con las páginas, referentes y países principales de la última semana. Las filas diarias anteriores a Keep daily rows for se eliminan.
Quién puede hacer qué
La tarjeta del panel, las páginas Analytics y Per entry y las herramientas MCP requieren el rol de editor. El panel del editor requiere el rol de autor y muestra solo las entradas que el usuario puede editar. Cambiar los ajustes requiere el rol de administrador.
Registro de cambios
0.1.4
- En EmDash 1.2 y posteriores, las páginas aparecen en una sola carpeta de Umami en la barra lateral (Analytics, Per entry). Sus direcciones no cambian; las versiones anteriores de EmDash las listan una por una.
- Sin nuevos permisos y sin cambios en las herramientas MCP.
0.1.3, 9 de octubre de 2026
- Los días siguen tu zona horaria. Antes eran días UTC, por lo que una vista de página antes de las 10 h aproximadamente en Sídney se contaba en el día anterior. El nuevo ajuste Time zone empieza en Australia/Sydney. Establece la zona del sitio web en Umami.
- Al actualizar, las cifras almacenadas se borran una vez y se vuelven a leer desde Umami, empezando por las más recientes. Los gráficos y las vistas por entrada se rellenan durante la puesta al día: unas dos horas para 90 días y 100 entradas en Node, al ritmo del Cron Trigger en Cloudflare Workers. Cambiar el ajuste más adelante produce lo mismo.
- Con nombre de Umami para que no se confundan con los de otro plugin: las páginas Umami Analytics y Umami per entry (mismas direcciones), la tarjeta de tráfico de Umami y el panel de Umami en el editor.
- La página del registro tiene pestañas, incluido este registro de cambios, y un banner.
- Correcciones de administración: ya no aparece el falso «ninguna página coincide», las páginas principales del panel cubren sus 7 días, el gráfico diario nombra su serie y el panel del editor indica el día en que empieza su historial almacenado.
- Sin nuevos permisos. Las herramientas MCP ahora describen sus días en tu zona horaria, por lo que EmDash desactiva el acceso Agent tras la actualización. Vuelve a activarlo en Plugins.
0.1.2, 1 de octubre de 2026
- Participación junto a los totales: tasa de rebote, visita media y páginas por visita frente al período anterior, y un nuevo campo
engagementensite_totals. - Profundidad de lectura por entrada (cuatro ajustes, desactivada por defecto) y dos nuevos endpoints de Umami que solo se usan con ella activada. Puesta al día más rápida tras la instalación.
- Vuelve a activar el acceso Agent en Plugins tras la actualización.
Historial completo: CHANGELOG.md.