Cloudflare “Accountable Mixed‑Use” bloqueia crawlers de IA: como proteger seu site sem perder SEO
Introdução
A nova política da Cloudflare que bloqueia scrapers de IA está causando alvoroço entre editores, criadores de conteúdo e desenvolvedores. Se você já percebeu um aumento de tráfego suspeito ou recebeu demandas de remoção de material usado em treinamento de modelos, este guia mostra, passo a passo, como aplicar as regras da Cloudflare e manter seu site bem posicionado nos buscadores.
Por que isso importa agora
| Motivo | Impacto |
|---|---|
| Regulamentação em alta – GDPR, CCPA e o projeto American AI Act | Multas de até 4 % do faturamento anual por uso indevido de dados. |
| Anúncio da Cloudflare (mar 2024) – “Accountable Mixed‑Use AI Crawlers” | Crawlers que não declararem a finalidade nos cabeçalhos HTTP são bloqueados automaticamente. |
| Pressão dos criadores – Medium, Substack e YouTube registram +73 % de solicitações de remoção | Risco de retirada de conteúdo e danos à reputação. |
| SEO em jogo – Bloquear todos os bots pode derrubar seu tráfego orgânico | É preciso distinguir entre bots legítimos (Googlebot, Bingbot) e crawlers de IA. |
Como funciona o scraping para IA
- Descoberta – O crawler varre sitemaps e resultados de busca para encontrar URLs.
-
Coleta – Envia requisições automatizadas (geralmente com
requests,ScrapyouPuppeteer). - Armazenamento – Salva HTML, imagens e metadados em buckets como S3 ou Azure Blob.
- Treinamento – Dados são tokenizados e alimentam LLMs ou modelos de visão (PyTorch, TensorFlow).
Exemplo de coleta simples com Python
import requests
headers = {
"User-Agent": "MyScraper/1.0",
# Falta o cabeçalho X-Intent → será bloqueado pela Cloudflare
}
url = "https://exemplo.com/artigo"
resp = requests.get(url, headers=headers)
print(resp.status_code) # 403 se a política estiver ativa
Defesas nativas da Cloudflare
| Recurso | O que faz | Como habilitar |
|---|---|---|
| robots.txt avançado | Permite regras por user‑agent com curingas. |
txt\nUser-agent: *AI-Crawler*\nDisallow: /\n
|
| Headers personalizados | Exige X-Intent: research ou X-Intent: commercial. Crawlers que não enviam são bloqueados. | No painel → Firewall Rules → “Adicionar regra” → http.request.headers["X-Intent"] ne "research" → Bloquear. |
| JavaScript Challenge | Só navegadores reais conseguem executar o script, bots simples falham. | Security → Settings → Browser Integrity Check → Ativar “JS Challenge”. |
| Token de acesso por cookie | Gera um cookie de sessão após o desafio; bots que não armazenam cookies são rejeitados. | Rules → Transform Rules → Inserir “Set-Cookie: cf_access=…”. |
Exemplo de requisição correta (cabeçalho X‑Intent)
curl -H "User-Agent: MyResearchBot/2.0" \
-H "X-Intent: research" \
https://exemplo.com/api/dados
Implementação prática: checklist para sites estáticos e dinâmicos
-
Audite seu
robots.txt- Garanta que somente bots de IA não autorizados estejam na lista
Disallow. - Exemplo:
User-agent: * Disallow: /admin/ User-agent: *AI-Crawler* Disallow: / - Garanta que somente bots de IA não autorizados estejam na lista
-
Crie regras de firewall na Cloudflare
- Regra 1 – Bloquear requests sem
X-Intent. - Regra 2 – Permitir
GoogleboteBingbotindependentemente do cabeçalho.
- Regra 1 – Bloquear requests sem
(http.request.headers["X-Intent"] ne "research" and
http.request.headers["X-Intent"] ne "commercial") and
not cf.client.bot in {"Googlebot","Bingbot"}
→ Block
-
Ative o JavaScript Challenge para caminhos críticos (
/login,/checkout). -
Teste com ferramentas
-
curl(sem cabeçalho) → deve receber 403. -
curl(com cabeçalho) → deve receber 200. - Ferramentas como web-sniffer ou Postman ajudam a validar.
-
-
Monitore logs de firewall
- No painel Cloudflare, habilite “Logpush” para enviar eventos a um bucket S3 ou a um SIEM.
- Crie alertas quando o número de bloqueios de
X-Intentultrapassar um limiar (ex.: >100/dia).
-
Avalie custos
- Cloudflare Pro: US$20/mês, inclui 10 k regras de firewall.
- Cloudflare Business: US$200/mês, regras ilimitadas e logs avançados.
-
Alternativas (Fastly, Akamai): custos similares, mas sem suporte nativo ao cabeçalho
X-Intent.
Código pronto: regra de firewall em Terraform (opcional)
resource "cloudflare_firewall_rule" "block_ai_without_intent" {
zone_id = var.cloudflare_zone_id
description = "Bloqueia crawlers de IA que não enviam X-Intent"
filter {
expression = "(http.request.headers['X-Intent'] ne 'research' and http.request.headers['X-Intent'] ne 'commercial') and not cf.client.bot in {'Googlebot','Bingbot'}"
paused = false
}
action = "block"
}
Conclusão
A política “Accountable Mixed‑Use” da Cloudflare oferece um mecanismo eficaz para barrar crawlers de IA que não se identificam, mas sua aplicação exige cuidado para não sacrificar o tráfego orgânico. Seguindo o checklist acima, configurando cabeçalhos personalizados e testando rigorosamente, você protege seu conteúdo, cumpre a legislação e mantém a visibilidade nos motores de busca.
Próximos passos: implemente as regras, monitore os logs por uma semana e ajuste os limites conforme o volume de bloqueios. Assim, seu site fica seguro contra o scraping de IA sem perder posições no Google.
Herramienta mencionada: Groq Cloud
Top comments (0)