Analizador de logs de servidor

Analiza los logs de acceso de Apache, Nginx e IIS: qué bots rastrean y dónde, qué códigos de estado reciben y qué proporción de sus solicitudes acaba en error. Opcionalmente, verifica la identidad de los bots con DNS inverso con confirmación directa.

Qué hace

Leer un log

log-analyze lee un archivo de log de acceso, en texto plano o en gzip, y detecta el formato a partir de sus primeras líneas. Agrupa las solicitudes por familia de bots e informa de hits, bytes, IP únicas, códigos de estado y secciones visitadas. Los resultados describen la parte del log que se analizó, no el sitio completo.

  • Formatos: Apache y Nginx en Common o Combined, e IIS W3C Extended.
  • --max-lines fija un límite explícito de entrada.
  • Los resultados se paginan, y --bot e --ip los filtran.

Verificar bots

Un user agent por sí solo no demuestra nada. Con --verify-bots, SpiderHead comprueba que una IP resuelve a un nombre de host oficial y que ese nombre vuelve a resolver a la misma IP. Cada IP recibe un veredicto: verificada, falsa o sin comprobar. Si tu equipo bloquea el DNS, el resultado es no disponible, no falsa.

  • --max-dns limita las búsquedas a entre 0 y 100 por página.
  • Los bots sin un sufijo de host oficial quedan sin comprobar.
  • Solo esta opción hace solicitudes de red, y son búsquedas DNS.

Errores y tu rastreo

Para cada familia de bots, el informe indica cuándo más del 10 % de las solicitudes devuelve 4xx o 5xx. Para comparar las visitas de los bots con un rastreo, importa el log en un proyecto con logs-import. Después, logs-join enumera las URL escaneadas que los bots nunca solicitaron, las URL solicitadas que no aparecen en el escaneo, las respuestas de error y las URL no indexables que visitan los bots.

  • Vistas: scan_without_bot_visits, bot_urls_absent_scan, status_waste, nonindexable.
  • Las URL ausentes del escaneo son candidatas a revisar, no huérfanas demostradas.
  • logs-summary y logs-bots ofrecen vistas diarias, por estado y por sección.

Tres pasos, un análisis guardado

  1. Indica un log de acceso

    Dale un archivo de log de acceso de Apache, Nginx o IIS W3C, en texto plano o comprimido con gzip. El formato se detecta a partir de las primeras líneas.

  2. Agrupa las solicitudes por bot

    Hits, bytes, IP únicas, códigos de estado y secciones visitadas de cada familia de bots, desde Googlebot y Bingbot hasta los rastreadores de IA y las herramientas SEO.

  3. Verifica la identidad del bot

    Con --verify-bots, cada IP de bot recibe una comprobación de DNS inverso con confirmación directa: verificada, falsa o sin comprobar. Un user agent por sí solo nunca se toma como prueba.

Un solo comando

bash
seohead log-analyze --path ./access.log --verify-bots

Primero, instala SpiderHead: guía de instalación. Cada comando también funciona como herramienta MCP para agentes de IA.

Qué necesitas

  • Un archivo de log de acceso de Apache, Nginx o IIS (se admite gzip), o una carpeta de importación
  • Opcional: un proyecto y un escaneo guardado, para comparar los logs con un rastreo
  • Opcional: DNS saliente funcionando, para --verify-bots

Límites

  • Solo se leen los formatos de log compatibles. No se leen los diseños de campos personalizados.
  • Los nombres de bots son afirmaciones del user agent hasta que se verifiquen.
  • Un log que falta o está incompleto no demuestra que no hubo visitas.
  • Las líneas de Apache sin zona horaria y las marcas de tiempo de IIS se leen como UTC.

Preguntas

¿Envía algo o cambia mi sitio?
No. El log se lee desde tu disco y nunca se contacta con el sitio. Solo --verify-bots hace solicitudes de red, y son búsquedas DNS de las IP de los bots.
¿Cómo sé que una visita de Googlebot es real?
Ejecuta con --verify-bots. El nombre de DNS inverso debe terminar en googlebot.com, google.com o googleusercontent.com, y resolver de vuelta a la misma IP. Si el DNS está bloqueado, la herramienta indica que la verificación no está disponible, en lugar de marcar todos los bots como falsos.
¿Qué servidores y formatos son compatibles?
Apache y Nginx en formato Common o Combined, e IIS W3C Extended. Las columnas de IIS se leen de la línea #Fields, así que un cambio en el orden de los campos sigue funcionando. Los archivos gzip se leen directamente.
¿Cómo se mide el desperdicio de presupuesto de rastreo?
log-analyze informa, por familia de bots, de la proporción de respuestas 4xx y 5xx. Por encima del 10 % indica que esa familia está desperdiciando presupuesto de rastreo. Para comparar las visitas de los bots con las URL que quieres que se rastreen, importa el log y usa logs-join contra un escaneo guardado. No compara con un sitemap.
¿Qué se guarda en disco?
log-analyze no escribe ningún informe, solo un índice temporal que elimina después. logs-import escribe un archivo SQLite privado logs.v1 con recuentos de bot, IP, URL, fecha y código de estado. No guarda las líneas originales, ni user agents, ni referrers, pero las IP y las rutas pueden identificar a personas, así que no las incluyas en informes públicos.
¿Cuánto cuesta?
Nada. Es gratuita y no necesita clave ni cuenta.

Pruébalo en tu propio sitio