Por que importa quem visita de fato
Um assistente de IA só pode citar uma página que um dos seus rastreadores leu. Se nenhum deles buscou a sua página de preços, nenhuma resposta vai citá-la, por mais bem escrita que ela seja.
O seu robots.txt, e a tabela de bots de IA em um relatório do SagBot, dizem quais rastreadores podem ler o seu site. Não dizem quais vieram. O log de acesso do seu servidor diz: cada requisição, com o endereço de origem, a página, o código de status e o user agent que identifica o rastreador.
Quais rastreadores de IA existem e por que eles vêm
Os rastreadores de IA vêm por um de três motivos. Os rastreadores de treinamento coletam páginas para treinar modelos. Os rastreadores de busca montam o índice que o assistente consulta ao responder. Os agentes a pedido do usuário buscam uma página na hora porque alguém acabou de perguntar ao assistente sobre ela. As visitas destes dois últimos são as que podem levar a uma citação.
A OpenAI envia o GPTBot para treinamento, o OAI-SearchBot para busca e o ChatGPT-User para requisições ao vivo. A Anthropic envia ClaudeBot, Claude-SearchBot e Claude-User; a Perplexity envia PerplexityBot e Perplexity-User. A Meta usa meta-externalagent, meta-webindexer e meta-externalfetcher, a Amazon usa Amazonbot, Amzn-SearchBot e Amzn-User, e a Mistral e o DuckDuckGo enviam MistralAI-User e DuckAssistBot. O Bytespider (ByteDance) e o CCBot (Common Crawl, um arquivo aberto usado para treinar muitos modelos) coletam dados de treinamento.
Dois nomes que você não vai encontrar em um log: Google-Extended e Applebot-Extended são regras do robots.txt, não rastreadores. O Google busca páginas com o Googlebot e a Apple com o Applebot; as regras Extended só decidem se o que eles buscaram pode ser usado para IA. Já o agente do Google para requisições ao vivo de usuários, o Google-Agent, aparece com o próprio nome.
1. Encontre o seu log de acesso
No seu próprio servidor, o log é um arquivo de texto simples. O nginx grava em /var/log/nginx/access.log. O Apache grava em /var/log/apache2/access.log no Debian e no Ubuntu, e em /var/log/httpd/access_log no Red Hat, Rocky e Alma. Os dias anteriores são rotacionados para arquivos numerados ou datados ao lado dele, e os mais antigos são compactados como .gz.
Em hospedagem compartilhada ou gerenciada, procure no painel da hospedagem os logs de acesso brutos e baixe-os. Algumas hospedagens guardam só alguns dias, então salve-os regularmente se quiser uma visão mais longa.
Atrás do Cloudflare, abra o AI Crawl Control do seu domínio no painel. Ele está em todos os planos e mostra as requisições por rastreador de IA, os códigos de status e os caminhos mais requisitados, sem nenhum arquivo de log; no plano gratuito, as métricas cobrem as últimas 24 horas. Para as linhas brutas das requisições, o Logpush as exporta para um armazenamento que você escolher. O Cloudflare só vê os hostnames com proxy (a nuvem laranja); registros somente DNS vão direto para o seu servidor.
Na Vercel, a página Logs do projeto mostra as requisições recentes com o user agent, por uma hora no Hobby e por um dia no Pro. Um log drain (Pro e Enterprise) envia todas as requisições, incluindo arquivos estáticos, para um armazenamento que você escolher.
2. Confira se o log guarda o user agent
É o user agent que identifica o rastreador, então toda linha precisa dele. O nginx e o Apache têm um formato chamado combined que termina cada linha com o referrer e o user agent entre aspas. O nginx o usa a menos que você escolha outro; o Apache o define, e a sua linha CustomLog decide se ele é usado.
Veja as últimas linhas do log com o primeiro comando abaixo. Se cada uma termina com o nome de um navegador ou bot entre aspas, está tudo certo. Se as linhas terminam com o status e uma contagem de bytes, o servidor grava no Common Log Format, que não tem user agent: defina combined na linha access_log (nginx) ou na linha CustomLog (Apache), como abaixo, e recarregue o servidor.
Os comandos dos próximos passos supõem o layout combined. Se você usa o seu próprio log_format ou LogFormat, mantenha $http_user_agent ou %{User-Agent}i como o último campo entre aspas, ou adapte os comandos.
tail -n 3 /var/log/nginx/access.logaccess_log /var/log/nginx/access.log combined;LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog ${APACHE_LOG_DIR}/access.log combined3. Conte as visitas por rastreador de IA
Cole o primeiro bloco em um shell no servidor. Ele define BOTS com os nomes de rastreadores de IA da tabela de bots de IA do SagBot e conta as requisições por rastreador no log atual. Mude o caminho se o seu for diferente, por exemplo /var/log/apache2/access.log.
O segundo bloco faz o mesmo nos arquivos rotacionados, compactados ou não; rode-o no mesmo shell para que BOTS continue definida. Os rastreadores de treinamento costumam liderar a lista. As visitas dos rastreadores de busca e dos agentes a pedido do usuário são as ligadas às respostas, então vale notar quando elas estão faltando.
BOTS='GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User'
BOTS="$BOTS|PerplexityBot|Perplexity-User|Google-Agent|Applebot|Bytespider|CCBot"
BOTS="$BOTS|meta-externalagent|meta-webindexer|meta-externalfetcher|Amazonbot"
BOTS="$BOTS|Amzn-SearchBot|Amzn-User|MistralAI-Training|MistralAI-Index"
BOTS="$BOTS|MistralAI-User|DuckAssistBot"
awk -F'"' '{print $6}' /var/log/nginx/access.log \
| grep -Eo "$BOTS" | sort | uniq -c | sort -rnzgrep -hE "${BOTS:?}" /var/log/nginx/access.log* \
| awk -F'"' '{print $6}' | grep -Eo "$BOTS" | sort | uniq -c | sort -rn4. Verifique se um rastreador é legítimo
Qualquer um pode enviar uma requisição cujo user agent diga GPTBot, e scrapers fazem isso. Para confiar em uma visita, compare o endereço de origem com a lista do próprio operador. O primeiro comando abaixo lista os endereços que se apresentaram como GPTBot; troque por qualquer outro nome.
OpenAI, Anthropic, Perplexity, Amazon, Apple e Common Crawl publicam as faixas de IP dos seus rastreadores na documentação dos bots. Google e Bing também podem ser verificados por DNS reverso: o endereço precisa resolver para um nome googlebot.com, google.com ou googleusercontent.com no caso do Google, ou search.msn.com no caso do Bing, e esse nome precisa resolver de volta para o mesmo endereço. O segundo bloco mostra a verificação com o endereço de exemplo do próprio Google. Apple (applebot.apple.com) e Common Crawl (crawl.commoncrawl.org) passam no mesmo teste.
Meta e ByteDance não publicam nenhuma lista de endereços até o momento em que este texto foi escrito, então as visitas delas podem ser contadas, mas não verificadas.
awk '/GPTBot/ {print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rnhost 66.249.66.1
host crawl-66-249-66-1.googlebot.com5. Encontre as páginas que falham com os rastreadores de IA
Um rastreador que recebe um 404 ou um 500 vai embora sem nada para citar, e uma página que continua falhando pode sair do índice dele.
O bloco abaixo lista os caminhos que responderam aos rastreadores de IA com 404 ou qualquer 5xx, dos mais frequentes para os menos; ele precisa de BOTS do passo de contagem no mesmo shell. Redirecione as páginas movidas para o novo endereço, corrija os erros e tire os links quebrados do sitemap e dos links internos.
awk -F'"' -v bots="${BOTS:?}" '$6 ~ bots {
split($3, f, " "); split($2, r, " ")
if (f[1] == 404 || f[1] >= 500) print f[1], r[2]
}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20O que os logs não mostram
Uma página servida a partir do cache de uma CDN nunca chega ao seu servidor, então o seu próprio log conta menos do que deveria. Use os logs da CDN ou a visão de rastreadores dela para ter o quadro completo.
O Cloudflare só vê hostnames com proxy. Um hostname configurado como somente DNS não mostra nenhuma visita no AI Crawl Control, por mais rastreadores que cheguem a ele.
O user agent sozinho pode ser falsificado, e o Common Log Format nem chega a registrá-lo.
Logs mostram visitas, não citações. Um rastreador ler uma página não significa que um assistente vai citá-la; com que frequência você é citado é uma medição à parte.
Confira quem pode ler o seu site
Uma análise gratuita lê o seu robots.txt e mostra quais rastreadores de IA ele deixa entrar e quais bloqueia, ao lado do restante da prontidão do seu site para IA.