Extração de dados

Quem Bloqueia os Crawlers de IA? GPTBot, ClaudeBot e Companhia nos 10.000 Maiores Sites

Lemos o robots.txt dos 10.000 maiores domínios. Um site em cada cinco bloqueia pelo menos um crawler de IA, enquanto quase todos ainda recebem bem os mecanismos de busca.

Chris Collins

6 de outubro de 2026 · 11 min de leitura

As empresas de IA enviam seus próprios crawlers pela web, e os proprietários de sites respondem através do robots.txt, o arquivo de texto simples que informa aos visitantes automatizados o que eles podem buscar. Cada grande empresa de IA publica os nomes que seus crawlers atendem, de modo que um site pode bloquear um, alguns ou todos eles enquanto ainda recebe mecanismos de busca.

Queríamos um retrato atual de quem faz isso. Em 6 de outubro de 2026, solicitamos o robots.txt de cada um dos 10.000 principais domínios no ranking Tranco, avaliamos as regras para 16 crawlers de IA e dois crawlers de busca, e registramos quais deles cada site permite em sua página inicial. Este guia compartilha os resultados, o avaliador que escrevemos e o que isso significa para quem coleta dados da web.

Principais conclusões

  • 5.754 dos 10.000 principais domínios serviram um robots.txt que conseguimos ler. Um em cada cinco desses, 20,4%, bloqueia pelo menos um crawler de IA de sua página inicial.
  • Os crawlers mais bloqueados são o CCBot do Common Crawl (16,2%), o Bytespider da ByteDance (15,3%), o GPTBot da OpenAI (15,1%) e o ClaudeBot da Anthropic (14,0%).
  • Os mecanismos de busca quase nunca são bloqueados: Googlebot por 2,6% e Bingbot por 3,3%, a maioria deles sites que bloqueiam todos os crawlers. 17,3% dos sites deixam entrar os dois mecanismos de busca enquanto bloqueiam pelo menos um crawler de IA.
  • Muitos sites separam treinamento de resposta. Dos 871 sites que bloqueiam o GPTBot, 345 ainda permitem o ChatGPT-User, que busca páginas quando uma pessoa pergunta ao ChatGPT sobre elas.
  • Quanto maior o site, maior a probabilidade de bloqueio: 29,5% dos 1.000 principais bloqueiam pelo menos um crawler de IA, contra 18,8% daqueles classificados entre 5.001 e 10.000.

Como medimos

Para cada domínio, solicitamos https://<domain>/robots.txt, recorrendo ao host www. quando necessário, com um User-Agent que nos identificava e apontava para nosso site, em um ritmo moderado. Em seguida, avaliamos as regras para cada crawler em relação ao caminho da página inicial /.

Seguimos a RFC 9309, o padrão robots.txt, em vez do atalho que a maioria das bibliotecas adota:

  • Um crawler usa todos os grupos que o nomeiam, e recorre ao grupo * apenas quando nenhum grupo o faz.
  • A regra correspondente mais longa vence, e Allow vence em caso de empate.
  • Uma resposta 4xx significa que não há regras; uma resposta 5xx significa que tudo está proibido.

O analisador embutido do Python aplica a primeira regra correspondente em vez da mais longa, o que interpreta mal arquivos comuns como Disallow: / seguido de Allow: /$, então escrevemos nosso próprio avaliador e o testamos contra os casos do padrão. Contamos um crawler como “bloqueado” quando ele não pode buscar a página inicial, e registramos separadamente se o arquivo nomeia o crawler ou o bloqueia apenas através de *.

Dos 10.000 domínios, 5.877 retornaram um robots.txt interpretável e 5.754 deles eram sites distintos; o restante era, em sua maioria, hosts de API, redes de entrega de conteúdo e outros domínios que não servem nenhum site. 460 responderam com uma página HTML em vez de um arquivo robots, o que o padrão trata como ausência de regras.

O que encontramos

