Otimização para IA

Um caso dos meus servidores

O robots.txt dizia Allow. O Cloudflare dizia 403.

No começo de outubro de 2026, revisando os sites que eu hospedo, achei um caso que resume o problema. O robots.txt liberava explicitamente o GPTBot e o ClaudeBot. Nos logs, os dois tinham sumido havia semanas. Testando com o user-agent deles, a resposta não vinha do meu nginx: era um 403 de 25 bytes, devolvido pelo Cloudflare na borda, antes de a requisição chegar ao servidor.

O robots.txt é um pedido. Quem decide se o robô entra é a primeira camada que responde, e hoje essa camada muitas vezes é o Cloudflare, que desde julho de 2025 bloqueia robôs de IA por padrão em domínios novos e tem regras de bot que nem olham o robots.txt. Otimizar para IA começa por conferir isso, porque nenhuma marcação de schema adianta se o robô não consegue ler a página.

A parte de conteúdo (o que escrever e para quem) importa tanto quanto a técnica. Só que texto bom atrás de porta fechada não é citado por ninguém, então é pela porta que eu começo.

Quem é quem

Os robôs de IA que importam e o que cada um faz

User-agents publicados pelos próprios provedores. Bloquear robô de treino é escolha de negócio; bloquear robô de busca tira a loja das respostas.
User-agentDe quemPara que serveO que eu recomendo para loja
GPTBotOpenAIColetar conteúdo para treinar modelosDecisão sua. Bloquear não tira a loja da busca do ChatGPT
OAI-SearchBotOpenAIIndexar páginas para a busca do ChatGPTLiberar
ChatGPT-UserOpenAIAbrir a página quando um usuário pede no chatLiberar
ClaudeBot, Claude-SearchBot e Claude-UserAnthropicTreino, busca e acesso a pedido do usuárioTreino: decisão sua. Busca e usuário: liberar
PerplexityBot e Perplexity-UserPerplexityÍndice da busca e acesso a pedido do usuárioLiberar
Google-ExtendedGoogleNão é um robô: é o token do robots.txt que controla o uso do conteúdo no GeminiDecisão sua. Não afeta o Googlebot nem a busca do Google
Applebot-ExtendedAppleToken que controla o uso do conteúdo nos modelos da AppleDecisão sua
Checklist técnico

O que eu confiro numa loja Magento ou WooCommerce

  1. Acesso real, não o declarado. Leio o robots.txt e depois confiro quem de fato entra: comparo a resposta da borda com a da origem e olho os eventos de segurança no painel do Cloudflare. Como o Cloudflare confere o IP dos robôs verificados, um teste com user-agent falso pode levar 403 mesmo com tudo certo. Por isso o veredito vem do log da origem e do painel, não do teste.
  2. Conteúdo no HTML inicial. Rodo um curl na página de produto, sem JavaScript, e procuro preço, disponibilidade e descrição no HTML. Robô de IA quase não executa JavaScript. O tema Luma e o Hyvä entregam isso pelo servidor. O problema aparece em front-end headless sem renderização no servidor, em bloco carregado por AJAX e em page builder que monta a página no navegador. Em produto configurável, o preço de cada variação costuma vir por JavaScript, então garanto que a faixa de preço e as variações estejam pelo menos nos dados estruturados.
  3. Dados estruturados que batem com a página. Product com Offer (preço, moeda BRL, disponibilidade), marca e GTIN quando existe. Avaliação só se for real e estiver visível, FAQPage só com FAQ visível e Organization com os perfis oficiais em sameAs. Confiro no Teste de pesquisa avançada do Google e no validador do schema.org.
  4. Texto que responde pergunta. Guia de medidas, política de troca e prazo de entrega em texto na página, não em imagem nem só em PDF. O assistente cita trechos que respondem direto, e uma tabela de medidas em JPG não responde nada para ele.
  5. llms.txt. Um arquivo em markdown na raiz, listando as páginas que importam com uma linha sobre cada uma. É uma proposta de 2024, não um padrão, e nenhum grande buscador confirmou que usa. Faço porque custa pouco. Aqui no site ele é gerado pelo próprio WordPress a partir das páginas e dos posts: veja o llms.txt do rogertakemiya.com.br.
