robots.txt para rastreadores de IA: o guia de 2026
Em resumo
Como devo configurar o robots.txt para rastreadores de IA em 2026?
Trate os clientes de IA como três classes, não uma: rastreadores de treinamento (GPTBot, ClaudeBot, CCBot, Google-Extended), indexadores de busca (OAI-SearchBot, Claude-SearchBot, PerplexityBot) e coletores acionados pelo usuário (ChatGPT-User, Perplexity-User, Gemini-Deep-Research). Os dois primeiros recolhem conteúdo para o treinamento de modelos e para os índices de recuperação que os motores de resposta citam, e ambos respeitam o robots.txt. O terceiro dispara quando uma pessoa real faz uma pergunta real, e a maioria dos operadores documenta que o robots.txt pode não se aplicar a ele. Bloquear a classe de treinamento é uma decisão de licenciamento; bloquear coletores acionados pelo usuário é recusar-se a responder a um cliente ao vivo.
A resposta curta
Pare de tratar "bots de IA" como uma coisa só. São três classes com economias completamente diferentes, e uma única linha Disallow aplicada a todas elas é quase sempre a troca errada.
Training
- GPTBot
- ClaudeBot
- Google-Extended
- CCBot
Asking to learn from your catalogue. Declining is a licensing decision, and a defensible one.
Search index
- OAI-SearchBot
- PerplexityBot
- Applebot-Extended
Asking to be able to cite you. Blocking these removes you from answers you would have won.
User-triggered
- ChatGPT-User
- Claude-User
- Perplexity-User
A person with a bill of materials open, mid-decision, right now. This is a customer, not a scraper.
Um rastreador de treinamento está pedindo para aprender com o seu catálogo. Um indexador de busca está pedindo para poder citá-lo. Um coletor acionado pelo usuário é um cliente, agora, fazendo uma pergunta sobre o seu produto. Bloquear o primeiro é uma decisão de licenciamento. Bloquear o terceiro é desligar o telefone na cara dele.
A Forrester constatou que 94% dos compradores corporativos usaram IA no seu processo de compra mais recente. Uma parcela relevante das requisições que chegam à sua origem com um user-agent de IA não é raspagem — é alguém com uma lista de materiais aberta, no meio de uma decisão. Seu robots.txt deveria distinguir entre elas, e a maioria não distingue.
Todo user-agent de IA que importa em 2026
| Token | Operador | Classe | Respeita o robots.txt | Verificar o IP de origem via |
|---|---|---|---|---|
GPTBot | OpenAI | Treinamento | Sim | gptbot.json |
OAI-SearchBot | OpenAI | Índice de busca | Sim | searchbot.json |
ChatGPT-User | OpenAI | Acionado pelo usuário | "pode não se aplicar" | chatgpt-user.json |
ClaudeBot | Anthropic | Treinamento | Sim | bots.json |
Claude-SearchBot | Anthropic | Índice de busca | Sim | bots.json |
Claude-User | Anthropic | Acionado pelo usuário | Sim | bots.json |
PerplexityBot | Perplexity | Índice de busca | Sim | perplexitybot.json |
Perplexity-User | Perplexity | Acionado pelo usuário | "geralmente ignora" | perplexity-user.json |
Google-Extended | Token de permissão de treinamento | Sim, como token | Não é um coletor | |
Gemini-Deep-Research | Agente de pesquisa acionado pelo usuário | Geralmente ignora | Faixas dos coletores do Google | |
Applebot-Extended | Apple | Token de permissão de treinamento | Sim, como token | Não é um coletor |
Amazonbot | Amazon | Treinamento e melhoria de produto | Sim | Lista de IPs da Amazon |
Bytespider | ByteDance | Treinamento | Contestado | Nenhuma publicada |
CCBot | Common Crawl | Arquivo em massa que alimenta muitos modelos | Sim | DNS reverso |
Meta-ExternalAgent | Meta | Treinamento e indexação | Sim | Documentação da Meta |
Cinco pontos dessa tabela são rotineiramente mal compreendidos ou ignorados, e vale a pena declará-los explicitamente.
`Google-Extended` e `Applebot-Extended` não são rastreadores. Nenhum dos dois busca coisa alguma. São tokens de permissão: o Google-Extended controla se o conteúdo já rastreado pelo Googlebot pode ser usado para treinar os modelos Gemini e para embasar as respostas deles, e a documentação da Apple é explícita ao dizer que o Applebot-Extended "não rastreia páginas da web" e é "usado apenas para determinar como usar os dados rastreados pelo user agent Applebot". Bloquear o Applebot-Extended não tira você dos resultados da Siri, do Spotlight ou do Safari.
A Anthropic é o ponto fora da curva nas requisições acionadas pelo usuário. A OpenAI afirma que, no caso do ChatGPT-User, "como essas ações são iniciadas por um usuário, as regras do robots.txt podem não se aplicar". A Perplexity diz que o Perplexity-User "geralmente ignora as regras do robots.txt". A documentação do Google diz, sobre os seus coletores acionados pelo usuário: "como a busca foi solicitada por um usuário, esses coletores geralmente ignoram as regras do robots.txt". A Amazon diz que o Amzn-User "pode não seguir todas as diretivas do robots.txt". A Anthropic, em contraste, documenta que os seus bots respeitam o robots.txt e indica o Claude-User como um token que os donos de sites podem usar para controlar requisições iniciadas por usuários. Se você bloquear o conjunto inteiro, o Claude é o único que vai realmente parar — exatamente o oposto do que a maioria das pessoas pretende.
A Amazon e a Meta operam, cada uma, uma frota dividida. Além do Amazonbot, a Amazon documenta o Amzn-SearchBot (experiências de busca, incluindo Alexa e Rufus) e o Amzn-User (ações ao vivo de usuários), e afirma que nenhum dos dois rastreia para treinamento de IA generativa. A Meta opera o Meta-ExternalAgent para treinamento e indexação e o Meta-ExternalFetcher para requisições solicitadas por usuários, sendo que este último pode ignorar o robots.txt.
O Bytespider é um problema de política, não de robots.txt. A ByteDance afirma que respeita o robots.txt; operadores de sites relatam amplamente o contrário. Se você quiser barrá-lo, barre-o na borda e não confie no arquivo.
Uma observação sobre o `Gemini-Deep-Research`: a documentação de rastreadores publicada pelo Google ainda não lista esse token entre os seus rastreadores comuns nem entre os coletores acionados pelo usuário, mas ele está em uso ativo e grandes distribuidores já o tratam pelo nome — o robots.txt da Digi-Key permite explicitamente tanto o Google-Extended quanto o Gemini-Deep-Research, ao lado de GPTBot, ChatGPT-User, OAI-SearchBot, PerplexityBot, Perplexity-User, ClaudeBot, Claude-User e Claude-SearchBot. Inclua-o; um token não reconhecido no robots.txt é inofensivo.
Quanto custa, de fato, bloquear cada classe?
| Se você bloquear | Você perde | Você ganha |
|---|---|---|
| Rastreadores de treinamento | Presença nos pesos dos modelos futuros; ser a resposta padrão quando o modelo responde offline | Uma posição de licenciamento e, marginalmente, menos banda |
| Indexadores de busca | Ser citado nas respostas do ChatGPT, do Claude e da Perplexity | Nada de relevante para um catálogo público |
| Coletores acionados pelo usuário | A capacidade de responder à pergunta de um comprador ao vivo | Nada |
Para um fabricante ou distribuidor cujo catálogo já é público e já está espelhado em agregadores, bloquear a classe de treinamento é quase só simbólico: os dados chegam aos modelos de qualquer jeito, via listagens de distribuidores e Common Crawl. O que muda é qual versão dos seus dados o modelo guarda. Bloquear as outras duas classes não traz vantagem nenhuma para um catálogo público.
robots.txt pronto para copiar e colar
Receita A: máxima visibilidade para os agentes
O padrão certo para um fabricante ou distribuidor cujo catálogo é público e cujo interesse comercial é ser encontrado e citado com precisão.
# --- Answer engines and user-triggered fetchers ---
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
User-agent: Amzn-SearchBot
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Allow: /
# --- Training crawlers and permission tokens ---
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Allow: /
# --- Everything else ---
User-agent: *
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/sitemap-products.xmlReceita B: permitir a recuperação, recusar o treinamento
Para organizações que tomaram a decisão deliberada de não contribuir com o treinamento de modelos, mas ainda querem ser encontradas e citadas. Repare no custo: bloquear o Google-Extended tira o seu conteúdo tanto do embasamento do Gemini quanto do treinamento.
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
Allow: /
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Bytespider
User-agent: Meta-ExternalAgent
User-agent: Amazonbot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /
User-agent: *
Disallow: /account/Receita C: catálogo aberto, todo o resto fechado
Útil quando o catálogo e a biblioteca de documentos são os ativos que você quer expor, e o resto do parque é ruído.
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Gemini-Deep-Research
Disallow: /
Allow: /products/
Allow: /catalog/
Allow: /datasheets/
Allow: /documents/
Allow: /sitemap-products.xmlSob a RFC 9309, vence a regra de caminho correspondente mais longa, então as linhas Allow prevalecem sobre o Disallow: / geral para esses prefixos. Verifique o resultado em vez de presumi-lo — o comportamento dos parsers em casos limítrofes ainda varia.
Dizer "não" de um jeito que se sustente: Content Signals
O robots.txt controla o acesso. Ele não diz nada sobre o uso depois que os bytes foram entregues. A Content Signals Policy da Cloudflare, lançada em 24 de setembro de 2025, acrescenta ao mesmo arquivo uma preferência de uso legível por máquina, com três sinais: search (construir um índice de busca e fornecer resultados de busca), ai-input (inserir conteúdo em um ou mais modelos de IA) e ai-train (treinar ou ajustar modelos de IA).
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Disallow: /account/A Cloudflare aplicou search=yes, ai-train=no a mais de 3,8 milhões de domínios que haviam habilitado o seu robots.txt gerenciado, deixando o ai-input deliberadamente sem definição em vez de adivinhar. É uma preferência declarada, não um mecanismo de aplicação — mas é uma declaração de intenção clara, datada e legível por máquina, e isso já vale a pena ter.
Por que o silêncio está virando "não"
Durante vinte anos, a ausência de uma regra no robots.txt significava "sim". Esse padrão está sendo retirado na camada de infraestrutura, e fabricantes que nunca tocaram no arquivo estão sendo excluídos pela própria CDN.
- 1º de julho de 2025 — a Cloudflare, que fica na frente de cerca de um quinto da web, tornou-se o primeiro grande provedor de infraestrutura a bloquear rastreadores de IA por padrão, perguntando de saída a cada novo domínio integrado se deveria permiti-los.
- 24 de setembro de 2025 — entrou em vigor a Content Signals Policy, com
ai-train=noaplicado por padrão a 3,8 milhões de domínios gerenciados. - 1º de julho de 2026 — a Cloudflare anunciou que, a partir de 15 de setembro de 2026, em novos domínios, em novos sites de clientes existentes e em todos os clientes de plano gratuito já existentes, as categorias de rastreadores de Treinamento e de Agente passam a ser bloqueadas por padrão nas páginas que exibem anúncios. A de Busca continua permitida. Rastreadores multipropósito que misturam Busca com Treinamento herdam a regra mais restritiva.
Leia esse último ponto com precisão, porque ele é amplamente mal citado. Ele se limita a páginas monetizadas com anúncios, o que a maioria dos catálogos de fabricantes não é. A mudança que já afeta você é a de 2025: se o seu site foi integrado a uma CDN moderna recentemente, ou está num plano gratuito, você pode já estar recusando rastreadores de IA sem que ninguém tenha decidido isso. Verifique antes de presumir.
O robots.txt é um pedido. Seu WAF é a aplicação.
É aqui que a maioria das configurações bem-intencionadas falha. O robots.txt é um protocolo voluntário, lido por clientes que cooperam. Seu gerenciador de bots é uma barreira rígida que classifica por IP de origem verificado, e os conjuntos de regras padrão rotineiramente desafiam ou bloqueiam tudo o que não pareça um navegador. Um rastreador que lê Allow: / e em seguida recebe um desafio JavaScript foi bloqueado, diga o arquivo o que disser.
Todo grande operador publica as suas faixas para que você possa liberá-las corretamente:
| Operador | Faixas publicadas |
|---|---|
| OpenAI | gptbot.json, searchbot.json, chatgpt-user.json |
| Anthropic | claude.com/crawling/bots.json |
| Perplexity | perplexitybot.json, perplexity-user.json |
| googlebot.json, special-crawlers.json, user-triggered-fetchers-google.json | |
| Amazon | developer.amazon.com/amazonbot |
Para checar se um endereço específico nos seus logs é genuinamente da OpenAI:
python3 - <<'EOF'
import ipaddress, json, urllib.request
probe = ipaddress.ip_address("132.196.86.5")
data = json.load(urllib.request.urlopen("https://openai.com/gptbot.json"))
nets = [ipaddress.ip_network(p.get("ipv4Prefix") or p.get("ipv6Prefix"))
for p in data["prefixes"]]
print(any(probe in n for n in nets if n.version == probe.version))
EOFTrês regras de borda cobrem a maior parte do problema:
- 01Libere as faixas verificadas antes que a sua regra de pontuação de bots dispare, restringindo a liberação apenas aos caminhos públicos de catálogo e de documentos.
- 02Isente esses caminhos de desafios JavaScript e de limites de taxa. Um cliente que não é navegador não consegue resolver um desafio, e um rastreador que indexa 40.000 SKUs vai estourar um limite de taxa calibrado para humanos.
- 03Não libere pela string de user-agent. Ela é um cabeçalho de texto livre. Faça a correspondência por IP e, opcionalmente, depois pelo user-agent.
Lembre-se de que cada origem é configurada separadamente. O seu site de produtos, o seu subdomínio de documentação e o hostname da sua CDN precisam, cada um, do próprio robots.txt e da própria política de WAF.
Como confirmo nos meus logs que funcionou?
Configuração que você não verificou nos logs é hipótese. Espere alguns dias antes de julgar o resultado: os operadores mantêm o robots.txt em cache, e a documentação da Meta avisa que as mudanças podem levar até 24 horas para entrar em vigor, enquanto a Amazon diz que os seus rastreadores podem usar uma cópia em cache dos últimos 30 dias. Depois disso:
grep -aiE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Gemini-Deep-Research|Applebot|Amazonbot|Bytespider|CCBot|Meta-External" access.log | wc -lEm seguida, abra por agente e por código de status — este é o número que importa:
awk '/GPTBot/ {print $9}' access.log | sort | uniq -c | sort -rnO que você está procurando:
- 01Volume diferente de zero por agente. Zero requisições de qualquer agente de IA em 72 horas num catálogo público significa que você está bloqueado antes, não que é apenas impopular.
- 02Uma distribuição de status dominada por 2xx. Uma parede de 403 significa que o WAF está passando por cima do robots.txt. Uma parede de 404 significa que o seu sitemap ou os seus links internos apontam para URLs que não existem mais.
- 03Caminhos de documentos aparecendo, não só caminhos de produto. Se
/datasheets/nunca aparece, a sua biblioteca técnica está invisível. - 04Tamanhos de resposta que fazem sentido. Respostas 200 repetidas de 4–15 KB em URLs de produto normalmente significam que os rastreadores estão recebendo uma casca vazia renderizada no cliente — tecnicamente permitida, na prática inútil.
- 05Os agentes acionados pelo usuário aparecendo, para começar. O tráfego de ChatGPT-User, Claude-User e Perplexity-User é a coisa mais próxima de um sinal em tempo real de interesse de compra que você tem. Vale acompanhá-lo em separado.
Erros comuns
- Bloquear coletores acionados pelo usuário sem querer, numa regra geral voltada aos rastreadores de treinamento.
- Configurar o robots.txt corretamente e deixar o WAF intocado. São duas chaves, e as duas precisam ser acionadas.
- Esquecer o subdomínio de documentação, o DAM e a CDN, cada um deles uma origem separada sob a RFC 9309.
- Bloquear o acesso dos rastreadores aos arquivos CSS e JavaScript. Isso não faz diferença para rastreadores só de texto, mas o Googlebot e o Applebot renderizam, e privá-los desses recursos degrada o que eles enxergam.
- Presumir que um agregador carrega os seus dados com precisão. Ele carrega o que raspou, na época em que raspou.
- Tratar o
llms.txtcomo substituto. Nenhum grande operador se comprometeu a lê-lo, e os logs em geral mostram que ele nunca é requisitado.
A Partsgraph auditou 984 domínios de distribuidores e fabricantes no mundo todo, na América do Norte, na Europa e na Ásia, em agosto de 2026. Apenas 19% publicavam uma política explícita de rastreadores de IA de algum tipo — e, entre os que publicavam, mais que o dobro bloqueava um grande rastreador de IA em vez de convidá-lo. Nenhum anunciava um endpoint MCP. Pontuação mediana de visibilidade para IA: 50 de 100. A distância ainda não virou disputa competitiva — e é justamente por isso que um robots.txt bem formado continua sendo uma das horas de trabalho de maior alavancagem à disposição de uma equipe de dados de produto.
Veja o que os rastreadores de IA realmente conseguem alcançar no seu domínio com o avaliador gratuito da Partsgraph em [/audit](/audit).
Perguntas frequentes
Qual é a diferença entre GPTBot e ChatGPT-User?
O GPTBot é um rastreador em massa que recolhe dados de treinamento para os modelos de base da OpenAI, e ele obedece ao robots.txt. O ChatGPT-User busca uma única página porque alguém fez ao ChatGPT uma pergunta que exige aquela página. A documentação da OpenAI afirma que, como essas ações são iniciadas por um usuário, as regras do robots.txt podem não se aplicar. Bloquear o GPTBot é uma decisão de licenciamento; bloquear o ChatGPT-User é recusar-se a responder à pergunta de um cliente ao vivo.
O Google-Extended é um rastreador?
Não. O Google-Extended é um token de controle do robots.txt, não um coletor. Os bytes continuam chegando pelo Googlebot. Bloquear o Google-Extended diz ao Google para não usar o conteúdo no treinamento dos modelos Gemini nem no embasamento das respostas, deixando intacta a indexação normal da Busca. O Applebot-Extended funciona da mesma forma para a Apple.
Bloquear rastreadores de treinamento de IA vai manter meu catálogo fora dos modelos de IA?
Em grande parte não, e isso vai custar visibilidade. Os dados de componentes estão espelhados em distribuidores, agregadores e no Common Crawl, então o conteúdo normalmente chega aos modelos de qualquer forma — só que como a cópia desatualizada de um terceiro, e não como a sua versão atual e autoritativa. Você perde a possibilidade de ser a fonte citada sem ganhar nenhum controle relevante em troca.
O robots.txt do meu domínio principal cobre o subdomínio da documentação?
Não. Sob a RFC 9309, o robots.txt tem escopo de uma única origem: esquema, host e porta. O hostname da sua CDN, o seu DAM e o subdomínio de documentação precisam, cada um, do próprio arquivo. Esse é o motivo isolado mais comum para um site que parece aberto no robots.txt ainda assim não entregar nada a um rastreador.
Por que meu robots.txt diz Allow e os rastreadores continuam bloqueados?
Porque o robots.txt é um pedido e o seu WAF é a aplicação. Os gerenciadores de bots classificam por IP de origem verificado, não pela string de user-agent, e muitas regras padrão desafiam tudo o que não seja um navegador. Você precisa liberar na borda as faixas verificadas dos rastreadores, além de permiti-las no robots.txt.
Devo usar o llms.txt no lugar disso?
Não no lugar. Em 2026, nenhum grande operador de IA se comprometeu a ler o llms.txt, e a equipe de Search Relations do Google se recusou a endossá-lo. Os logs de servidor em geral mostram que os rastreadores de IA nunca requisitam o arquivo. Publique-o se quiser, mas quem de fato muda o comportamento é o robots.txt, páginas reais acessíveis por links e a liberação de bots verificados.
Como confirmo que uma requisição veio mesmo do GPTBot e não de um impostor?
Confira o IP de origem contra a lista de prefixos publicada pela OpenAI em openai.com/gptbot.json. Todo grande operador publica um arquivo JSON equivalente, e o Google aceita verificação por DNS reverso. Nunca confie apenas na string de user-agent — ela é trivialmente forjável, e boa parte do tráfego que se diz rastreador de IA não é.
Fontes
- 01OpenAI, Overview of OpenAI crawlers
- 02Anthropic, Does Anthropic crawl data from the web?
- 03Perplexity, PerplexityBot and Perplexity-User documentation
- 04Google Search Central, Google crawlers and user agents
- 05Google Search Central, user-triggered fetchers
- 06Apple Support, About Applebot
- 07Amazon, About Amazonbot
- 08Meta for Developers, Meta web crawlers
- 09Cloudflare, Content Independence Day: new AI traffic options, July 2026
- 10Cloudflare, Content Signals Policy, September 2025
- 11Cloudflare press release, blocking AI crawlers by default, July 2025
- 12RFC 9309, Robots Exclusion Protocol
- 13Forrester, The State Of Business Buying, 2026 (January 2026)
Veja exatamente o que os assistentes de IA conseguem e o que não conseguem ler dos seus produtos hoje — política de rastreamento, cobertura do catálogo, acesso às fichas técnicas —, com pontuação e comparação com 984 distribuidores e fabricantes do mundo todo.
Avaliar meu catálogoNotas de campo relacionadas
Rastreadores de IA não executam JavaScript
GPTBot, ClaudeBot e PerplexityBot leem o HTML bruto e nunca executam scripts. Como testar se seu catálogo está…
SoluçãoO que é um catálogo de produtos pronto para agentes?
Um catálogo pronto para agentes serve quatro superfícies de máquina. O que é cada uma, quais assistentes de IA…
PesquisaMaiores nomes da distribuição: pior legibilidade para IA
Avaliamos 984 catálogos industriais e remedimos ao vivo 25 marcas conhecidas. A mediana delas é 40 contra 50 d…