inemaSEO 7 — Sistemas: arma tu propio Semrush abierto|INEMA.CLUB-PRO

Clase 6 · 17 min

botlog: quién lee tu sitio de verdad

El robots.txt dice lo que permites; el log del servidor dice quién vino. El botlog lee el log de acceso, separa los robots de IA por finalidad (búsqueda, pedido del usuario, entrenamiento), verifica la IP en la lista oficial de la empresa y muestra los falsos. Y filtra el log antes de guardarlo, porque la IP de una persona es dato personal.

Empezar la clase
Un portero revisa el libro de registro de visitantes en el mostrador de la portería de un edificio.

En esta clase vas a

  1. 1Las cuatro finalidades y qué pasa si bloqueas cada una
  2. 2Robot falso: por qué el User-Agent no basta
  3. 3Ejecutar el análisis en un log de nginx o de Cloudflare
  4. 4Filtrar el log antes de guardarlo (LGPD)

Objetivo: separar en el log los robots de IA por finalidad, encontrar los falsos y filtrar el log antes de guardarlo o compartirlo.

01Del log a la lista de quién leyó

Cada línea del log pasa por cuatro preguntas. Haz clic en cada una.

Haz clic en cada bloque del diagrama para ver qué hace.

El log muestra quién pidió la página, no si la IA usó el contenido. Para la citación, la clase 5.

02Leer el informe

Haz clic en cada punto.

1. Finalidad

Bloquear la búsqueda de IA = desaparecer de las respuestas con fuente de ese asistente. Bloquear al agente del usuario = la IA no abre la página cuando alguien se lo pide.

Bloquear el entrenamiento saca el sitio del entrenamiento de modelos futuros, sin desaparecer de la búsqueda.

03Analizar y filtrar

Ejecuta desde la carpeta ferramentas/botlog. La muestra MONTADO usa User-Agents oficiales e IPs de rangos de documentación (RFC 5737), que no son de nadie.

Terminal · analisar (varios archivos, .gz incluido)
cd ferramentas/botlog
python3 botlog.py analisar ../../exemplos/botlog/entrada/MONTADO_access.log ../../exemplos/botlog/entrada/MONTADO_cloudflare.jsonl \
  --sitemap ../../exemplos/botlog/entrada/MONTADO_sitemap.xml --saida saida/montado
Terminal · tu servidor (solo lectura) y tu sitemap
ssh root@TU_SERVIDOR 'cd /var/log/nginx; zcat -f access.log.*.gz; cat access.log.1 access.log' > /tmp/site.log
python3 botlog.py analisar /tmp/site.log --sitemap https://tusitio.com/sitemap.xml --saida saida/site
Terminal · LGPD: solo robots con IP oficial
python3 botlog.py filtrar /tmp/site.log --saida /tmp/solo-robots.log
rm /tmp/site.log   # el log completo no necesita quedarse
Ejemplo del repositorio
26 linhas, 22 de robô (treino 6, busca 5, buscador 4, usuario 3); falsos 4; nunca visitadas 1/6 → saida/montado/relatorio.html

Del robos.csv (muestra montada):

robo           finalidade  acessos autênticos falsos erros
GPTBot         treino      5       3          2      2
ClaudeBot      treino      3       3          0      2
Googlebot      buscador    3       2          1      0
OAI-SearchBot  busca       3       3          0      0
PerplexityBot  busca       2       1          1      0

Los 2 errores de ClaudeBot simulan un bloqueo de CDN (403).

04Práctica: quién te lee

¿No tienes acceso al log del servidor? Haz el E1 y pide el log de la CDN o del hosting para el E2.

E1 · La muestra

10 min

Ejecuta el análisis en la muestra montada y encuentra en el informe los robots falsos y la página que ningún robot leyó.

Listo cuando: anotaste qué robots tenían acceso falso y qué página del sitemap quedó sin lectura.

E2 · Tu log, filtrado

30 min

Copia el log de tu servidor (solo lectura), ejecuta analisar y después filtrar; borra el log completo.

Listo cuando: tienes el informe por finalidad, la línea "N de M linha(s) mantidas" de filtrar y el log completo borrado.

05Prueba lo que aprendiste

La explicación aparece después de tu respuesta.

Pregunta 1 de 4

El log muestra 50 accesos de "GPTBot". ¿Qué falta para creerlo?competencia

06Para llevar

FinalidadBúsqueda, usuario, entrenamiento y buscador: bloquear cada uno cuesta cosas distintas.
IP oficialEl User-Agent no prueba nada; un robot falso no cuenta.
LGPDfiltra antes de guardar o mostrar; borra el log completo.

Para ir más allá

Clase anteriorPróxima clase