Análise de logs para crawlers de IA: quem realmente veio

A análise de logs lê o agente de usuário e o IP que o servidor já grava, e verifica a identidade antes de contar. Inclui o comando, a tabela de campos, a lista de tokens e os limites do que o log prova.

Rastreamento e indexação5 min de leitura2987 visualizações
Análise de logs para crawlers de IA: quem realmente veio

A análise de logs é a leitura de dois campos que o servidor já grava, o agente de usuário e o IP, para separar um pedido de um crawler de IA real de outro que apenas usa o nome. Ela responde a uma pergunta que um teste de acesso não resolve: não «o GPTBot conseguia chegar a esta página», mas «ele chegou, em que dia e quantas vezes». Um 200 mostra que a porta abre. O log mostra quem entrou.

O que a análise de logs mostra e o que ela não mostra

O log informa o agente, o caminho pedido, o horário, o código de status e o IP. Ele não informa se o conteúdo foi usado depois em uma resposta ou em treinamento. Também não confirma identidade sozinho: o agente é uma declaração e qualquer pessoa pode copiá-lo. Só um IP correspondente transforma «um pedido que diz GPTBot» em «GPTBot».

Por isso o assunto exige um método, não uma dica de uma linha. Uma linha de log tem duas metades. A metade que todos leem é o agente. A metade que decide se a linha é verdadeira é o IP.

Antes de começar, você precisa de acesso de leitura ao log do servidor e de um terminal. Se a hospedagem não entrega logs, este método não tem substituto: nenhuma ferramenta externa vê pedidos que nunca chegaram ao seu servidor.

Por que o log vale mais que a checagem de agente

Um teste de acesso envia um pedido com agente imitado e observa a resposta. O log registra o que clientes reais fizeram, sem provocação. Os dois podem se contradizer: estar acessível não é o mesmo que ser visitado, e um teste pode falhar enquanto um crawler passa por outro caminho.

O log também traz o campo que o teste nunca produz: tempo. O teste dá sim ou não em um instante. O log dá contagem por dia e por robô, única forma de distinguir um crawler semanal daquele que veio uma vez e foi embora.

Faça nesta ordem

São cinco passos. Cada um tem uma conferência antes do próximo.

  1. Encontre o log e confirme o formato. No nginx, o padrão é combined; no Apache, o formato estendido/NCSA combined documenta %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i". Pronto quando você consegue nomear cada campo em uma linha real.
  2. Conte por agente antes de filtrar. Em uma linha combined, o sexto campo entre aspas é o agente. Pronto quando você tem uma lista dos trinta agentes mais frequentes, não só os que esperava.
  3. Separe os tokens dos crawlers de IA. As strings exatas estão na tabela abaixo. Pronto quando cada token tem contagem e data da primeira aparição.
  4. Verifique os IPs que você vai citar. DNS reverso e direto para o Google; arquivos JSON publicados para a OpenAI. Pronto quando cada linha citada está verificada ou marcada como não verificada.
  5. Registre a janela, não só o total. Um total sem número de dias não significa nada. Pronto quando a nota diz «412 pedidos, 1 a 31 de agosto de 2026, 5 sites», e não «muitos».

O entregável: um comando e duas tabelas

Este comando transforma um log no formato combined em contagem por agente. Ele assume que não há aspas escapadas dentro do campo agente, o que vale para os crawlers abaixo e não para alguns scrapers.

awk -F'"' '{print $6}' access.log \
  | sed 's/;.*compatible;//' \
  | sort | uniq -c | sort -rn | head -30

O passo sed existe porque os navegadores escondem o token real atrás de um prefixo de compatibilidade. Guarde também o campo bruto, para voltar a ele quando uma contagem parecer errada.

O segundo entregável é a tabela de campos. Quase todo mundo conhece o agente e para por aí; é por isso que a primeira passada não vê os caminhos.

CampoExemploO que indica
Endereço remoto66.249.66.1O único campo verificável contra uma lista publicada
Linha do pedidoGET /pricing HTTP/1.1O método e o caminho pedidos
Status200Se o crawler recebeu conteúdo ou bloqueio
Bytes enviados18432Quanto foi devolvido de fato
Referenciador-Quase sempre vazio em um crawler
Agente... GPTBot/1.4 ...A declaração, falsificável, superestimada

O terceiro entregável é a lista de tokens publicados pelos operadores, relida em 22 de setembro de 2026 na documentação deles. Ela não é completa e novos aparecem sem aviso, o que reforça o passo 2: contar tudo antes de filtrar.

TokenOperadorFunçãoVerificável?
GPTBotOpenAIColeta para treinamentoSim, via openai.com/gptbot.json
OAI-SearchBotOpenAIPresença na buscaSim, via openai.com/searchbot.json
ChatGPT-UserOpenAIPedido iniciado por pessoaSim, via openai.com/chatgpt-user.json
GooglebotGoogleColeta para buscaDNS reverso e direto, mais arquivos JSON
Google-ExtendedGoogleToken de controleNão: não envia pedidos próprios
ClaudeBotAnthropicColetaDocumentado, confira as faixas na página deles
PerplexityBotPerplexityColetaDocumentado, confira as faixas na página deles

Duas linhas sustentam a conclusão. Google-Extended é um token de controle, não um crawler: a documentação do Google diz que ele não tem string de agente própria, então não aparecer no log não é falha. ChatGPT-User é acionado por uma pessoa, então seus pedidos não são coleta automática.

O que dá errado

Confiar no agente. É o erro padrão e produz uma resposta confiante e errada. O Google exige duas consultas DNS: reversa no IP e direta no nome obtido, com correspondência obrigatória. Para a OpenAI, compara-se o IP com o arquivo de faixas. Para um crawler que não publica nenhuma das duas, escreva «não verificado» em vez de acreditar ou apagar a contagem.

Contar leituras de robots.txt como páginas. A OpenAI observa que, ao ler robots.txt, pode adicionar um marcador ao agente para distinguir esses pedidos. Se o formato elimina o caminho, uma leitura de robots.txt e uma página ficam iguais. Separe por caminho antes de anunciar uma contagem de coleta.

Ler uma janela curta demais. Sete dias não respondem uma pergunta de trinta, e a rotação de logs corta a janela sem avisar. Informe o primeiro e o último horário realmente contados.

Perguntas frequentes

Dá para confiar no agente de usuário do log?

Não. Trate como declaração até o IP corresponder a uma faixa publicada ou passar pelo DNS reverso e direto. O log documenta, não prova identidade.

Como saber se o GPTBot visitou meu site?

Busque o token GPTBot e compare cada IP com openai.com/gptbot.json. Um token sem IP correspondente é outro pedido que copiou o nome.

Quantos dias de log preciso guardar?

O suficiente para cobrir um ciclo completo de coleta, o que depende do site e não tem número universal. Trinta dias é um ponto de partida razoável. Se você tem sete, diga isso: uma janela curta subestima, nunca superestima.

A fronteira que vale escrever sem rodeios: o log prova que houve um pedido; não prova que o conteúdo foi usado, posicionado ou citado. Quando quiser transformar esse dado em ação publicada, é aí que entra o QueryWin. Para checar antes se os crawlers conseguem alcançar você, comece por verificar se a IA consegue ler seu site. E se a dúvida é quais robôs você permite, está em robots.txt para crawlers de IA.

O agente se apresenta sozinho; o IP decide se ele diz a verdade.

Faz parte do guia do QueryWin · Nível 2

Análise de logs para crawlers de IA: quem realmente veio