Medição

Como medir se as IAs estão lendo a loja

Primeiro no log do servidor. Este comando conta os acessos de cada robô de IA no access.log do nginx:

grep -oE 'GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|Perplexity-User' \
  /var/log/nginx/access.log | sort | uniq -c | sort -rn

Os acessos de ChatGPT-User e Perplexity-User são os mais interessantes: indicam uma pessoa, no meio de uma conversa, pedindo para o assistente abrir a sua página. Os de OAI-SearchBot, Claude-SearchBot e PerplexityBot mostram a loja sendo indexada para as buscas dessas IAs.

Depois no GA4. Quem clica num link dentro de uma resposta chega como referência de chatgpt.com, perplexity.ai, gemini.google.com ou copilot.microsoft.com, e o ChatGPT costuma marcar o link com utm_source=chatgpt.com. Eu crio um grupo de canais personalizado chamado IA, com uma regex nesses domínios, e a evolução mês a mês fica num relatório só.

Uma ressalva: o log só mostra o que passou pela borda. O que o Cloudflare barrou não deixa linha no nginx e aparece apenas no painel de eventos de segurança dele.

Limites

O que dá e o que não dá para prometer

O que eu não prometo nem faço

  • Não prometo que a loja vai aparecer no ChatGPT ou no Gemini. Ninguém controla a resposta do modelo. Dá para tirar os impedimentos técnicos e aumentar a chance de citação.
  • Não crio página escondida “só para IA” nem sirvo texto diferente para robô e para gente. Isso é cloaking, e buscador pune.
  • Não marco avaliação nem FAQ que não estejam visíveis na página.
  • Não troco SEO por GEO. O Google diz que AI Overviews e AI Mode não pedem otimização especial além do SEO básico, com página indexável e elegível a snippet.

A parte de conteúdo e de SEO técnico tradicional eu trato junto, na página de SEO para Magento e WordPress. Se o projeto pede produção de conteúdo contínua, com equipe, a Agência Buzz faz esse trabalho.

Perguntas frequentes

O que é otimização para IA (GEO)?

É o trabalho de deixar um site legível e citável pelos assistentes de IA, como ChatGPT, Gemini, Claude e Perplexity. Na parte técnica envolve liberar os robôs de busca dessas IAs, entregar o conteúdo no HTML sem depender de JavaScript e marcar produtos e perguntas com dados estruturados.

Se eu bloquear o GPTBot, minha loja some do ChatGPT?

Não necessariamente. O GPTBot coleta conteúdo para treino. A busca do ChatGPT usa outro robô, o OAI-SearchBot, e o acesso feito a pedido do usuário usa o ChatGPT-User. Dá para bloquear o treino e continuar liberando a busca.

Meu robots.txt libera os robôs de IA. Por que eles não aparecem no log?

O bloqueio pode estar antes do servidor. O Cloudflare bloqueia robôs de IA por padrão em domínios novos desde julho de 2025 e tem regras de bot que não consultam o robots.txt. Nesse caso a requisição nem chega ao nginx, e quem mostra o bloqueio é o painel de eventos de segurança do Cloudflare.

Preciso de llms.txt?

Não é obrigatório. O llms.txt é uma proposta de 2024, não um padrão, e nenhum grande buscador confirmou que usa. Eu recomendo porque custa pouco e organiza as páginas importantes do site num arquivo que qualquer modelo lê sem dificuldade.

GEO substitui SEO?

Não. O Google afirma que AI Overviews e AI Mode não exigem otimização especial além do básico de SEO: página indexável e elegível a aparecer em snippet. A maior parte do trabalho de GEO é SEO técnico bem feito, com atenção extra aos robôs das outras IAs.

Como sei se alguém chegou na loja por uma resposta de IA?

No GA4, pelo domínio de origem: chatgpt.com, perplexity.ai, gemini.google.com e copilot.microsoft.com aparecem como referência. Eu crio um grupo de canais próprio para IA com esses domínios e, no log do nginx, conto os acessos de ChatGPT-User e Perplexity-User, que indicam uma pessoa pedindo para o assistente abrir a página.