Toda la documentación

Empezar

  1. 01Primeros pasos
  2. 02Instalación
  3. 03Seguimiento

Funciones

  1. 04El panel
  2. 05Objetivos
  3. 06Enlaces cortos
  4. 07Fuentes y agentes de IA
  5. 08Informes por email
  6. 09Comprobación programada
  7. 10Pregunta a tu IA

Referencia

  1. 11Configuración
  2. 12API HTTP

Plataformas

  1. 13Servidor independiente
  2. 14PHP
  3. 15WordPress
  4. 16Drupal
  5. 17Craft CMS
  6. 18Python
  7. 19Rails
  8. 20Ruby
  9. 21Go
  10. 22Java
  11. 23.NET
  12. 24Elixir
  13. 25Rust

Confianza

  1. 26Privacidad

Plataformas

WordPress

Cuenta las visitas de un sitio WordPress con Runlight, y descubre cuándo lo leen los agentes de IA.

El plugin de Runlight ejecuta Runlight dentro de un sitio WordPress, con el panel en /runlight del sitio y las cifras en su propia base de datos. También puede enviar los datos a un Runlight que ejecutes en otro lugar, ya sea el servidor independiente o una aplicación con Runlight montado, para que un solo panel cubra muchos sitios.

Qué hace

  • Añade el script de Runlight a cada página. En una página a la que WordPress responde con un 404, el script registra además un evento llamado 404 con la ruta de la página que falta, así que las propiedades de 404 en el recuadro Eventos listan las direcciones rotas a las que llegó la gente y con qué frecuencia.
  • Deja fuera las visitas de los propios administradores, salvo que lo desactives.
  • Registra agentes de IA como ChatGPT y Claude cuando acceden a tus páginas. Los agentes no ejecutan JavaScript, así que el script no puede verlos, y el plugin los registra en el servidor una vez enviada la página.
  • Añade al menú de administración un elemento Runlight que muestra el panel de este sitio en wp-admin.

Configúralo

Instala el plugin y actívalo, con wp plugin install runlight --activate, o en Plugins, Añadir nuevo plugin. Se abre su pantalla de configuración, y no se cuenta nada hasta que eliges dónde se ejecuta Runlight. Pulsa Run Runlight in this WordPress y empieza a contar el sitio.

El elemento Runlight del menú de administración muestra las cifras, y su botón Open in Runlight abre el panel completo en /runlight de tu sitio. Allí puedes añadir objetivos, embudos, enlaces cortos e informes por email, e importar el historial desde Umami. Cualquiera que pueda gestionar opciones, por defecto los administradores, es propietario de este Runlight, y a los demás se les pide que inicien sesión en WordPress.

Ejecutar Runlight dentro de WordPress necesita PHP 8.2 o posterior con las extensiones mbstring y openssl. La página de ajustes, en Ajustes, Runlight, avisa cuando falta algo.

Dónde se guardan las cifras

Cuando la base de datos de WordPress es MySQL 8.0.20 o posterior, o MariaDB 11.4 o posterior, Runlight guarda ahí sus cifras a través de la propia conexión de WordPress, así que tus copias de seguridad de la base de datos las incluyen. Sus tablas llevan el prefijo de tablas de WordPress, como wp_rl_events, así que otra aplicación u otro WordPress que comparta la base de datos mantiene las suyas. Si ya hay tablas con esos nombres y no son de Runlight, usa un archivo SQLite. En los demás casos, las cifras van a un archivo SQLite en wp-content/uploads/runlight, con un nombre que nadie puede adivinar, lo que necesita la extensión sqlite3 de PHP. Cada sitio de una red tiene siempre su propio archivo. La elección se hace la primera vez que se ejecuta Runlight y no cambia nunca, así que las cifras nunca quedan repartidas en dos sitios.

Desactivar el plugin lo conserva todo. Borrarlo elimina las tablas de Runlight o su carpeta, junto con los ajustes del plugin, en todos los sitios de una red. Solo elimina las tablas propias de Runlight, cada una por su nombre.

