SEO & Discoverability

Como escrever um robots.txt que realmente bloqueia scrapers de IA

Um guia prático para bloquear rastreadores de IA compatíveis, entender os limites do robots.txt e adicionar controles do lado do servidor onde eles importam.

The Wux Webtools Team The Wux Webtools Team 11 min de leitura Assistido por IA, revisado por humanos
Illustration of crawler bots approaching a website gate controlled by a robots.txt file.
Tabela de conteúdos
  1. A verdade desconfortável sobre o robots.txt
  2. O que o robots.txt pode e não pode fazer
  3. Comece pela decisão de política
  4. Um modelo razoável de robots.txt para bloquear IA
  5. Tenha cuidado com o Google-Extended
  6. Teste o arquivo como código de produção
  7. Adicione controles do lado do servidor para bots que ignoram as regras
  8. Limitação de taxa
  9. Filtragem por user-agent
  10. Controles de IP e ASN
  11. Autenticação e paywalls
  12. Minimização de conteúdo
  13. Use meta tags robots para regras em nível de página
  14. Monitore logs após a publicação
  15. Mantenha o arquivo pequeno e revisado
  16. Em resumo

A verdade desconfortável sobre o robots.txt

Um arquivo robots.txt não é uma fechadura. É um aviso na porta.

Essa distinção importa quando as equipes perguntam se podem “bloquear scrapers de IA” com um pequeno arquivo de texto. Para rastreadores confiáveis que seguem o Robots Exclusion Protocol, sim: um robots.txt escrito corretamente pode dizer a eles para não rastrear suas páginas. Para scrapers desconhecidos, imitadores, automação de navegador e bots que simplesmente não se importam, ele não fará nada por si só.

Portanto, o objetivo prático não é “tornar a raspagem impossível”. É:

  • Dizer aos rastreadores de IA compatíveis para não usarem seu site.
  • Evitar bloquear acidentalmente mecanismos de busca ou serviços úteis.
  • Adicionar controles mais fortes do lado do servidor contra abusos.
  • Manter a política sustentável à medida que os nomes dos rastreadores mudam.

Essa é a versão entediante. Também é a versão que funciona.

O que o robots.txt pode e não pode fazer

Um arquivo robots.txt fica na raiz de um site:

https://example.com/robots.txt

Os rastreadores o solicitam antes de rastrear. O arquivo contém grupos de regras. Cada grupo começa com uma ou mais linhas User-agent, seguidas por diretivas Allow ou Disallow.

Um bloqueio simples de todo o site fica assim:

User-agent: GPTBot
Disallow: /

Isso diz: se você é GPTBot, não rastreie nada neste site.

Mas o robots.txt tem limites claros:

  1. Ele é voluntário. Agentes mal-intencionados podem ignorá-lo.
  2. Ele não impede que uma URL seja solicitada por um navegador ou script comum.
  3. Ele não remove conteúdo já coletado em outro lugar.
  4. Ele não define, por si só, direitos autorais, licenciamento ou direitos de treinamento.
  5. Ele pode ser configurado incorretamente de maneiras que bloqueiam os bots errados.

Se você precisa de controle de acesso real, use autenticação, autorização, limitação de taxa, controles baseados em IP, gestão de bots ou controles legais. O robots.txt ainda é útil, mas pertence a uma estratégia mais ampla de proteção de conteúdo.

Isso é semelhante a outros problemas de governança da web: o controle visível raramente é o controle inteiro. Se sua organização já tem uso não gerenciado de IA internamente, o mesmo princípio se aplica; uma rápida auditoria de shadow AI costuma ser mais útil do que fingir que um único documento de política resolve o problema.

Comece pela decisão de política

Antes de editar o arquivo, decida o que você está realmente tentando bloquear.

Há pelo menos quatro coisas diferentes que as pessoas querem dizer com “scraper de IA”:

  • Rastreadores usados para coletar dados de treinamento.
  • Rastreadores de busca por IA ou de mecanismos de resposta.
  • Buscadores acionados pelo usuário, como quando alguém pede a um produto de IA para resumir uma URL.
  • Scrapers genéricos fingindo ser navegadores comuns.

