Voltar para todos os artigos
Início Blog GEO

Rastreadores de IA no robots.txt: como controlar acesso de ChatGPT Search, Perplexity e Claude e validar nos logs

Diferencie bots de busca, treinamento e fetch de usuário, configure robots.txt e valide acessos de IA em CDN, WAF e logs.

Rastreadores de IA no robots.txt: como controlar acesso de ChatGPT Search, Perplexity e Claude e validar nos logs

O erro mais caro em uma política de rastreamento raramente é simplesmente permitir ou bloquear todos os bots. Eu começo perguntando qual finalidade cada agente cumpre, porque busca, treinamento e acesso iniciado por usuário podem ter nomes parecidos, mas obedecem a controles diferentes.

Para controlar rastreadores de IA, primeiro identifico o agente e sua finalidade, depois configuro o robots.txt para os crawlers que respeitam esse protocolo e verifico as regras de CDN, WAF e servidor. Por fim, comparo as decisões com logs e respostas HTTP, sem tratar o nome declarado pelo bot como prova de identidade.

Uma regra de robots.txt pode expressar uma preferência de rastreamento para um agente cooperativo. Ela não autentica quem fez a requisição e não protege conteúdo privado. Além disso, os provedores documentam comportamentos diferentes para visitas disparadas por uma pergunta ou por um link fornecido pelo usuário.

Fluxo de governança de rastreadores de IA entre robots.txt, WAF, CDN e validação por logs HTTP

Identificação vs. Autenticação de Rastreadores de IA

O User-Agent ajuda a classificar uma requisição como declarada por um agente conhecido, mas qualquer cliente HTTP pode enviar uma string semelhante. Para permitir acesso especial ou diferenciar um crawler legítimo de uma requisição forjada, eu combino o token esperado com a origem de rede publicada pelo provedor e confirmo a decisão registrada no WAF.

Eu separo três classes de tráfego. O bot de busca descobre ou atualiza páginas para resultados e respostas com busca. O bot de treinamento coleta conteúdo que pode ser usado no desenvolvimento de modelos. O fetch de usuário acessa uma página em resposta a uma ação específica, como uma pergunta ou um link fornecido durante uma conversa.

Essas classes não são equivalentes. Uma organização pode querer permitir o crawler de busca e recusar o de treinamento, ou aceitar um fetch solicitado pelo usuário sem autorizar uma coleta contínua. A política deve refletir essa escolha, não uma interpretação genérica do nome do provedor.

Mapa de User-Agents: OpenAI, Perplexity, Anthropic e Google

Os três provedores documentam agentes separados para parte de suas atividades, mas os controles não são idênticos. Eu consulto as páginas oficiais antes de escrever regras, porque nomes, intervalos de IP e comportamento de fetch podem mudar.

Provedor e agente Finalidade documentada Como interpretar o controle
OpenAI, OAI-SearchBot Rastreamento para resultados de busca no ChatGPT O controle de busca usa esse token em robots.txt; a documentação também recomenda permitir os IPs publicados para exibição em resultados
OpenAI, GPTBot Coleta de conteúdo que pode ser usado no treinamento de modelos A regra é independente de OAI-SearchBot, permitindo escolhas distintas para busca e treinamento
OpenAI, ChatGPT-User Acesso ligado a ações iniciadas por usuários Não é crawler automático; a OpenAI informa que regras de robots.txt podem não se aplicar e que ele não controla a inclusão em Search
Perplexity, PerplexityBot Rastreamento para exibir e linkar sites nos resultados de busca A Perplexity diz que esse bot não é usado para coletar conteúdo para treinamento de modelos
Perplexity, Perplexity-User Acesso a páginas para responder ações de usuário A documentação diz que geralmente ignora robots.txt; não trate uma diretiva como bloqueio garantido desse fetch
Anthropic, ClaudeBot Coleta de conteúdo que pode contribuir para treinamento robots.txt é o mecanismo indicado pela Anthropic para registrar a preferência de exclusão
Anthropic, Claude-SearchBot Navegação e indexação para melhorar resultados de busca A Anthropic documenta uma finalidade separada de ClaudeBot e oferece controle por agente em robots.txt
Anthropic, Claude-User Acesso a sites em resposta a perguntas de usuários A Anthropic informa que uma diretiva pode impedir esse acesso direcionado pelo usuário

A diferença entre esses agentes é operacional. A documentação da OpenAI permite separar, por exemplo, OAI-SearchBot de GPTBot; a Perplexity diferencia o crawler de busca de seu fetcher de usuário, que geralmente ignora o arquivo; a Anthropic descreve controles separados para busca, treinamento e acesso iniciado por usuário.