Ubicaciones

Los países de los visitantes salen de una cabecera cuando una CDN como Cloudflare la envía. Si no, activa Show which countries visitors come from en Ajustes, Runlight, y el plugin descarga una vez al mes la base de datos gratuita de países de DB-IP y la guarda en la carpeta de subidas. Las direcciones se consultan en tu servidor y nunca se envían a ningún sitio.

Mantenimiento cada hora

El cron de WordPress ejecuta la comprobación programada de Runlight cada hora, que crea la sal de cada día, envía los informes por email, borra las visitas que superan la retención que hayas elegido y suma los días terminados. El cron de WordPress se ejecuta cuando alguien visita el sitio, así que en un sitio con poco tráfico puede llegar tarde, lo que solo retrasa los informes. Los sitios que desactivan el cron de WordPress y llaman a wp-cron.php desde un cron real reciben la comprobación con esa frecuencia. Cuando la comprobación lleva más de un día sin ejecutarse, la página de ajustes lo indica.

Informes por email

Cuando hay un plugin de SMTP o de correo activo en WordPress, como WP Mail SMTP, FluentSMTP, Post SMTP o Easy WP SMTP, Runlight envía sus informes por email y los correos de prueba a través de WordPress, desde la dirección de correo de administración y con el nombre del sitio. Ajustes, Servicio de correo en el panel indica entonces qué plugin los envía. WordPress por sí solo envía con mail() de PHP, que a menudo acaba en spam o no llega a ningún sitio, así que sin un plugin así el panel te pide que configures allí un servicio de correo. También puedes elegir otro servicio mientras hay un plugin activo, y volver más tarde al sistema de correo de WordPress desde el mismo lugar. El panel no ofrece un servidor SMTP en WordPress, ya que un plugin de SMTP lo cubre y Runlight envía a través de ese plugin.

Las direcciones de los visitantes

Runlight cuenta a los visitantes con un hash diario de su dirección, y limita con qué frecuencia puede enviar una misma dirección. El plugin determina la dirección por sí mismo, así que ningún visitante puede elegirla. Toma la dirección de la que llegó la petición, salvo que sea el propio servidor o una red privada, en cuyo caso un proxy en el mismo host ha reenviado la petición. Entonces toma la dirección pública más cercana de X-Forwarded-For, a la que cada proxy añade la suya. Cuando esa dirección es de Cloudflare, toma la dirección del visitante de la cabecera CF-Connecting-IP de Cloudflare. Un hosting que lo sepa mejor puede indicarlo con el filtro runlight_client_ip.

php

add_filter( 'runlight_client_ip', function ( $ip, $server ) {
    return $server['HTTP_X_REAL_IP'] ?? $ip;
}, 10, 2 );

Con los enlaces permanentes simples, un servidor como Apache solo envía index.php a WordPress, así que Runlight responde en /index.php/runlight, que funciona en cualquier servidor, y la página de ajustes muestra esa dirección. Elegir cualquier otra estructura en Ajustes, Enlaces permanentes lo mueve a /runlight.

Envía a un Runlight que ejecutas en otro lugar

  1. En la pantalla de configuración del plugin, en Connect to a Runlight you run elsewhere, introduce la dirección en la que responde ese Runlight, como https://stats.example.com para el servidor independiente o https://example.com/runlight para una aplicación con Runlight montado. Runlight la muestra en Ajustes, Instalación, como Dirección de Runlight.
  2. Pulsa Connect. Tu Runlight te pide que inicies sesión si no lo has hecho, y luego que permitas la conexión para el sitio que cuenta este dominio. Si ningún sitio lo cuenta todavía, ofrece añadir uno cuando sus sitios se gestionan desde su panel, como en el servidor independiente.
  3. Pulsa Allow. Runlight te devuelve a WordPress con todos los ajustes rellenados, y el elemento Runlight del menú de administración muestra las cifras de este sitio.

