Resposta curta
Se o seu site passa pela Cloudflare, ela pode estar barrando ChatGPT, Claude, Perplexity e Gemini sem que você tenha mexido em nada. Desde 2025 o bloqueio de robôs de IA vem sugerido na criação de domínios novos, e desde 15/09/2026 a opção Block em Training também barra robôs que fazem busca e treino juntos, como o Googlebot. Abra Security Settings › Configure AI bot policies: deixe Search em Allow, use Disallow AI Training (não Block) em Training e confira Agent, que é onde ficam o ChatGPT-User e o Perplexity-User. Depois veja a aba Crawlers do AI Crawl Control e os eventos de segurança pra confirmar quem ainda leva 403.
Por que a Cloudflare bloqueia robôs de IA
A Cloudflare fica na frente do seu servidor e decide quem passa. Nos últimos dois anos ela transformou o bloqueio de robôs de IA num recurso de primeira linha, e mudou os padrões algumas vezes. A linha do tempo, segundo a própria documentação e o blog dela:
- Agosto de 2024. A proteção contra robôs de IA vira uma regra gerenciada, ligada com um clique.
- 1º de julho de 2025. No anúncio que ela chamou de Content Independence Day, a Cloudflare disse que estava mudando o padrão pra bloquear robôs de IA, e passou a mostrar as opções de bloqueio já no cadastro de cada domínio novo. No mesmo dia veio o robots.txt gerenciado e o bloqueio só em páginas com anúncio.
- 1º de julho de 2026. O botão único "Block AI bots" dá lugar a três controles separados por comportamento: Search, Agent e Training, em todos os planos, inclusive o grátis.
- 15 de setembro de 2026. Domínios novos ganham presets por tipo de site, a opção Disallow AI Training aparece, e Block passa a pegar também os robôs mistos (busca e treino no mesmo robô), como
Googlebot,BingboteApplebot.
Resultado: muita gente aceitou a sugestão no cadastro, ou ligou o bloqueio pensando só em treino, e hoje está fora das respostas com IA. O artigo como aparecer no ChatGPT cobre o quadro geral (robots.txt, HTML, Google). Aqui a gente desce só no firewall.
Busca, agente e treino: as três categorias
A Cloudflare classifica cada robô pelo que ele faz no seu site. Um mesmo robô pode ter mais de um comportamento.
- Search: coleta ou indexa o conteúdo pra responder perguntas depois. É o que traz citação com link.
- Agent: age em tempo real a pedido de uma pessoa, como o robô que abre uma página quando alguém cola o link no chat. A Cloudflare cita o
ChatGPT-Usercomo exemplo. - Training: leva o conteúdo pra treinar ou ajustar um modelo. Inclui os robôs mistos, que servem pra treino e busca ao mesmo tempo.
Cada categoria aceita uma ação. Depois de 15/09/2026, as opções ficaram assim:
| Opção | O que faz | Vale pra |
|---|---|---|
| Allow | Não bloqueia. O robô ainda pode cair em outra regra do firewall. | Search, Agent, Training |
| Disallow AI Training | Publica o "não treine" no robots.txt e bloqueia os robôs só de treino. Robôs mistos considerados Accountable (Google, Microsoft, Apple) continuam entrando pra busca. | Só Training |
| Block on pages with ads | Bloqueia só nas páginas em que a Cloudflare detecta anúncio, inclusive pros robôs mistos. | Search, Agent, Training |
| Block | Bloqueia no domínio inteiro, inclusive os robôs mistos. | Search, Agent, Training |
Os robôs de cada IA, e o que fazer com cada um
Os nomes abaixo são os que cada empresa publica na própria documentação. Os números de versão no user agent podem mudar; o que importa é o nome.
| Empresa | User agent | Pra que serve | Recomendação |
|---|---|---|---|
| OpenAI | OAI-SearchBot | Mostra o site nas buscas do ChatGPT | Liberar |
| OpenAI | ChatGPT-User | Abre a página quando alguém pede no ChatGPT ou num GPT | Liberar (é Agent na Cloudflare) |
| OpenAI | GPTBot | Treino dos modelos da OpenAI | Decisão sua; bloquear não tira das buscas |
| Anthropic | Claude-SearchBot | Indexa pra melhorar as respostas de busca do Claude | Liberar |
| Anthropic | Claude-User | Abre a página quando alguém pergunta algo no Claude | Liberar |
| Anthropic | ClaudeBot | Treino dos modelos da Anthropic | Decisão sua |
| Perplexity | PerplexityBot | Mostra e linka o site nos resultados do Perplexity; não treina modelo | Liberar |
| Perplexity | Perplexity-User | Visita a página quando alguém faz uma pergunta | Liberar |
Googlebot | Pesquisa Google inteira; a Cloudflare trata como robô misto | Nunca bloquear | |
Google-Extended | Não é um robô: é um token do robots.txt que controla o uso no treino do Gemini e no embasamento das respostas | Decisão sua; não mexe na Pesquisa |
Dois detalhes que mudam a leitura da tabela. O Google-Extended não tem user agent próprio: o Google rastreia com os robôs de sempre e só consulta o token no robots.txt. Por isso não existe "liberar o Gemini" no firewall; o que existe é não barrar o Googlebot. E a OpenAI avisa que, se o GPTBot e o OAI-SearchBot estiverem liberados, ela pode usar um único rastreamento pros dois fins.
Os cinco lugares onde a Cloudflare pode estar barrando
Quase sempre o bloqueio está em um destes pontos. Vale olhar todos, porque eles se somam: liberar num lugar não desfaz o bloqueio de outro.
- AI bot policies. Em Security Settings, filtro Bot traffic, opção Configure AI bot policies. É o controle por Search, Agent e Training. Quem usava o antigo Block AI bots foi migrado pra cá.
- AI Crawl Control. No menu do domínio, AI Crawl Control, aba Crawlers. Ali dá pra bloquear robô por robô. Cada bloqueio vira uma regra de WAF chamada AI Crawl Control.
- Bot Fight Mode (plano grátis) ou Super Bot Fight Mode (Pro, Business e Enterprise). Ficam em Security Settings, filtro Bot traffic. O Super Bot Fight Mode tem um grupo próprio pra Verified bots, com ação configurável.
- Regras próprias de WAF. Em Security rules, filtro Custom rules. Uma regra antiga que bloqueia "todo robô" ou um país inteiro pega os robôs de IA antes de qualquer outra configuração.
- robots.txt gerenciado. Não bloqueia no firewall, mas a Cloudflare pode acrescentar regras no seu robots.txt, que os robôs respeitam. Mais abaixo, na seção sobre ele.
A pegadinha de setembro: Block em Training derruba o Google
Até 15/09/2026, colocar Training em Block não pegava robôs mistos, justamente pra não afetar a busca. Agora pega. Nas palavras da Cloudflare, escolher Block "vai impedir Applebot, Bingbot e Googlebot de chegar ao seu site, busca incluída".
Na migração automática, a Cloudflare converteu os Blocks antigos de Training em Disallow AI Training, então quem não mexeu deve estar seguro. O risco é quem entrou no painel depois disso e escolheu Block achando que era o mesmo de antes. Se você quer ficar fora do treino e continuar no Google, a opção certa é Disallow AI Training.
Uma ressalva pro Bing: segundo a Cloudflare, a Microsoft só deve respeitar o "não treine" do robots.txt no começo de 2027. Até lá, Disallow AI Training não comunica nada ao Bing.
Passo a passo: liberar as buscas e manter o treino fora
1. Ajuste as políticas de robôs de IA
- Entre no painel da Cloudflare e escolha a conta e o domínio.
- Vá em Security Settings e filtre por Bot traffic.
- Abra Configure AI bot policies.
- Search: Allow.
- Training: Disallow AI Training se você não quer treino; Allow se não se importa. Evite Block.
- Agent: Allow se você quer que o ChatGPT, o Claude e o Perplexity consigam abrir suas páginas quando alguém pede. Domínios novos com anúncio recebem Block on pages with ads aqui por padrão.
- Deixe Enable Bot Preference Sync ligado se quiser que a preferência de treino vá pro robots.txt, e salve.
2. Confira a aba Crawlers do AI Crawl Control
- No menu do domínio, abra AI Crawl Control e vá na aba Crawlers.
- Use o filtro Operator pra ver OpenAI, Anthropic, Perplexity e Google.
- Na coluna Action, deixe em Allow os robôs de busca e de usuário da tabela acima. Se quiser, deixe em Block só
GPTBoteClaudeBot. - Olhe a coluna Requests. A Cloudflare avisa que os pedidos sem sucesso podem vir de qualquer regra ou erro de resposta, não só do bloqueio do AI Crawl Control. Muito pedido sem sucesso num robô em Allow é sinal de outra regra barrando.
Um limite importante: no plano grátis, o AI Crawl Control reconhece os robôs só pelo user agent. A detecção mais completa, pelo ID do Bot Management, é dos planos superiores.
3. Bot Fight Mode e Super Bot Fight Mode
O Bot Fight Mode, do plano grátis, desafia tráfego com cara de robô. O problema é que ele não aceita exceção: regras de WAF com Skip, Bypass ou Allow não fazem efeito, porque ele roda fora do motor de regras. Se ele estiver desafiando um robô que você quer, a própria Cloudflare indica duas saídas: desligar o Bot Fight Mode ou passar pro Super Bot Fight Mode.
No Super Bot Fight Mode dá pra fazer exceção. Em Security Settings, filtro Bot traffic, abra Super Bot fight mode e confira a ação do grupo Verified bots. Pra liberar algo específico, crie uma regra com a ação Skip, porque as regras próprias rodam antes do Super Bot Fight Mode.
4. Uma regra de WAF que não atrapalha
Se você tem regras próprias que bloqueiam robôs, abra uma exceção pros robôs verificados antes delas. Em Security rules, Create rule › Custom rules, monte uma expressão assim:
# Ação: Skip (marque as regras e os produtos que devem ser pulados)
(cf.client.bot and (
http.user_agent contains "OAI-SearchBot" or
http.user_agent contains "ChatGPT-User" or
http.user_agent contains "Claude-SearchBot" or
http.user_agent contains "Claude-User" or
http.user_agent contains "PerplexityBot" or
http.user_agent contains "Perplexity-User"
))O cf.client.bot é verdadeiro só quando a Cloudflare confirmou que o pedido vem de um robô conhecido, então quem só copia o user agent não passa. Arraste a regra pra cima das regras que bloqueiam. A Perplexity sugere algo parecido na documentação dela, combinando o user agent com as faixas de IP que ela publica. Se a sua regra de bloqueio for a do AI Crawl Control, prefira resolver na aba Crawlers: a Cloudflare recomenda editar a regra direto no WAF só quando o painel não cobre o caso.
O robots.txt que a Cloudflare escreve por você
Com o Bot Preference Sync ligado (o sucessor do "managed robots.txt"), a Cloudflare acrescenta regras no começo do seu robots.txt. Se você não tem arquivo nenhum, ela cria um. O arquivo que os robôs leem, então, pode ser diferente do que está no seu repositório. No exemplo da própria documentação, o trecho gerenciado fica assim:
# BEGIN Cloudflare Managed content
User-Agent: *
Content-signal: search=yes, ai-train=no, use=reference
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: GPTBot
Disallow: /
# END Cloudflare Managed ContentO exemplo traz ainda Amazonbot, Applebot-Extended, Bytespider, CCBot e meta-externalagent. Repare que ele só fecha robôs de treino: OAI-SearchBot, Claude-SearchBot e PerplexityBot continuam liberados pelo grupo *.
A Cloudflare também avisa que o Search Console pode marcar o Content-signal como "sintaxe não compreendida", sem efeito no rastreamento. Pra conferir o arquivo que está no ar de verdade, use o testar robots.txt, que lê a versão servida, e não a do seu código. No painel, a aba Directives do AI Crawl Control mostra se o arquivo está sendo gerenciado e lista os robôs que desrespeitaram as regras.
Como testar com curl
O teste mais rápido é pedir a home se apresentando como cada robô e comparar com um pedido de navegador. Os user agents abaixo são os publicados pela OpenAI e pela Perplexity. A Anthropic não publica a string completa, então o teste usa só o nome.
URL="https://seusite.com.br/"
for UA in \
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" \
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot" \
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot" \
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" \
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)" \
"Claude-SearchBot" \
"Claude-User"
do
printf '%s %s\n' "$(curl -s -o /dev/null -w '%{http_code}' -A "$UA" "$URL")" "$UA"
doneComo ler o resultado:
- Navegador 200, robô 403 ou 402. Há um bloqueio por user agent. O 402 é a resposta que o AI Crawl Control pode devolver quando o dono configura cobrança.
- Navegador e robô com 403 ou desafio. O problema é o seu IP ou o próprio curl, provavelmente pelo Bot Fight Mode. O teste não diz nada sobre os robôs.
- Tudo 200. Nenhuma regra por user agent pegou. Isso ainda não prova que o robô de verdade passa, como explica a próxima seção.
Pra saber se a resposta foi uma página de desafio, olhe o cabeçalho. A Cloudflare marca toda página de desafio com cf-mitigated: challenge:
curl -sI -A "Claude-SearchBot" https://seusite.com.br/ | grep -i -E "^HTTP|cf-mitigated"Por que o teste com curl não prova tudo
O curl sai do seu computador, com o seu IP. O robô de verdade sai da rede da empresa, de IPs que ela publica (a OpenAI e a Perplexity têm listas em JSON; a Anthropic também). A Cloudflare só considera um robô verificado quando ele se identifica de forma confiável: lista de IPs publicada com user agent estável, DNS reverso ou assinatura criptográfica (Web Bot Auth).
Isso tem dois efeitos contrários:
- Falso alarme. Uma regra pode bloquear quem diz ser
OAI-SearchBotmas não vem dos IPs da OpenAI. O seu curl leva 403, o robô real passa. Por isso a varredura grátis da Varrida trata esse caso como aviso, não como erro. - Falsa tranquilidade. As políticas por categoria bloqueiam robôs verificados daquela categoria. O seu curl não é verificado, então pode receber 200 enquanto o robô real é barrado.
O curl serve pra achar bloqueio por user agent. A prova de verdade está nos registros da Cloudflare.
Como ver quem foi bloqueado
Eventos de segurança
- No domínio, vá em Analytics (da área de segurança) e abra a aba Events.
- Escolha o período. O padrão é Last 24 hours; dá pra voltar até 30 dias.
- Em Top events by source, na lista de User Agents, passe o mouse sobre o robô e clique em Filter. Dá pra filtrar também por Add filter, sem aspas no valor.
- Em Events by service, veja qual produto agiu. Desafios do Bot Fight Mode aparecem como Bot Fight Mode no campo Service; os do Super Bot Fight Mode, como Super Bot Fight Mode.
- Abra um evento em Sampled logs pra ver a regra exata, o IP e o caminho.
No plano grátis só os Sampled logs estão disponíveis, e a lista é uma amostra: nem todo evento aparece.
Métricas do AI Crawl Control
A aba Metrics do AI Crawl Control mostra os pedidos de cada robô de IA por código de status, caminho e operador. Um robô de busca com uma faixa grande de 403 no gráfico de Status code distribution está sendo barrado em algum lugar. No plano grátis, a janela é de 24 horas.
Logs do seu servidor
Se o robô aparece nos logs do servidor de origem, ele passou pela Cloudflare. Se não aparece nunca, ou foi barrado antes, ou ainda não visitou. Cruze com os eventos de segurança do mesmo período.
Casos comuns
- "Liberei no AI Crawl Control e continua 403." A regra do AI Crawl Control só contém os bloqueados. Uma regra própria anterior, o Bot Fight Mode ou a política de Agent ainda pode estar barrando. Procure nos eventos de segurança qual serviço agiu.
- "O ChatGPT diz que não consegue abrir o meu site." Quem abre a página a pedido do usuário é o
ChatGPT-User, que a Cloudflare classifica como Agent. Confira se Agent não está em Block ou Block on pages with ads. - "O Perplexity cita, mas não abre a página quando pedem." Mesmo caso:
PerplexityBoté busca,Perplexity-Useré agente. - "O robots.txt no ar tem linhas que eu não escrevi." É o Bot Preference Sync. Desligue ou ajuste a política de Training, e confira de novo.
- "Bloqueei o treino e o tráfego do Google caiu." Veja se Training está em Block. Troque por Disallow AI Training.
- "Bloqueei tudo no robots.txt, mas o Perplexity-User continua vindo." A Perplexity diz que ele geralmente ignora o robots.txt, porque é acionado por uma pessoa, e a OpenAI diz o mesmo do
ChatGPT-User. Pra barrar esses dois, só no firewall.
Como conferir que resolveu
- Rode o teste com curl de novo e compare com o navegador.
- Abra os eventos de segurança e confirme que os robôs de busca e de usuário pararam de aparecer como bloqueados.
- Em um ou dois dias, olhe a aba Metrics do AI Crawl Control: o
OAI-SearchBot, oClaude-SearchBote oPerplexityBotdevem ter pedidos com 200. - Confira o robots.txt no ar. A OpenAI diz que mudanças ligadas à busca levam cerca de 24 horas pra valer, e a Perplexity fala em até 24 horas.
- Rode o verificador de robôs de IA, que testa o robots.txt e o firewall pra ChatGPT, Claude, Perplexity e Gemini de uma vez.