CrawlerOperadorFinalidadeBloqueado da página inicialNomeado no arquivo
CCBotCommon CrawlArquivo aberto da web amplamente usado para treinamento de IA16,2%15,2%
BytespiderByteDanceRastreamento para modelos de IA15,3%13,1%
GPTBotOpenAITreinamento15,1%17,7%
ClaudeBotAnthropicTreinamento14,0%15,1%
meta-externalagentMetaTreinamento e produtos de IA12,5%10,8%
Google-ExtendedGoogleTreinamento e embasamento do Gemini, separado da Busca12,3%13,5%
anthropic-aiAnthropicToken mais antigo da Anthropic11,7%9,9%
Applebot-ExtendedAppleTreinamento, separado do Applebot11,7%10,1%
AmazonbotAmazonRastreamento para serviços da Amazon11,7%10,3%
cohere-aiCohereProdutos de IA11,7%9,2%
PerplexityBotPerplexityÍndice de busca para respostas10,8%12,7%
ChatGPT-UserOpenAIBusca uma página quando um usuário pergunta9,4%11,7%
Perplexity-UserPerplexityBusca uma página quando um usuário pergunta7,7%6,2%
OAI-SearchBotOpenAIResultados de busca no ChatGPT7,5%9,9%
Claude-UserAnthropicBusca uma página quando um usuário pergunta7,3%6,1%
Claude-SearchBotAnthropicResultados de busca no Claude7,2%6,1%
BingbotMicrosoftBusca na web3,3%7,4%
GooglebotGoogleBusca na web2,6%9,1%

As porcentagens são relativas aos 5.754 sites. “Nomeado” conta arquivos que se referem ao crawler pelo nome, seja para bloqueá-lo ou para permiti-lo, e é por isso que as duas colunas diferem: alguns sites nomeiam um crawler apenas para recebê-lo, e 153 sites bloqueiam todos os crawlers através de * sem nomear nenhum.

Três padrões

Crawlers de IA são bloqueados; mecanismos de busca não. 17,3% dos sites deixam o Googlebot e o Bingbot entrarem na página inicial enquanto bloqueiam pelo menos um crawler de IA. Apenas 0,2% bloqueiam o Googlebot pelo nome. Os proprietários de sites estão traçando uma linha clara entre ser indexado para busca e ser coletado para IA.

O treinamento é bloqueado mais do que a resposta. Os crawlers que coletam dados de treinamento são bloqueados notavelmente com mais frequência do que os que buscam uma página porque uma pessoa perguntou sobre ela: GPTBot em 15,1% dos sites contra 9,4% para o ChatGPT-User, ClaudeBot em 14,0% contra 7,3% para o Claude-User. Dos 871 sites que bloqueiam o GPTBot, 345 ainda permitem o ChatGPT-User, e dos 806 que bloqueiam o ClaudeBot, 390 ainda permitem o Claude-User. Muitos sites, em outras palavras, querem aparecer nas respostas de IA sem contribuir para o treinamento.

O bloqueio aumenta com o tamanho. Entre os 1.000 principais sites, 29,5% bloqueiam pelo menos um crawler de IA e 21,0% bloqueiam o GPTBot. Entre os sites classificados entre 5.001 e 10.000, esses números caem para 18,8% e 13,9%. Grandes editoras e plataformas, cujo conteúdo é mais valioso para treinamento, são as que mais optam por sair.

Apenas 5,2% dos sites bloqueiam todos os cinco crawlers de IA mais proeminentes (GPTBot, ClaudeBot, Google-Extended, CCBot e PerplexityBot) enquanto ainda permitem o Googlebot. A maioria das exclusões é seletiva: um site bloqueia algumas empresas e não outras, ou bloqueia o treinamento e permite a resposta.

O código

O módulo abaixo analisa um arquivo robots.txt e o avalia para qualquer crawler sob as regras da RFC 9309. Ele não tem dependências.

import re
from urllib.parse import quote, unquote


def parse_groups(text):
    """Split robots.txt into groups: a list of (user-agent tokens, [(allow, path)])."""
    groups, agents, rules, in_rules = [], [], [], False
    for raw in text.splitlines():
        line = raw.split("#", 1)[0].strip()
        if ":" not in line:
            continue
        key, value = (part.strip() for part in line.split(":", 1))
        key = key.lower()
        if key == "user-agent":
            if in_rules:                      # a user-agent line after rules starts a new group
                groups.append((agents, rules))
                agents, rules, in_rules = [], [], False
            agents.append(value.lower())
        elif key in ("allow", "disallow") and agents:
            in_rules = True
            if value:                         # an empty Disallow allows everything
                rules.append((key == "allow", value))
    if agents:
        groups.append((agents, rules))
    return groups


def rules_for(groups, product_token):
    """RFC 9309: use every group naming the crawler's product token; otherwise the '*' groups."""
    token = product_token.lower()
    named = [r for agents, rules in groups for r in rules if token in agents]
    if any(token in agents for agents, _ in groups):
        return named
    return [r for agents, rules in groups for r in rules if "*" in agents]