Você pode querer bloquear todos eles. Ou pode querer descoberta por mecanismos de busca enquanto opta por não participar do treinamento de modelos. Essas não são a mesma política.

Por exemplo, a OpenAI documenta user agents separados para diferentes finalidades, incluindo GPTBot, ChatGPT-User e OAI-SearchBot. O Google usa Google-Extended como um token de controle para alguns casos de uso do Gemini e do Vertex AI, enquanto o rastreamento normal da Pesquisa Google é tratado por outros user agents do Googlebot.

Essa separação é importante. Se você bloquear user agents amplos sem cuidado, pode prejudicar a visibilidade normal em mecanismos de busca ao tentar bloquear treinamento de IA.

Um modelo razoável de robots.txt para bloquear IA

Aqui está um ponto de partida conservador para bloquear vários rastreadores comumente documentados relacionados à IA, mantendo os rastreadores gerais de busca liberados:

# AI training and AI product crawlers
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-Web
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Amazonbot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Meta-ExternalAgent
Disallow: /

# Default rule for other crawlers
User-agent: *
Allow: /

Esta não é uma lista universal mágica. É um padrão sustentável.

Algumas observações:

  • Disallow: / significa “não rastreie nenhum caminho”.
  • User-agent: * se aplica a rastreadores que não correspondem a um grupo mais específico.
  • Allow: / não é estritamente obrigatório para o grupo padrão, mas deixa clara a sua intenção.
  • Mantenha os comentários curtos. Alguns analisadores são tolerantes, mas o robots.txt deve continuar simples.
  • Não inclua URLs privadas no robots.txt. O arquivo é público, e listar caminhos sensíveis pode divulgá-los.

Vale repetir o último ponto. O robots.txt não é um mecanismo de sigilo. Se /client-contracts/ não deve ser público, proteja-o com autenticação. Não se limite a desautorizá-lo.

Tenha cuidado com o Google-Extended

Google-Extended é amplamente mal compreendido. Ele não é o mesmo que bloquear a Pesquisa Google.

Segundo a documentação do Google, Google-Extended é um token de produto independente que os editores podem usar para gerenciar se o conteúdo do site pode ajudar a melhorar determinados recursos do Gemini e do Vertex AI. Bloqueá-lo não deve, por si só, impedir o Googlebot de rastrear para a Pesquisa.

Dito isso, não substitua todas as diretivas do Google por um bloqueio amplo como este, a menos que seja exatamente isso que você pretende:

User-agent: Googlebot
Disallow: /

Isso diria ao principal rastreador da Pesquisa Google para não rastrear seu site. Para a maioria dos sites públicos, não é isso que você quer.

A mesma distinção se aplica em outros lugares. Alguns fornecedores separam rastreadores de treinamento de navegação acionada pelo usuário ou rastreadores de busca por IA. Outros não. Você precisa ler a documentação dos bots que importam para você e tratar seu robots.txt como um arquivo vivo, não como uma caixa de seleção marcada uma única vez.

Teste o arquivo como código de produção

O robots.txt parece simples, e é por isso que é fácil quebrá-lo.

Erros comuns incluem:

  • Enviá-lo para o lugar errado, como /assets/robots.txt em vez de /robots.txt.
  • Usar aspas tipográficas copiadas de um editor de documentos.
  • Bloquear todos os rastreadores com User-agent: * e Disallow: / por acidente.
  • Presumir que o arquivo de um domínio se aplica a outro subdomínio.
  • Esquecer que hosts http://, https://, www e sem www podem ser tratados de forma diferente, dependendo da sua configuração.

Para sites com múltiplos domínios, verifique todos os hosts canônicos. Um arquivo robots em https://www.example.com/robots.txt não governa automaticamente https://app.example.com/robots.txt.

Ao depurar, inspecione a resposta HTTP real, não apenas o que a pré-visualização do seu CMS mostra. Você quer uma resposta 200 OK, tipo de conteúdo text/plain se possível, e exatamente o arquivo que espera. Se redirecionamentos, cache ou regras de CDN estiverem envolvidos, a inspeção de cabeçalhos brutos ajuda. O fluxo de trabalho em depuração de redirecionamentos e cabeçalhos HTTP em produção se aplica diretamente aqui.