Al conectar, el plugin recibe dos claves. La clave de agentes informa de los agentes de IA que leen tus páginas, y solo puede informar de accesos a este sitio, así que no puede leer tus estadísticas ni escribir en otro sitio. La clave del panel muestra el panel de este sitio en wp-admin, en solo lectura, así que trátala como una contraseña. La clave del panel aparece en Runlight en Ajustes, API e IA, donde borrarla detiene el panel en wp-admin.

Conectar necesita wp-admin en HTTPS, o en localhost mientras haces pruebas, ya que Runlight solo devuelve a la gente a direcciones así. En una aplicación con Runlight montado, el sitio tiene que estar ya en hostnames (consulta Configuración), porque ahí los sitios se definen en el código.

Introduce los ajustes a mano

Cada ajuste del plugin tiene su equivalente en Runlight, en Ajustes, Instalación, en la sección WordPress, Drupal y Craft, con un botón para copiarlo. Copia Dirección de Runlight, Clave de agentes y Clave del panel en los campos Runlight address, Agents key y Dashboard key del plugin y guarda. Runlight muestra la clave del panel una sola vez, así que crea una nueva si la pierdes. Site id (Id del sitio en Runlight) solo hace falta cuando ese Runlight no reconoce este sitio por su dominio. Al guardar, el plugin comprueba que la dirección responde y te dice el resultado.

Recuento

En Counting, Count clicks on links to other sites registra cada clic en un enlace a otro sitio como un evento llamado Outbound link, y Count file downloads registra cada clic en un enlace a un archivo, como un PDF o un zip, como un evento llamado File download. Ambos están activados hasta que los desactives.

El panel en wp-admin

Con Runlight dentro de WordPress, el elemento Runlight del menú de administración muestra el panel completo en wp-admin, el mismo que en /runlight, con sus ajustes, objetivos y enlaces cortos. Solo las páginas de tu propio sitio pueden mostrarlo en un marco, así que cuando wp-admin se sirve desde una dirección distinta a la del sitio, por ejemplo con www. en una de ellas, la página abre el panel en una pestaña nueva.

Con un Runlight en otro lugar, el elemento Runlight muestra el panel de este sitio en la misma vista de solo lectura que muestra un enlace para compartir, con sus informes y rangos de fechas y sin los ajustes, los enlaces cortos, las personas ni los demás sitios de Runlight. El botón Open in Runlight abre el panel completo en tu propio Runlight.

Con un Runlight en otro lugar, la dirección desde la que se sirve wp-admin tiene que estar entre los dominios del sitio en Runlight, ya que solo una página de administración en uno de ellos puede mostrar el panel. Conectar se encarga de eso, y un www. inicial no cambia nada. La clave nunca llega al navegador. Cada vez que un administrador abre la página, el servidor del plugin envía la clave y el origen del administrador a Runlight y recibe un ticket que abre el panel una vez, en un plazo de cinco minutos. La página carga el panel desde tu Runlight en un marco que solo este administrador puede mostrar. El marco mantiene su sesión en la página durante una hora, sin cookies, así que los navegadores que bloquean las cookies en marcos también lo muestran. Pasada la hora, el marco lo indica y recarga la página cuando se le pide. Borrar la clave en Ajustes, API e IA de Runlight la detiene al momento, junto con todas las sesiones abiertas. Tu Runlight tiene que servirse por HTTPS cuando wp-admin lo hace, o el navegador rechaza el marco.

Cachés de página

Algunos plugins de caché sirven las páginas directamente desde el servidor web sin ejecutar PHP, como WP Super Cache en su modo experto. Esas páginas siguen incluyendo el script, así que las visitas se cuentan. WordPress nunca se ejecuta en esas peticiones, así que los accesos de agentes de IA a páginas en caché no se registran. Las cachés que pasan por PHP, como WP Rocket y la mayoría de cachés del hosting, registran los accesos de los agentes como siempre.