Como bloquear bots de IA no robots.txt (e se você deve fazer isso)
Para bloquear bots de IA no robots.txt, adicione um grupo que liste os bots e uma regra Disallow: /. A configuração mais comum bloqueia os crawlers que coletam dados para treinamento de modelos (GPTBot, ClaudeBot, CCBot e outros, além dos tokens Google-Extended e Applebot-Extended) e deixa em paz os crawlers de busca com IA (OAI-SearchBot, Claude-SearchBot, PerplexityBot): seu conteúdo fica fora de futuros dados de treinamento, enquanto os links para o seu site nas respostas do ChatGPT, Claude e Perplexity continuam aparecendo. O Google Search não é afetado. Tenha em mente, porém, que o robots.txt é um pedido que bots bem-comportados respeitam, não uma barreira técnica.
A seguir: os tipos de crawlers de IA, blocos prontos para três cenários, o erro que dá aos bots "permitidos" acesso à sua área administrativa e como verificar o resultado.
Três grupos de crawlers de IA
"Bot de IA" abrange robôs muito diferentes. Decida sobre cada grupo separadamente:
| Grupo | Tokens do robots.txt | O que acontece se você bloquear |
|---|---|---|
| Treinamento de modelos | GPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl), meta-externalagent (Meta), Bytespider (ByteDance), Amazonbot (Amazon), além dos tokens Google-Extended e Applebot-Extended | Seu conteúdo deve ficar fora de futuros conjuntos de dados de treinamento. Sem efeito no Google Search ou no Bing |
| Busca com IA | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Seu site deixa de aparecer como link citado nas respostas da busca do ChatGPT, do Claude e do Perplexity: perda de tráfego de referência |
| Acessos iniciados pelo usuário | ChatGPT-User, Claude-User, Perplexity-User | O assistente não consegue abrir sua página quando um usuário cola seu link ou pede para pesquisar algo |
Essa divisão vem da documentação das próprias empresas. A OpenAI afirma que as configurações do GPTBot e do OAI-SearchBot são independentes: você pode permitir a busca e bloquear o treinamento. A Anthropic descreve seus três bots da mesma forma. Segundo a documentação do Perplexity, o PerplexityBot não é usado para rastrear conteúdo para treinar modelos de base.
O terceiro grupo vem com uma ressalva. A OpenAI avisa que as regras do robots.txt podem não valer para o ChatGPT-User, porque a solicitação é iniciada por uma pessoa. O Perplexity diz que o Perplexity-User geralmente ignora o robots.txt. Já a Anthropic permite controlar o Claude-User pelo robots.txt.
Google-Extended e Applebot-Extended são tokens, não crawlers
Esses dois nomes costumam ser confundidos com crawlers, mas nenhum deles acessa suas páginas.
- Google-Extended, segundo a documentação do Google, não tem user agent próprio: os crawlers comuns do Google fazem a coleta, e o token do robots.txt apenas indica se o conteúdo pode ser usado para treinar futuros modelos Gemini e para grounding nos Gemini Apps e no Vertex AI. O Google afirma que o Google-Extended não afeta a inclusão de um site no Google Search e não é um sinal de ranqueamento.
- Applebot-Extended, segundo a documentação da Apple, também não rastreia nada. Ele define se os dados coletados pelo Applebot comum podem ser usados para treinar os modelos de base da Apple. Páginas que bloqueiam o Applebot-Extended ainda podem aparecer nos recursos de busca da Apple: Siri, Spotlight e Safari.
Na prática: você não consegue bloquear esses dois no servidor por user agent, porque nenhuma requisição carrega esse user agent. Bloquear o Googlebot ou o Applebot no lugar prejudicaria sua visibilidade na busca.
Blocos prontos de robots.txt
Cenário 1. Bloquear o treinamento de IA e manter a busca com IA
É isso que a predefinição "Bloquear treinamento de IA, permitir busca com IA" do nosso gerador de robots.txt produz. Os crawlers de busca não são mencionados, então seguem as regras gerais de *:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xmlVários User-agent consecutivos formam um único grupo: mais curto e com menos chance de erro. Observe que a Amazon usa o Amazonbot tanto para seus próprios serviços quanto para o treinamento de modelos.
Cenário 2. Bloquear todos os crawlers de IA
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Disallow: /
O preço é que os links para o seu site somem das respostas de busca com IA. Para um site empresarial, isso geralmente não compensa; para uma base de conhecimento exclusiva para membros ou conteúdo pago, pode compensar.
Cenário 3. Permitir tudo
Não adicione nada. Os crawlers de IA que não são citados no arquivo seguem o grupo User-agent: *. Um grupo separado com Allow: / não é apenas redundante, mas prejudicial: veja a próxima seção.
Cenário 4. Bloquear a IA em parte do site
Por exemplo, conteúdo pago e PDFs. Copie todas as suas regras gerais para o grupo de IA, ou elas deixam de valer para esses bots:
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /premium/
Disallow: /*.pdf$
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Por que você não deve adicionar um grupo Allow separado para bots de IA
A regra que quebra a maioria dos arquivos escritos à mão: um crawler obedece a apenas um grupo, o mais específico para o seu nome. É assim que a especificação de robots.txt do Google e a RFC 9309 a descrevem: se um bot tem o próprio grupo, ele ignora as regras de *. Veja este arquivo:
User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
User-agent: OAI-SearchBot
Allow: /
O autor queria "permitir explicitamente" a busca do ChatGPT e, em vez disso, deu ao OAI-SearchBot acesso a /wp-admin/ e /cart/: ele encontrou o próprio grupo, então as restrições de * deixaram de valer para ele. Por isso o nosso gerador nunca gera bots de IA permitidos como um grupo separado. Se um bot realmente precisar do próprio grupo, repita todas as restrições gerais dentro dele.
Dentro de um grupo, vale uma segunda regra: vence o caminho correspondente mais longo, e em caso de empate o Google escolhe a regra menos restritiva, ou seja, Allow. Mais detalhes sobre a sintaxe e armadilhas comuns em verificação do robots.txt.
Vale a pena bloquear crawlers de IA?
Não existe uma resposta universal, mas a lógica é clara:
- Bloquear o treinamento faz sentido quando o conteúdo é o seu produto: material pago, textos originais, bancos de dados. Funciona daqui para frente: a Anthropic, por exemplo, diz que o bloqueio indica que os materiais futuros do site devem ser excluídos do treinamento. O robots.txt não recolhe dados já coletados.
- Bloquear a busca com IA raramente compensa para sites que vivem de tráfego: as respostas do ChatGPT search, do Claude e do Perplexity citam fontes, e as citações geram visitas.
- Google-Extended é uma decisão à parte. Ele não afeta a Pesquisa Google, mas, segundo o Google, também controla o grounding nos apps do Gemini, então bloqueá-lo pode reduzir a sua presença nas respostas do Gemini.
- Carga no servidor. Se os crawlers de IA sobrecarregam um servidor pequeno, esse é um motivo para limitá-los. A Anthropic oferece suporte à diretiva não padrão
Crawl-delay; o Google não. A relação entre a carga do servidor e o rastreamento do Googlebot é explicada em orçamento de rastreamento.
O robots.txt é um pedido, não um cadeado
Bots bem-comportados seguem o arquivo; nada impede tecnicamente que outros o ignorem ou falsifiquem o user agent. A documentação da Cloudflare diz isso claramente: o cumprimento do robots.txt é voluntário. Se você precisa realmente barrar bots:
- Bloqueie no servidor. Por exemplo, por user agent no nginx (isso só funciona para bots com user agent próprio, não para Google-Extended ou Applebot-Extended):
if ($http_user_agent ~* "(GPTBot|ClaudeBot|CCBot|Bytespider|meta-externalagent)") {
return 403;
}- Verifique pelo IP. User agents são fáceis de falsificar. OpenAI, Anthropic, Perplexity e Apple publicam os endereços IP ou as faixas de IP dos seus crawlers, o que permite distinguir um bot verdadeiro de um impostor.
- Use sua CDN. A Cloudflare oferece um robots.txt gerenciado para crawlers de IA (disponível em todos os planos, segundo a documentação) e um bloqueio separado, aplicado de forma obrigatória, para bots de IA (AI Crawl Control). Confira os detalhes do seu plano na documentação deles.
Um alerta da Anthropic: se você bloquear os endereços IP dela, o crawler pode não conseguir ler seu robots.txt, e assim seu opt-out pode não ser respeitado de forma confiável. Configure o robots.txt de qualquer maneira, mesmo que você também bloqueie no servidor.
O llms.txt é outra coisa
Um arquivo /llms.txt não bloqueia nem libera o acesso. É um formato proposto para um mapa curto do seu site em Markdown, voltado a modelos de linguagem: o que é o site e quais páginas são mais importantes. Ele não impede o acesso da IA, mas pode ajudá-la a entender seu site. Detalhes em o que é llms.txt; você pode criar um com nosso gerador de llms.txt.
Como verificar o resultado
- Abra
https://your-site/robots.txtno navegador e confirme que a nova versão está no ar (CMSs, plugins e CDNs às vezes servem o próprio arquivo). - Passe o arquivo pelo verificador de robots.txt: ele lista todos os grupos User-agent, as regras Allow e Disallow e as linhas Sitemap, e avisa sobre problemas como
Disallow: /para todos os bots. - Verifique o site no AI Visibility Checker. Ele analisa o robots.txt conforme a RFC 9309 para 14 crawlers e tokens de IA (quem está liberado, quem está bloqueado), verifica o
/llms.txte a meta robots da página inicial, e envia uma requisição de teste à página inicial com o user agent do GPTBot. Esse teste é apenas um indício: o GPTBot real vem dos IPs da OpenAI, e uma CDN pode tratá-lo de forma diferente. A seção de acesso dos bots é gratuita; as respostas da busca por IA às suas perguntas contam para um limite diário (10 execuções novas por dia sem conta, o triplo com conta, ilimitado no Pro). - Depois de alguns dias, verifique os logs do servidor: quais user agents ainda chegam e de quais IPs. As mudanças não são instantâneas: a OpenAI, por exemplo, diz que os sistemas de busca podem levar cerca de 24 horas para se ajustar.
Erros comuns
- Um grupo
Allow: /separado para bots de IA "bons": ele reabre tudo o que você fechou para*. - Bloquear a busca por IA junto com o treinamento sem perceber que os links nas respostas do ChatGPT e do Perplexity sumiram.
- Esperar que o Google-Extended remova o site da Busca do Google. Ele não afeta a Busca; para remover uma página do índice, você precisa de
noindex. A diferença é explicada em noindex, nofollow e robots.txt. - Tentar bloquear o Google-Extended no servidor pelo user agent: esse user agent não existe.
- Esquecer os subdomínios. O robots.txt vale apenas para o próprio host:
blog.example.comeshop.example.comprecisam de arquivos próprios. - Erros de digitação nos nomes dos bots e listas desatualizadas. Nomes e finalidades mudam, então revise a documentação dos operadores a cada poucos meses.