Adicione controles do lado do servidor para bots que ignoram as regras

Se o rastreador for compatível, o robots.txt é o sinal mais limpo. Se o rastreador for abusivo, você precisa de aplicação efetiva.

Controles práticos incluem:

Limitação de taxa

Defina limites para padrões de solicitação incomuns: páginas demais por minuto, navegação profunda por paginação, 404s repetidos ou alto volume de solicitações vindo de um pequeno conjunto de IPs. Os limites de taxa devem ser generosos o suficiente para não punir usuários reais e rigorosos o suficiente para tornar a extração em massa cara.

Filtragem por user-agent

Você pode bloquear user agents documentados de rastreadores de IA no servidor web, proxy reverso, CDN ou camada da aplicação. Isso é mais forte que o robots.txt porque retorna uma resposta real de negação.

Por exemplo, o Nginx pode bloquear um padrão de user agent, embora regras de produção devam ser testadas com cuidado:

if ($http_user_agent ~* "GPTBot|CCBot|ClaudeBot|Bytespider") {
    return 403;
}

Isso não é infalível. Strings de user-agent são fáceis de falsificar. Mas interrompe o tráfego honesto ou preguiçoso e reduz a carga.

Controles de IP e ASN

Alguns operadores publicam intervalos de IP, mas muitos ecossistemas de scrapers não o fazem. Bloqueios baseados em IP podem funcionar para abusos óbvios, especialmente vindos de faixas de hospedagem em nuvem sem tráfego normal de usuários, mas também podem gerar falsos positivos. Use logs antes de criar regras.

Autenticação e paywalls

Se o conteúdo não deve ser copiado em escala, não coloque o conteúdo completo em uma URL pública. O robots.txt é inadequado para material confidencial, bases de dados licenciadas, comunidades privadas ou arquivos pagos.

Minimização de conteúdo

Às vezes, a melhor proteção é arquitetural. Não exponha APIs desnecessárias, grandes payloads JSON, metadados ocultos, endpoints de rascunho ou arquivos completos se a página pública só precisa de um pequeno subconjunto. Sites com muitas imagens também devem pensar em quais metadados publicam; a lógica de privacidade em remover metadados EXIF antes de compartilhar fotos online também se aplica a operações de conteúdo.

Use meta tags robots para regras em nível de página

O robots.txt controla o rastreamento. Meta tags robots e cabeçalhos X-Robots-Tag controlam a indexação e o comportamento de snippets para mecanismos de busca e rastreadores compatíveis.

Por exemplo:

<meta name="robots" content="noindex, noarchive">

Ou como um cabeçalho HTTP:

X-Robots-Tag: noindex, noarchive

Essas não são proteções específicas contra IA. Elas são úteis quando você quer que uma página seja acessível, mas não indexada. No entanto, se você bloquear um rastreador de buscar uma página no robots.txt, ele talvez nunca veja a meta tag em nível de página. Não confie em uma tag noindex em uma URL que o rastreador está proibido de rastrear.

A regra aproximada:

  • Use robots.txt para reduzir ou impedir o rastreamento.
  • Use meta robots ou X-Robots-Tag para controlar o comportamento de indexação.
  • Use controles do lado do servidor para aplicar acesso.

Monitore logs após a publicação

Publicar o arquivo é apenas o primeiro passo. Depois disso, verifique seus logs.

Procure por:

  • Solicitações a /robots.txt dos user agents que você nomeou.
  • Rastreamento contínuo depois que regras de desautorização são servidas.
  • User agents suspeitos com alto volume.
  • User agents parecidos com navegadores solicitando milhares de páginas em sequência.
  • Acesso repetido a feeds, sitemaps, páginas de busca e paginação.

Se um bot solicita robots.txt, vê uma desautorização completa e então para, o robots.txt fez seu trabalho. Se ele continua, leve esse bot para aplicação efetiva: limites de taxa, bloqueios ou autenticação.