Na minha auditoria, essa matriz vira uma decisão por token: permitir, bloquear, limitar frequência ou investigar. Não converto automaticamente uma preferência sobre treinamento em bloqueio de busca, nem presumo que uma regra que funciona para um crawler controle um fetch iniciado por usuário.

Limites Reais do Protocolo robots.txt para Agentes Generativos

O robots.txt expressa regras para agentes que escolhem respeitá-las. Ele não é autenticação, controle de acesso ou mecanismo de confidencialidade; páginas privadas precisam de autorização no servidor, na aplicação ou na camada de identidade.

Se a estratégia for permitir busca e recusar treinamento onde os provedores oferecem controles separados, a configuração pode ser explícita por agente. O exemplo abaixo é apenas um modelo de intenção, não uma recomendação universal para toda empresa:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

User-agent: PerplexityBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: ClaudeBot
Disallow: /

As diretivas do exemplo tratam dos crawlers nomeados. Elas não prometem impedir toda visita de usuário, não substituem regras de firewall e não escondem uma URL que já esteja acessível publicamente. Para OpenAI e Perplexity, os documentos esclarecem que fetches associados a ações de usuários podem não seguir robots.txt; para Claude, a Anthropic documenta o controle de Claude-User por essa via.

Eu verifico o arquivo na raiz de cada host utilizado pela operação. https://example.com/robots.txt, https://www.example.com/robots.txt e o arquivo de um subdomínio pertencem a escopos diferentes. Também confirmo se a resposta é legível e se a CDN ou o WAF não apresenta um desafio, redirecionamento ou bloqueio antes que o agente consiga consultar as regras.

Os tokens costumam ser mais estáveis para configuração do que a versão completa da string do navegador. A própria documentação de provedores informa que versões de User-Agent podem mudar. Quando crio regras no WAF, consulto os endpoints oficiais de IP do agente e atualizo a lista conforme a fonte do provedor, sem copiar para o artigo um intervalo que pode envelhecer.

Como validar IPs e evitar bloqueios acidentais no WAF e CDN?

Uma regra de WAF que permite qualquer requisição contendo PerplexityBot ou OAI-SearchBot pode ser imitada por outro cliente. Para uma exceção de segurança, eu uso a combinação de token esperado, faixa de IP publicada pelo provedor e escopo mínimo necessário, mantendo a decisão visível nos logs da borda.

Essa configuração exige atenção à ação e à ordem das regras. Uma permissão inserida depois de uma regra de desafio pode nunca ser avaliada; uma exceção ampla pode liberar caminhos que não precisam ser acessíveis. Na orientação da Perplexity para alguns WAFs, por exemplo, as faixas de IP de cada agente devem ser combinadas com o respectivo User-Agent, e as regras precisam anteceder as regras que bloqueiam o tráfego.

Evidência observada Interpretação inicial Próxima checagem
200 no HTML O servidor entregou uma resposta Verificar conteúdo, renderização e se a resposta veio do edge esperado
301 ou 302 A requisição foi redirecionada Conferir URL final, cadeia, host e resposta após o redirecionamento
401 ou 403 Acesso negado, autenticado ou desafiado Identificar qual regra de aplicação, CDN ou WAF tomou a decisão
404 ou 410 A URL não está disponível nesse caminho Comparar URL requisitada, canonicalização e estado da página
429 Houve limitação de frequência ou proteção contra excesso Revisar rate limit, janela, agente e impacto sobre requisições legítimas
5xx O servidor ou a borda não concluiu a requisição Correlacionar horário, região, upstream, timeout e identificador do evento

Um 200 prova apenas que houve uma resposta HTTP bem-sucedida naquela requisição. Não prova que o crawler interpretou a página, que a incluiu em um índice, que uma resposta citou o conteúdo ou que uma ação iniciada por usuário será permitida sob outra regra.

Auditoria de Logs de Servidor e Diagnóstico de Status HTTP

O diagnóstico precisa combinar a requisição recebida pelo edge, a decisão do WAF e a resposta do servidor de origem. Se eu olho apenas o log da aplicação, posso deixar passar um bloqueio da CDN; se olho apenas o edge, posso não perceber que a origem serviu um HTML incompleto ou uma página de erro com status 200.

Eu registro, quando disponíveis, data e hora com fuso, IP de origem, User-Agent, host, caminho, método, status HTTP, bytes transferidos, ação do WAF, identificador da requisição, upstream e latência. Para cada teste, guardo também a versão do robots.txt e a intenção associada ao token analisado.