def _pattern(path):
    regex = "".join(".*" if ch == "*" else re.escape(ch) for ch in path.rstrip("$"))
    return re.compile(regex + ("$" if path.endswith("$") else ""))


def allowed(groups, product_token, path="/"):
    """Longest matching rule wins; Allow wins a tie (RFC 9309, section 2.2.2)."""
    target = quote(unquote(path), safe="/?=&*$%:@!,;~+")
    best_len, verdict = -1, True
    for allow, rule in rules_for(groups, product_token):
        rule = quote(unquote(rule), safe="/?=&*$%:@!,;~+")
        if _pattern(rule).match(target):
            length = len(rule)
            if length > best_len or (length == best_len and allow):
                best_len, verdict = length, allow
    return verdict


def names(groups, product_token):
    """Does the file address this crawler by name, rather than only through '*'?"""
    return any(product_token.lower() in agents for agents, _ in groups)

E verificando um site, aqui o nosso próprio:

import requests

from robots import parse_groups, allowed, names

text = requests.get("https://shifter.io/robots.txt", timeout=15,
                    headers={"User-Agent": "ExampleSurvey/1.0 (+https://example.com/bot)"}).text
groups = parse_groups(text)
for crawler in ["GPTBot", "ClaudeBot", "Google-Extended", "CCBot", "Googlebot"]:
    print(f"{crawler:16} homepage allowed: {allowed(groups, crawler, '/')}  named: {names(groups, crawler)}")

Nosso arquivo nomeia os principais crawlers de IA e os permite explicitamente, então todos os cinco retornam como permitidos, e o Googlebot é permitido através de *. Testamos o avaliador contra 16 casos, incluindo precedência de correspondência mais longa, a regra de desempate, padrões de curinga e fim de caminho, grupos mesclados e arquivos vazios.

O que isso significa para a coleta de dados

  • Leia o robots.txt por crawler, não apenas para *. Um site que recebe todos através de * ainda pode bloquear um crawler nomeado, e uma parcela crescente da web agora faz exatamente isso.
  • Identifique seu coletor com honestidade. As regras de robots só funcionam se os crawlers disserem quem são. Se você coleta sob seu próprio nome, verifique as regras para esse nome e para a finalidade pela qual está coletando.
  • Respeite a distinção que os sites estão traçando. Muitos sites agora separam busca, treinamento e busca sob demanda. Um coletor que reúne dados de treinamento deve tratar um bloqueio a crawlers de treinamento como aplicável a ele, mesmo que seu próprio nome não esteja listado.
  • Reverifique regularmente. As exclusões mudam conforme os sites atualizam seus arquivos; uma lista criada há seis meses estará desatualizada.

Nosso guia sobre robots.txt, exclusões de IA e sinais de reserva cobre os outros sinais que os sites usam e o contexto legal na Europa, e melhores práticas de web scraping cobre a coleta sem prejudicar os sites que você visita. Pipelines de dados de treinamento que precisam respeitar exclusões no momento da busca são abordados em construindo conjuntos de dados de treinamento em grande escala.

Limites da medição

  • Somente página inicial. Avaliamos o caminho /. Muitos sites bloqueiam crawlers de IA de seções específicas, como artigos ou páginas de busca, enquanto deixam a página inicial aberta, então a proporção de sites que restringem crawlers de IA em algum lugar é maior do que esses números.
  • Somente robots.txt. Os sites também sinalizam através de cabeçalhos HTTP, meta tags e termos de serviço, e aplicam através de gestão de bots. Um site que não bloqueia um crawler no robots.txt ainda pode bloqueá-lo no nível de rede.
  • Um único instantâneo. Estes são os arquivos conforme servidos em 6 de outubro de 2026, a partir de uma única rede.
  • Somente os principais sites. Os 10.000 principais domínios não são toda a web; sites menores podem se comportar de forma diferente.

Conclusão

Um em cada cinco dos principais sites agora diz a pelo menos um crawler de IA para ficar longe de sua página inicial, enquanto quase todos ainda recebem mecanismos de busca. As exclusões são seletivas: crawlers de treinamento são bloqueados com mais frequência do que os que buscam páginas para usuários, e os maiores sites bloqueiam mais.

Para quem coleta dados da web, a lição prática é ler o robots.txt para o crawler e a finalidade específicos envolvidos, com um avaliador que segue o padrão, e reverificá-lo conforme a web continua redesenhando essas linhas.

Fontes e referências

Pronto para começar?

Experimente os proxies residenciais da Shifter, mais de 205M IPs, mais de 195 países, a partir de $ 0,75/GB.

Começar