Pular para o conteúdo
SEO e crawlers

Como bloquear crawlers de IA no WordPress (com honestidade)

Para impedir que o GPTBot rastreie um site WordPress, adicione estas linhas ao seu robots.txt:

Publicado

Para impedir que o GPTBot rastreie um site WordPress, adicione estas linhas ao seu robots.txt:

User-agent: GPTBot
Disallow: /

Essa é a correção completa para crawlers que se comportam bem. Mas seja honesto consigo mesmo sobre o que você acabou de fazer: o robots.txt é um pedido, não uma cerca. O GPTBot da OpenAI busca o arquivo e o obedece. Um scraper que não respeita o padrão busca o mesmo arquivo e ignora cada linha dele. Mantenha essa distinção em mente antes de gastar uma tarde inteira ajustando isso.

Se você quiser cobrir os principais crawlers de IA de uma só vez, os tokens de user-agent mais comuns são:

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Bytespider
Disallow: /

O GPTBot é o crawler de treinamento da OpenAI, o CCBot é o Common Crawl (no qual muitos modelos treinam indiretamente), o ClaudeBot é da Anthropic, o Google-Extended é o token de treinamento de IA do Google e o Bytespider é da ByteDance. Repare que dois deles já quebram o modelo do pedido cortês: tanto o Bytespider quanto o PerplexityBot já foram publicamente documentados rastreando sites que os haviam bloqueado. Listá-los ainda ajuda contra os bots honestos; não faz nada contra os que já estão mentindo sobre quem são.

Como o WordPress realmente serve o robots.txt

É aqui que as edições da maioria das pessoas silenciosamente não fazem nada. Se não existir um arquivo robots.txt físico na raiz do seu site, o WordPress gera um na hora. A requisição é tratada por do_robots() em wp-includes/functions.php, e a saída passa pelo filtro robots_txt. A caixa de seleção “Sugerir aos mecanismos de busca que não indexem este site”, em Configurações → Leitura, altera a opção blog_public, que é o que faz esse arquivo virtual emitir Disallow: /.

Então você pode acrescentar regras de crawlers de IA programaticamente:

add_filter( 'robots_txt', function ( $output, $public ) {
    $output .= "User-agent: GPTBot\nDisallow: /\n";
    return $output;
}, 10, 2 );

Aqui está a pegadinha que consome horas: no momento em que um arquivo robots.txt estático existe na raiz do seu site, o Apache ou o nginx serve esse arquivo diretamente e o WordPress nunca é executado. O filtro robots_txt, o editor de robots do Yoast/Rank Math, a configuração de Leitura — tudo é ignorado. Se você editou o robots.txt em um plugin e o arquivo em produção nunca mudou, quase sempre é por isso. Verifique https://seusite.com/robots.txt em uma janela anônima e compare com o que você acha que configurou. Se houver um arquivo real no disco, edite esse arquivo; o filtro é irrelevante.

Corrigindo, na ordem certa

Primeiro, escreva regras limpas. Acerte a sintaxe e a lista de crawlers para não bloquear o Googlebot por acidente. Nosso gerador de robots.txt monta o bloqueio de crawlers de IA para você e mostra o arquivo exato para colar, o que evita a confusão entre virtual e físico porque você termina com um único arquivo definitivo.

Segundo, confirme que está no ar. Busque a URL diretamente. Não confie no painel de pré-visualização do plugin.

Terceiro, se você precisa de aplicação real e não de um pedido cortês, suba na pilha. O robots.txt vive na camada de aplicação e depende da boa vontade do bot. Para de fato recusar uma conexão, bloqueie por user agent no servidor. No .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (GPTBot|CCBot|ClaudeBot|Bytespider) [NC]
RewriteRule .* - [F,L]
</IfModule>

Isso retorna 403 para qualquer coisa que envie esses user agents. Nosso gerador de .htaccess pode montar essa regra. Entenda o limite dela, no entanto: user agents são trivialmente falsificáveis, então isso só barra bots honestos o suficiente para se identificar — que são exatamente os mesmos bots que já obedecem ao robots.txt. A opção realmente robusta é uma CDN ou WAF que bloqueia por identidade de crawler verificada ou por faixa de IP. A regra gerenciada “Block AI Scrapers and Crawlers” da Cloudflare, com um clique, é a versão de menor esforço disso e funciona na borda, antes que a requisição chegue ao WordPress.

O que não fazer

Não bloqueie o Google-Extended achando que isso mantém você fora dos AI Overviews. Esse é o equívoco que vale a pena corrigir. O Google-Extended é um token de produto, não um crawler. Ele controla apenas se o seu conteúdo é usado para treinar e embasar os modelos Gemini. Segundo a própria documentação do Google, ele não tem efeito algum sobre como suas páginas são rastreadas, indexadas ou classificadas na Busca do Google. E os AI Overviews são construídos a partir do índice normal de Busca que o Googlebot rastreia — não a partir do Google-Extended. Bloquear o Google-Extended não vai remover você dos AI Overviews e não vai custar uma única posição na Busca. A única forma de ficar fora dos AI Overviews é bloquear o Googlebot ou usar noindex na página, o que também apaga você da Busca por completo. Essa é quase nunca uma troca que você quer fazer.

Não trate o robots.txt como um controle de segurança. Ele é público e apenas consultivo. Listar /wp-admin/ ou um caminho privado nele só publica um mapa de onde procurar. Proteja endpoints reais com autenticação, não com uma linha de disallow.

Não confie nas meta tags noai / noimageai. Elas foram propostas, não padronizadas, e apenas um punhado de plataformas as respeita. Não são uma defesa de propósito geral.

Não presuma que um plugin de “bloquear IA” fez mais do que escrever o robots.txt. A maioria deles escreve as mesmas linhas que você poderia escrever à mão e herda a mesma limitação. Leia o que o plugin de fato alterou antes de confiar nele.

Ainda travado?

Se suas edições não estão aparecendo, a resposta quase sempre é um robots.txt físico perdido na raiz do site sobrepondo o virtual do WordPress — busque a URL diretamente e confira. Se os bots obedientes sumiram mas os scrapers continuam batendo no seu site, você atingiu o teto do que o robots.txt consegue fazer, e o próximo passo é uma regra de WAF ou CDN que bloqueia por identidade verificada em vez de pedir com educação.