TL;DR A verificação faz-se em 3 camadas: robots.txt (intenção), edge/CDN/WAF (bloqueio real) e logs de servidor (rastreamento efetivo). Teste rápido com
curl+ user-agent: HTTP 200 = acessível; 403/429 = bloqueio a montante. Distinga sempre 3 funções de bots: treino, pesquisa e ação do utilizador. Bloquear treino não remove a marca das respostas de IA. Erros mais comuns em WordPress:Disallow: /residual, bloqueio silencioso em Cloudflare/WAF,noindexglobal e conteúdo só via JavaScript. Contexto: 73% dos sites têm barreiras técnicas que bloqueiam crawlers de IA (Otterly.AI, 2026).
Como verificar crawlers de IA no WordPress: visão geral em 3 camadas
Antes de mexer em ficheiros, entenda o mapa. Um crawler de IA pode ser travado em três sítios diferentes, e cada um exige um teste próprio.
- robots.txt — a intenção declarada. É um pedido, não uma barreira. Diz ao bot o que pode fazer, mas depende de ele cumprir.
- Edge/CDN/WAF — a aplicação real. É aqui que o pedido é aceite ou rejeitado, muitas vezes antes de o WordPress sequer o ver.
- Logs de servidor — o rastreamento efetivo. Mostram quem entrou de facto, com que código de resposta.
Depois, há uma distinção que quase todos ignoram: os bots de IA não são uma categoria única. Têm funções diferentes e o bloqueio de cada uma tem consequências diferentes.
| Bot | Função | Token robots.txt | Impacto de bloquear |
|---|---|---|---|
| GPTBot | Treino | GPTBot |
Conteúdo excluído do treino. Não afeta respostas de pesquisa. |
| OAI-SearchBot | Pesquisa (índice ChatGPT) | OAI-SearchBot |
Site deixa de aparecer nas respostas de pesquisa do ChatGPT. |
| ChatGPT-User | Ação do utilizador | ChatGPT-User |
Reduz a leitura em tempo real pedida pelo utilizador. |
| ClaudeBot | Treino | ClaudeBot |
Exclui conteúdo de treino futuro. |
| Claude-SearchBot | Pesquisa | Claude-SearchBot |
Reduz visibilidade nos resultados de pesquisa. |
| PerplexityBot | Pesquisa | PerplexityBot |
Remove o site do índice da Perplexity. |
| CCBot | Treino (Common Crawl) | CCBot |
Alimenta indiretamente vários modelos. |
| Googlebot | Pesquisa + treino | Googlebot |
Afeta Pesquisa Google e respostas de IA associadas. |
| Google-Extended | Token de treino | Google-Extended |
Não é crawler. Não afeta a Pesquisa Google nem o ranking. |
| Applebot | Pesquisa + treino | Applebot |
Afeta Siri, Spotlight e Safari. |
| Applebot-Extended | Token de treino | Applebot-Extended |
Não rastreia páginas. Só controla uso para treino. |
| Bingbot | Pesquisa | bingbot |
Afeta Bing e respostas do Copilot. |
Importante: o robots.txt é honor-based. A maioria dos grandes operadores cumpre, mas a aplicação real acontece no edge. Se o WAF bloquear, o robots.txt é irrelevante.
Perguntas que este guia responde: estar no Google garante que a IA me cita? Não. Bloquear o GPTBot tira-me das respostas do ChatGPT? Não, porque quem alimenta a pesquisa é o OAI-SearchBot. Por onde começo? Pelo teste com curl, porque é o mais rápido.
O que precisa de preparar antes de começar
Sem estes acessos, o diagnóstico fica incompleto. Confirme cada ponto antes de avançar.
- Acesso a FTP ou gestor de ficheiros do hosting (para ver e editar o robots.txt físico).
- Acesso ao painel do CDN/WAF, por exemplo Cloudflare.
- Acesso aos logs de servidor: Apache em
/var/log/apache2/access.log, Nginx em/var/log/nginx/access.log. - Acesso ao painel WordPress, com o plugin de SEO ativo (Yoast ou Rank Math).
- Terminal com
curldisponível, ou uma ferramenta equivalente.
Ponto de controlo: sem acesso a logs, a verificação fica pela metade. Pode confirmar que o pedido passa, mas não que o bot realmente rastreia o site.
Se o site estiver atrás de um CDN, o pedido pode ser respondido antes de chegar ao servidor. Nesse caso, os logs do hosting não mostram o bloqueio. É preciso olhar para o painel do CDN.
Passo 1: testar o acesso com curl e user-agent
Este teste responde a uma pergunta simples: o pedido chega ao servidor?
curl -A "GPTBot/1.0 (+https://openai.com/gptbot)" -I https://osite.com/
Repita para os restantes bots, trocando o user-agent:
curl -A "OAI-SearchBot/1.0 (+https://openai.com/searchbot)" -I https://osite.com/
curl -A "PerplexityBot/1.0 (+https://perplexity.ai/perplexitybot)" -I https://osite.com/
curl -A "ClaudeBot/1.0 (+https://claude.com/claudebot)" -I https://osite.com/
curl -A "CCBot/2.0 (+https://commoncrawl.org/ccbot)" -I https://osite.com/
| Código HTTP | Significado | Próxima ação |
|---|---|---|
| 200 | Acessível | Avançar para o robots.txt |
| 403 | Bloqueado a montante | Verificar WAF/CDN e regras de firewall |
| 429 | Rate limiting | Ajustar limites no CDN ou no plugin de segurança |
| 503 | Erro de servidor | Verificar recursos do hosting |
| 301/302 | Redirecionamento | Confirmar que a cadeia termina em 200 |
Ponto de controlo: se der 403 ou 429, o problema não está no robots.txt. Está no host ou no CDN. Corrigir o robots.txt não vai mudar nada.
Erro comum: assumir que um 403 é bloqueio do WordPress. Na maioria dos casos, o pedido nem chega ao WordPress.
Passo 2: inspecionar o robots.txt (e os plugins WordPress)
Abra osite.com/robots.txt no browser. Procure blocos com Disallow: / sob user-agents de IA. Essa é a regra que bloqueia tudo.
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://osite.com/sitemap_index.xml
Importante: Google-Extended e Applebot-Extended são tokens, não crawlers com user-agent próprio. Não aparecem nos logs como bots separados. Servem apenas para controlar o uso do conteúdo já rastreado no treino.
Para editar no WordPress:
- Yoast SEO: Tools → File Editor.
- Rank Math: General Settings → Edit robots.txt.
Ponto de controlo: confirme se o robots.txt é virtual (gerado pelo plugin) ou físico (ficheiro na raiz do servidor). Se existir um ficheiro físico, os editores dos plugins ficam read-only e as alterações não são aplicadas.
Erro comum: "mudei no Yoast e nada mudou". Quase sempre é um robots.txt físico a sobrepor-se.
A OpenAI indica que alterações ao robots.txt podem demorar cerca de 24 horas a propagar.
Passo 3: verificar meta robots, X-Robots-Tag e renderização
Há bloqueios que não aparecem no robots.txt. Estão no HTML.
- Meta robots: inspecione o
<head>e as definições do plugin SEO. Procure<meta name="robots" content="noindex">aplicado globalmente. - X-Robots-Tag: confirme os cabeçalhos HTTP com
curl -I https://osite.com/pagina. UmX-Robots-Tag: noindexesconde a página dos índices. - Renderização: teste o conteúdo sem JavaScript.
curl https://osite.com/pagina | grep -i "conteudo-essencial"
Importante: os crawlers de IA geralmente não executam JavaScript. Leem apenas o HTML inicial. O WordPress tem aqui uma vantagem estrutural, porque é server-rendered: o PHP gera HTML antes de o bot o ler.
Ponto de controlo: se o conteúdo essencial não aparece no HTML inicial, é invisível para a IA. Isto acontece com frequência em páginas construídas com Elementor ou blocos carregados por AJAX.
Passo 4: analisar logs de servidor e validar IPs
Aqui confirma o rastreamento real. Exporte cerca de 90 dias de logs e filtre por user-agents de IA.
grep -iE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|PerplexityBot|Googlebot|Applebot|bingbot" access.log
Para contar pedidos por bot:
grep -i "GPTBot" access.log | wc -l
Procure também códigos de erro associados a esses bots:
grep -iE "GPTBot|OAI-SearchBot|ClaudeBot|PerplexityBot" access.log | grep -E " 403 | 429 | 503 "
Importante: o user-agent é facilmente falsificável. Segundo a HUMAN Security (2026), 5,7% dos pedidos com user-agent de crawler de IA são falsos, e no caso do ChatGPT-User esse valor sobe para 16,7%.
Para validar bots genuínos:
- Googlebot e Applebot: verificação por FCrDNS (reverse DNS, confirmar o domínio do operador, depois forward DNS).
- OpenAI, Perplexity, Anthropic e Common Crawl: comparar o IP com os feeds JSON oficiais de cada operador.
Ponto de controlo: user-agent correto mas IP fora dos intervalos oficiais significa bot falso. Não trate esse tráfego como rastreamento legítimo.
Passo 5: verificar CDN, WAF e bloqueios silenciosos
Este é o passo que apanha os bloqueios invisíveis. Se o bot recebe 403 mas não há registo no access.log, o bloqueio aconteceu no edge.
- Verifique as regras de bot e de segurança no painel do Cloudflare ou do WAF.
- Procure 403 sem correspondência nos logs do servidor.
- Confirme o rate limiting, que produz 429.
- Verifique se o domínio está em modo proxy com
dig.
Importante: a Cloudflare introduziu uma taxonomia com três categorias: Search, Agent e Training. A partir de 15 de setembro de 2026, novos domínios passam a ter Training e Agent bloqueados por default em páginas com anúncios, com Search permitido. O opt-out está nas Security settings.
Erro comum: bloquear Training pode bloquear crawlers multi-propósito como Googlebot, Applebot e Bingbot, porque passam a ser avaliados por todas as suas funções. Se bloquear Training, confirme que não está a bloquear a pesquisa.
Ponto de controlo: 403 sem registo no access.log é bloqueio no edge. Vá ao painel do CDN.
Erros mais comuns e como corrigir
| Erro comum | Como detetar | Como corrigir |
|---|---|---|
Disallow: / residual |
Abrir robots.txt e procurar a regra sob user-agents de IA | Remover a regra e guardar |
| Bloqueio em Cloudflare/WAF | 403 no teste curl, sem registo no access.log | Ajustar regras de bot e security settings |
noindex global |
Meta robots ou X-Robots-Tag no <head> |
Corrigir no plugin SEO ou no template |
| Sitemap inacessível | sitemap.xml devolve 404 ou está bloqueado |
Desbloquear no robots.txt e confirmar 200 |
| Conteúdo só via JavaScript | Conteúdo essencial ausente no HTML inicial | Servir HTML essencial no servidor |
| Bloqueio por IP | Bot não consegue ler o robots.txt | Evitar. A Anthropic alerta que o bloqueio por IP pode impedir a leitura do robots.txt |
| Consent walls e CAPTCHA | Bots legítimos não passam | Testar com user-agent e ajustar regras |
Erro comum: "corrigi o robots.txt e nada mudou". Verifique se existe um ficheiro físico, se o cache do CDN está limpo e se passaram as ~24 horas de propagação.
O que fazer a seguir
Garantir acesso é o primeiro passo. Não é o objetivo final. Depois de desbloquear, precisa de medir se a marca é citada.
- Crie canais personalizados no GA4 para
chatgpt.com,perplexity.ai,gemini.google.comecopilot.microsoft.com. - Tenha em conta que o Search Console não reporta crawlers de IA. O GPTBot, o ClaudeBot e o PerplexityBot não aparecem lá.
- Use monitorização de citações para ver o que os motores dizem sobre a sua marca.
É aqui que entra a Semly. A plataforma monitoriza citações em ChatGPT, Gemini, Claude, Grok e Google AI Mode, com granularidade por URL e análise das fontes citadas. O agente Leon identifica lacunas de conteúdo e de presença digital que afetam a visibilidade. O enquadramento é simples: SEO é a base, AEO é a resposta, GEO é a autoridade. A verificação de crawlers é o primeiro passo do ciclo descobrir, analisar e agir.
Importante: as respostas de IA são não-determinísticas. Segundo a SparkToro (2026), há menos de 1% de probabilidade de o ChatGPT repetir a mesma lista de marcas. Nenhuma ferramenta garante citações ou posições. O que se mede é frequência e tendência.
Perguntas frequentes
O GPTBot respeita o robots.txt? Sim. A OpenAI indica que o GPTBot cumpre as diretivas do robots.txt. Mas é um pedido, não uma barreira técnica.
Bloquear o GPTBot afeta o SEO? Não diretamente. O GPTBot é um bot de treino. A Pesquisa Google e o ranking não dependem dele.
Google-Extended é um crawler? Não. É um token de robots.txt sem user-agent HTTP próprio. Controla o uso de conteúdo já rastreado para treino de Gemini e grounding. Não afeta a inclusão na Pesquisa Google.
O ChatGPT-User respeita o robots.txt? Como é uma ação iniciada pelo utilizador, as regras de robots.txt podem não se aplicar. A OpenAI indica que este agente não é usado para crawl automático.
Preciso de llms.txt? Não é obrigatório. É uma convenção emergente, não um requisito técnico. O que decide o acesso é o robots.txt, o WAF e a acessibilidade do HTML.