Unlighthouse: Escanea todo tu sitio con Google Lighthouse
Unlighthouse: Escanea todo tu sitio con Google Lighthouse
Unlighthouse es una interfaz de línea de comandos de código abierto basada en Node que ejecuta auditorías Lighthouse en cada página de tu sitio web.
¿Qué es Google Lighthouse?
Google Lighthouse es una herramienta de auditoría popular que mide el rendimiento web, la accesibilidad, las mejores prácticas, el SEO y la preparación para aplicaciones web progresivas. Sin embargo, la CLI oficial de Lighthouse está diseñada para auditar URLs individuales, no sitios completos. Para aplicaciones grandes – especialmente aquellas con docenas o cientos de páginas – ejecutar Lighthouse manualmente en cada página es poco práctico.
¿Por qué Unlighthouse?
Unlighthouse resuelve ese desafío mediante la automatización de la ejecución de Lighthouse en todo el dominio:
- Muestreo inteligente – De manera predeterminada, rastrea un subconjunto de URLs basado en una estrategia configurable, reduciendo drásticamente el tiempo de ejecución mientras mantiene la cobertura de auditoría.
- Núcleo sin configuración – Simplemente especifica
--site <url>y la herramienta se encarga de rastrear, ejecutar Lighthouse y generar informes. - UI moderna – Los resultados se sirven a través de una interfaz web ligera, brindando a los desarrolladores retroalimentación visual instantánea.
- Listo para Node y Docker – Se ejecuta en cualquier máquina con Node >= 20 o mediante Docker, facilitando la integración con CI.
- Licencia MIT – No hay preocupaciones de licencias, puedes usarlo libremente en proyectos comerciales.
Quick Start
# Install via npm
npx unlighthouse --site https://your‑domain.com
# Or with PNPM
pnpm dlx unlighthouse --site https://your‑domain.com
./output/your‑domain.com – donde puedes abrir index.html para ver el panel.
Configuration Options
Unlighthouse soporta una variedad de banderas y un archivo unlighthouse.config.ts para configuraciones más avanzadas.
| Bandera | Descripción | Ejemplo |
|---|---|---|
--debug |
Habilita logs de depuración detallados | --debug |
--depth <n> |
Profundidad máxima de rastreo (predeterminado 5) | --depth 3 |
--output-dir <dir> |
Directorio de informes personalizado | --output-dir ./reports |
--config <path> |
Ruta a un archivo de configuración personalizado | --config ./my-config.ts |
Configuración de ejemplo
// unlighthouse.config.ts
import { defineUnlighthouseConfig } from "unlighthouse"
export default defineUnlighthouseConfig({
site: "https://example.com",
// Solo auditar páginas que coincidan con estos patrones
include: ["/blog/*", "/products/*"],
// Excluir páginas de admin
exclude: ["/admin/**"],
// Usar 2 trabajadores de concurrencia
workers: 2,
// Habilitar categorías de Lighthouse que te interesen
lighthouse: {
categories: ["performance", "accessibility", "seo"],
},
})
Running in CI
Unlighthouse es amigable con CI. Almacena la carpeta de informes en el control de versiones o publícalo en un servicio de hosting estático. Aquí tienes un ejemplo de flujo de trabajo de GitHub Actions:
name: Site Audit
on: [push]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 20
- name: Run Audit
run: |
npx unlighthouse --site https://your‑site.com --output-dir ./audit
- name: Upload Report
uses: actions/upload-artifact@v3
with:
name: lighthouse-report
path: ./audit
Funcionalidades Avanzadas
1. Auditoría basada en muestras
Unlighthouse mantiene los tiempos de auditoría bajos rastreando solo una fracción de las páginas. Puedes ajustar esto con la bandera --sample-rate (0‑1) o crear una estrategia de muestreo personalizada en un archivo de configuración.
2. Ajuste de configuración de Lighthouse
Puedes pasar una configuración personalizada lighthouse.json o modificar los valores por defecto a través de la propiedad lighthouse en la configuración. Los ajustes típicos incluyen deshabilitar auditorías de terceros o personalizar los umbrales de puntuación.
3. Integración de API
Para sitios dinámicos que requieren autenticación, Unlighthouse admite argumentos de lanzamiento de Chrome como --cookies-file o --user-data-dir. También puedes incrustar Unlighthouse en un script de Node y activar auditorías de forma programática.
4. Soporte multi‑protocolo
Aunque está principalmente basado en HTTP, Unlighthouse puede apuntar a un servidor de desarrollo local (http://localhost:3000) o a un entorno de staging remoto. Respeta robots.txt por defecto, pero puedes sobreescribirlo con --ignore-robots si lo necesitas.
Casos de Uso Real
| Proyecto | Cómo ayudó Unlighthouse |
|---|---|
| Plataforma de comercio electrónico | Auditoría de más de 400 páginas de producto en menos de 30 min, descubriendo un bucle lento de carga de imágenes que redujo la puntuación de velocidad de página en 20 puntos. |
| Blog con gran contenido | Escaneó más de 2 000 publicaciones, encontrando que el contenido antiguo tenía enlaces externos rotos que causaban penalizaciones SEO. |
| SaaS interno | Redució el tiempo de auditoría en más de 50 páginas internas habilitando solo las categorías performance y seo, ahorrando horas de trabajo de desarrollo. |
Directrices de Contribución
Unlighthouse es impulsado por la comunidad. ¡Se aceptan problemas, pull requests y discusiones!
- Issues – Reporta errores o solicita funciones en el rastreador de issues de GitHub.
- Pull Requests – Sigue la guía de contribución en
CONTRIBUTING.md. Utilizamos versionado semántico y linting automatizado con CI. - Sponsor – El proyecto acepta patrocinio a través de GitHub Sponsors. Las contribuciones ayudan a mantener lanzamientos y documentación.
Reflexiones Finales
Unlighthouse aporta todo el poder de Lighthouse a sitios completos sin el dolor de la configuración manual. Ya seas ingeniero frontend, ingeniero DevOps o propietario de un sitio interesado en mejorar el rendimiento y SEO, esta herramienta llena un vacío crucial. Es ligera, rápida y completamente de código abierto, lo que la convierte en una adición perfecta a cualquier flujo de trabajo web moderno.
Comienza hoy – ejecuta npx unlighthouse --site https://your‑site.com y observa cómo los datos de auditoría se convierten en mejoras reales.