Revise também a exposição do seu sitemap. Sitemaps são úteis para mecanismos de busca, mas também são mapas convenientes para scrapers. Isso não significa que você deva removê-los de sites comuns. Significa que você não deve incluir URLs que não quer que sistemas públicos descubram.

Mantenha o arquivo pequeno e revisado

O robots.txt tende a se deteriorar. Uma equipe de marketing adiciona um microsite de campanha. Um desenvolvedor adiciona um caminho de staging. Um fornecedor muda o nome do seu rastreador. Dois anos depois, ninguém sabe por que metade das regras existe.

Trate-o como configuração:

  • Armazene-o em controle de versão quando possível.
  • Adicione um comentário curto para cada grupo de rastreador de IA.
  • Revise-o trimestralmente.
  • Verifique a documentação do fornecedor antes de adicionar regras amplas.
  • Teste após mudanças de CDN, CMS ou hospedagem.

Se seu site publica conteúdo assistido por IA, também separe a política de rastreamento da transparência editorial. Bloquear scrapers de IA diz respeito a acesso e reutilização. Divulgação diz respeito à confiança do leitor. Elas se sobrepõem eticamente, mas não são o mesmo controle. Uma abordagem prática de divulgação é abordada em como é uma divulgação honesta sobre IA em um site pequeno.

<!-- tool-cta:start -->

💡 Experimente isto: Depois de adicionar regras para crawlers de IA, confirme a sintaxe com o Robots.txt Tester para não bloquear acidentalmente também bots legítimos.

<!-- tool-cta:end -->

Em resumo

Um bom arquivo robots.txt bloqueará rastreadores de IA compatíveis. Ele não impedirá raspagem determinada, strings de user-agent copiadas, navegadores comprometidos ou pessoas colando seu conteúdo manualmente em sistemas de IA.

Isso não o torna inútil. Torna-o uma camada.

Escreva regras explícitas para rastreadores de IA documentados. Evite bloqueios amplos que prejudiquem a visibilidade em mecanismos de busca. Teste o arquivo servido, não o rascunho. Observe os logs. Aplique controles do lado do servidor quando o comportamento passar de indesejado para abusivo.

A web sempre funcionou com uma combinação de protocolo, normas e aplicação. O robots.txt é a camada das normas. Use-o, mas não o confunda com um muro.

Perguntas frequentes

O robots.txt pode impedir empresas de IA de treinarem com meu conteúdo?
Ele pode dizer a rastreadores de IA compatíveis para não rastrearem seu site com essa finalidade. Ele não consegue impedir tecnicamente scrapers não compatíveis de acessarem páginas públicas, e não remove conteúdo já coletado.
Devo bloquear User-agent: * para impedir todos os scrapers?
Geralmente, não. `User-agent: *` se aplica a todos os rastreadores que não correspondem a uma regra mais específica. `Disallow: /` nesse grupo pode bloquear o rastreamento normal de mecanismos de busca e outros bots úteis.
Google-Extended é o mesmo que Googlebot?
Não. O Google documenta `Google-Extended` como um token de produto separado para controlar alguns usos do Gemini e do Vertex AI. Bloquear `Googlebot` é uma ação muito mais ampla e pode afetar o rastreamento da Pesquisa Google.
E se um scraper de IA ignorar o robots.txt?
Passe da sinalização para a aplicação efetiva. Use limitação de taxa, bloqueios por user-agent, controles de IP ou ASN quando apropriado, gestão de bots, autenticação e exposição mais restrita de APIs/conteúdo.
Preciso tanto do robots.txt quanto de meta tags robots?
Eles resolvem problemas diferentes. O robots.txt controla o rastreamento. Meta tags robots e cabeçalhos `X-Robots-Tag` controlam a indexação e o comportamento de snippets para rastreadores compatíveis que conseguem acessar a página.

Fontes e leituras adicionais

  1. RFC 9309: The Robots Exclusion Protocol
  2. Google Search Central: robots.txt specifications
  3. OpenAI: GPTBot documentation
  4. Google Search Central: Google-Extended
Sobre o autor
The Wux Webtools Team

Última atualização:

Continue lendo