Um teste local com curl pode verificar se o site responde de forma diferente quando recebe uma string de User-Agent específica:

curl -sS -A 'OAI-SearchBot' -D - -o /dev/null \
  'https://www.example.com/pagina-publica'

Esse comando simula somente a string enviada no cabeçalho. Ele não prova que a origem de IP é da OpenAI, Perplexity ou Anthropic, não aciona necessariamente a mesma regra da borda e não representa uma busca feita por um usuário real. Eu uso o teste para detectar regras dependentes do User-Agent, depois comparo com logs e faixas oficiais do agente.

Para interpretar uma ocorrência, eu cruzo a linha do log com a política esperada. Se o agente deveria ter acesso e recebeu 403, procuro desafio de bot, ACL, regra geográfica ou autenticação. Se recebeu 200, abro a resposta entregue e comparo o conteúdo com o HTML visível. Se não há ocorrência, confirmo se estou consultando a propriedade, o host, o período e o ponto de observação corretos antes de concluir que o crawler não tentou acessar.

Política de Governança de Bots e Checklist de Manutenção

Um runbook registra a preferência da empresa por cada classe de agente e testa se a infraestrutura a executa. O resultado esperado não é “deixar todos os bots entrarem”, mas conseguir explicar qual conteúdo cada agente pode acessar, por qual regra e com qual evidência.

  1. Inventarie hosts e conteúdo. Liste domínio principal, versões com e sem www, subdomínios, páginas públicas, áreas autenticadas e conteúdo que exige proteção real.
  2. Defina a preferência por finalidade. Separe busca, treinamento e fetch de usuário; escolha permitir, bloquear, limitar ou investigar por agente.
  3. Consulte as documentações atuais. Confirme tokens, finalidade, comportamento de robots e endpoints de IP diretamente com o provedor, sem reaproveitar listas antigas.
  4. Edite o robots.txt por host. Preserve regras para os crawlers já operacionais e valide se grupos específicos e regras gerais não produzem resultados contraditórios.
  5. Revise CDN e WAF. Combine User-Agent e IP oficial nas exceções necessárias, aplique o menor escopo possível e confira a ordem de avaliação.
  6. Teste as respostas HTTP. Compare a leitura de robots.txt com páginas representativas, redirects, status e conteúdo entregue na origem e no edge.
  7. Analise logs por agente e camada. Correlacione requisições, faixa de origem, ação do WAF, resposta HTTP e identificador de evento.
  8. Documente exceções e reteste. Registre responsável, data, finalidade, mudança aplicada e evidência esperada; repita o teste depois de atualizações no arquivo ou na infraestrutura.

O pilar de GEO técnico: rastreamento, renderização e dados estruturados explica a cadeia mais ampla de acesso e interpretação. A auditoria técnica para citação por IAs ajuda a localizar barreiras em HTTP, HTML, WAF e marcação; o artigo de Schema.org, JSON-LD e renderização JavaScript trata da paridade entre conteúdo visível e dados estruturados.

Quando o rastreamento envolve preço, estoque ou páginas de catálogo, a fonte de verdade também precisa permanecer sincronizada. O ebook SEO para E-commerce dá contexto à operação orgânica de lojas virtuais, e a futura pauta sobre feeds, APIs e observabilidade em GEO aprofundará o ciclo entre sistemas de origem, páginas, atualização e evidência.

Para padronizar verificações e cenários, use a biblioteca de Prompts para SEO como apoio de QA, não como substituto de requisições, logs ou controles de acesso. O guia geral de GEO e o artigo sobre como aparecer em primeiro no Google completam o contexto de descoberta e indexação.

O controle de crawlers é uma decisão de acesso por finalidade, não um botão universal de GEO. Eu começaria pelos agentes que afetam resultados de busca, treinamento ou fetches relevantes para o negócio, depois provaria cada decisão com a resposta HTTP e o log correspondente.

Qual combinação de diretivas, regras de WAF e evidências de log você usa hoje para distinguir um bot legítimo de uma requisição que apenas imita seu User-Agent?

Gostou? Compartilhe este artigo:

Continue lendo em GEO

Ver todos da categoria
GEO

Atribuição de GEO para e-commerce e B2B: como ligar citações, visitas, leads e receita

Ler artigo
GEO

Auditoria de consistência de marca nas IAs: protocolo para ChatGPT Search, Perplexity, Claude e Google AI Overviews

Ler artigo
GEO

Como medir GEO sem métricas inventadas: Search Console, citações e diagnóstico multiplataforma

Ler artigo