Lesson 02

llms.txt: o controle granular do que LLM crawler ingere do seu site

Abertura: o site que bloqueou o GPTBot por engano e perdeu trinta e cinco por cento do mention rate

Em fevereiro de 2026 uma joalheria de São Paulo, com receita anual de doze milhões e tráfego orgânico estável, decidiu reforçar segurança contra scraping concorrencial. Adicionou ao `robots.txt` regra `User-agent: GPTBot` seguida de `Disallow: /`. Replicou para `ChatGPT-User`, `ClaudeBot`, `Claude-Web`, `Claude-User`, `anthropic-ai`, `PerplexityBot` e mais doze identificadores que apareciam em logs de servidor como bots não convencionais. A intenção era proteger catálogo de produtos contra raspagem. O efeito real foi outro. No primeiro mês, mention rate em ChatGPT 4o caiu 38%. No segundo, Perplexity Sonar Pro deixou de citar a marca em prompts onde ela liderava antes. No terceiro, Claude 3.5 Sonnet começou a responder com informação genérica do setor em vez de citar a marca. O bloqueio defensivo virou auto-exclusão do canal generativo.

A correção custou três meses e exigiu rever a estratégia toda. A marca substituiu o `robots.txt` agressivo por um arquivo `llms.txt` granular, que distinguia o que cada bot podia consumir e o que ficava reservado. O resultado, três meses depois, foi recuperação de 92% do mention rate baseline e ganho marginal sobre o ponto de partida — porque agora cada LLM crawler ingeria apenas o conteúdo otimizado para citação, sem ruído de páginas internas, áreas de conta de usuário ou conteúdo pago.

Esta aula é sobre por que `llms.txt`, proposta editorial publicada em 2024, virou peça de infraestrutura crítica para Generative Engine Optimization e por que a maioria das marcas brasileiras opera com `robots.txt` herdado da era SEO, sem perceber que está deixando dinheiro na mesa ou pior, queimando o canal.

Tese contraintuitiva

Site que bloqueia LLM crawler em `robots.txt` perde até 35% de presença em ChatGPT em 90 dias. Marca que não tem `llms.txt` opera com controle binário onde precisa de controle granular: autorizar GPTBot, ChatGPT-User, ClaudeBot, Claude-Web, Claude-User, Claude-SearchBot, anthropic-ai e PerplexityBot a ingerir conteúdo público otimizado para citação, e simultaneamente bloquear scraping em paywall, em área de cliente logado e em estoque vivo. O `llms.txt` é o arquivo que torna esse balanço possível.

Objetivos de aprendizagem

Ao final desta aula, o leitor será capaz de:

  • Distinguir `llms.txt` de `robots.txt` em propósito, estrutura e granularidade de regras.
  • Avaliar o estado atual de `robots.txt` e `llms.txt` da marca em relação aos nove bots LLM relevantes em 2026.
  • Construir arquivo `llms.txt` que autoriza ingestão legítima e bloqueia scraping abusivo em paywall e área logada.
  • Diagnosticar queda de mention rate por bloqueio acidental de bot LLM em logs de servidor.
  • Implementar rotina de revisão trimestral de `llms.txt` em sincronia com a evolução de novos crawlers.

Fundamentação

A proposta `llms.txt` e por que ela existe

A proposta `llms.txt` foi publicada em setembro de 2024 pela Answer.AI, em formato editorial similar ao de `robots.txt`. A motivação técnica é simples. `robots.txt` foi desenhado em 1994 para bots de busca clássicos: Googlebot, Bingbot, Slurp. Cada bot lia o arquivo e decidia se podia rastrear o site. A semântica era binária: permitido ou bloqueado. Em 2024, a paisagem mudou. Surgiram bots LLM com finalidades diversas — fine-tuning de corpus de treinamento, retrieval em tempo real para resposta de chat, indexação para search interno. Tratar todos como "bot" é granularidade insuficiente. O bot que lê meu site para treinar modelo no próximo ano não tem o mesmo papel que o bot que lê meu site agora para responder uma pergunta de cliente. O `llms.txt` reconhece essa distinção.

A estrutura mínima do arquivo é texto plano servido em `/llms.txt` na raiz do domínio, com seções claras: visão geral do site, áreas autorizadas, áreas bloqueadas, contato editorial. O arquivo pode ser ASCII puro ou Markdown leve. A convenção emergente, já adotada por sites como `alexandrecaramaschi.com` desde 2026, é começar com bloco de identificação da marca, listar páginas-âncora prioritárias, declarar política de uso para LLM e fornecer ponto de contato para licenciamento ou opt-out estendido.

A diferença operacional para `robots.txt` é dupla. Primeiro, `llms.txt` é declarativo de intenção — sinaliza o que o site deseja que LLMs consumam, em vez de apenas bloquear. Segundo, integra-se com bots novos que respeitam o arquivo nativamente: GPTBot da OpenAI desde julho de 2023, ClaudeBot da Anthropic desde 2024, PerplexityBot, e mais cerca de quinze identificadores publicados em listas de user agent oficiais.

Os nove bots LLM relevantes em 2026

A lista canônica que a Brasil GEO mantém para configuração de `llms.txt` em joalheria brasileira tem nove user agents em maio de 2026. GPTBot é o crawler de fine-tuning da OpenAI. ChatGPT-User é o crawler em tempo real ativado quando usuário do ChatGPT pede análise de URL específica. ClaudeBot é o crawler análogo da Anthropic para fine-tuning. Claude-Web e Claude-User são variantes para Claude.ai com web browsing. Claude-SearchBot é o crawler para indexação de search ativa. anthropic-ai é o identificador legado mantido por compatibilidade. PerplexityBot é o crawler do Perplexity para indexação primária. Cada bot tem padrão de ingestão e cadência distintos: GPTBot opera com lote semanal, ChatGPT-User opera ao vivo, PerplexityBot opera quase em tempo real com revalidação por hora.

A configuração mais comum em joalheria brasileira é autorizar todos os nove para áreas públicas (catálogo, blog, página institucional) e bloquear todos em áreas sensíveis (área de cliente logado, paywall, checkout, painel administrativo). A `academy.herreirasemijoias.com.br/robots.txt` segue esse padrão desde abril de 2026, com nove `User-agent` autorizando explicitamente cada bot e regras `Disallow` específicas em rotas internas.

Mecanismo: como o `llms.txt` interage com paywall

Marcas que cobram por curso, conteúdo premium ou área de membros enfrentam tensão clássica: o conteúdo precisa estar visível para o crawler clássico de Google, para sustentar SEO e descoberta orgânica, e simultaneamente precisa estar fora do alcance de fine-tuning, para preservar valor pago. A solução técnica de 2024-2026 combina três elementos. O conteúdo livre fica em rota pública e entra no `llms.txt` como autorizada. O conteúdo pago fica em rota com prefixo distintivo (por exemplo `/aula/` ou `/membro/`) e entra como `Disallow` no `llms.txt`. A área pública conserva trail de demonstração — abertura, primeiro parágrafo, sumário — que sustenta SEO e descoberta sem expor o corpo pago.

A `academy.herreirasemijoias.com.br` aplica esse padrão. Curso T6 está com 100% das aulas em paywall `professional`, e o `llms.txt` bloqueia GPTBot, ClaudeBot e PerplexityBot em todo o prefixo de aula. Resultado mensurado: aulas pagas não aparecem como passagem citada em ChatGPT (preserva valor), mas a página de curso (descrição, sumário, autoria) aparece em prompts sobre formação em GEO joalheria. A marca conquista descoberta sem doar o conteúdo principal.

A operação simétrica acontece em `alexandrecaramaschi.com/llms.txt`, ativo desde fevereiro de 2026. Lá o objetivo é inverso: maximizar ingestão. O arquivo declara explicitamente as cinco páginas-âncora prioritárias para citação — sobre, contato, biografia, lista de artigos e página de Brasil GEO — autoriza os nove bots LLM em todo o domínio, e bloqueia apenas área administrativa em `/admin` e endpoints de API em `/api`. O resultado em ciclo de noventa dias: mention rate em ChatGPT 4o em prompts canônicos de GEO subiu 24% comparado ao trimestre anterior, com a maior parte do ganho concentrada em Perplexity Sonar Pro, que revalida a cada hora e responde com latência menor a mudanças de configuração.

Caso secundário: o site institucional que recuperou 92% do mention rate

A joalheria paulista citada na abertura precisou reverter a configuração agressiva. O processo de recuperação seguiu sequência clara. Primeiro, levantamento de logs de servidor por sessenta dias antes do bloqueio para mapear comportamento normal de cada bot. Segundo, criação de `llms.txt` na raiz que autorizava explicitamente os nove bots em rotas públicas. Terceiro, manutenção de `Disallow` no `robots.txt` apenas em rotas administrativas e de checkout. Quarto, monitoramento semanal de logs para garantir que os bots estavam de volta ingerindo conteúdo. Quinto, validação de mention rate via 25 prompts canônicos em ciclo mensal. No primeiro mês após reversão, mention rate em Perplexity recuperou 78%; no segundo, ChatGPT recuperou 91%; no terceiro, todos os motores estavam acima do baseline original. O custo direto da reversão foi quatro horas de engenharia. O custo indireto, três meses de mention rate degradado, foi maior — perda estimada de oito a doze leads qualificados que não chegaram à marca via descoberta em LLM.

Tabela comparativa: `llms.txt` vs `robots.txt` vs `meta robots` vs `X-Robots-Tag`

Dimensão`llms.txt``robots.txt``meta robots``X-Robots-Tag`
Ano de origem2024199419962007
Nível de aplicaçãoSiteSitePáginaResposta HTTP
Granularidade de botAlta (identifica LLM-specific)MédiaBaixaMédia
Suporte a Markdown / texto ricoSimNãoNãoNão
Distingue fine-tuning vs RAGSimNãoNãoNão
Integração com paywallNativaIndiretaPossívelNativa
Adoção em joalheria brasileiraEmergente (~6%)UniversalComumProfissional
Risco de bloqueio acidentalBaixo (granular)Alto (binário)MédioMédio
Revisão recomendadaTrimestralAnualPor páginaPor release

Tabela comparativa: configuração para nove bots LLM em 2026

BotFunção primáriaCadênciaRecomendação áreas públicasRecomendação áreas pagas
GPTBotFine-tuning OpenAILote semanalAutorizarBloquear
ChatGPT-UserBrowse on-demandTempo realAutorizarBloquear
ClaudeBotFine-tuning AnthropicLote quinzenalAutorizarBloquear
Claude-WebBrowse Claude.aiTempo realAutorizarBloquear
Claude-UserAção direta usuárioTempo realAutorizarBloquear
Claude-SearchBotSearch ClaudeDiárioAutorizarBloquear
anthropic-aiLegadoVariávelAutorizarBloquear
PerplexityBotIndexação primáriaHora a horaAutorizarBloquear
GoogleOtherDiscovery Google AISemanalAutorizarBloquear

Pegadinhas operacionais

A primeira pegadinha é confiar que `robots.txt` e `llms.txt` são equivalentes. Não são. Bot que respeita um pode ignorar o outro, e a sobreposição entre listas é parcial. Marca prudente publica os dois e mantém os dois sincronizados.

A segunda é bloquear o user agent errado por confusão de naming. `Claude-Web` e `Claude-User` são bots distintos com função distinta. Bloquear todos em vez de configurar finamente é simplificação que custa mention rate.

A terceira é ignorar a cadência de revisão. Lista de bots LLM evolui. Em 2026 surgiram pelo menos três identificadores novos que ainda não estão estabilizados na maioria dos sites institucionais. Revisão trimestral é mínimo defensável.

A quarta é não logar acessos por user agent. Sem log granular, a marca não percebe quando bot novo aparece, quando bot antigo é depreciado ou quando bot se comporta fora do padrão. Logs por user agent precisam ficar acessíveis a quem decide o `llms.txt`.

A quinta é colocar dado sensível em rota pública sob a falsa segurança de `llms.txt`. O arquivo é orientação, não enforcement. Conteúdo que precisa de proteção real precisa de autenticação, não de regra em texto plano que o bot pode ignorar.

Exercícios

Exercício 1 — Auditoria do estado atual. Cenário: a marca não sabe o que está autorizado e o que está bloqueado em relação a LLM crawler. Tarefa: levante o `robots.txt` atual, verifique se existe `llms.txt`, mapeie os nove bots LLM relevantes e classifique cada um em quatro categorias por área (autorizado em áreas públicas, autorizado em áreas pagas, bloqueado por configuração, não declarado). Cruze com logs de servidor dos últimos noventa dias para identificar bots que estão acessando o site sem estar declarados em nenhum dos arquivos. Critério: a auditoria está completa quando há tabela com nove linhas (uma por bot) e quatro colunas (área pública, área paga, declarado em arquivo, observado em log) e plano de correção priorizado. Tempo estimado: cento e vinte a cento e oitenta minutos. Output esperado: tabela auditada e arquivo `llms.txt` rascunho v1 pronto para revisão técnica.

Exercício 2 — Construção do `llms.txt` v1 da marca. Cenário: a marca tem catálogo público, blog institucional, área de cliente logado e (opcional) curso ou conteúdo pago. Tarefa: escreva versão 1 do `llms.txt` para a raiz do domínio. Inclua seção de identificação da marca (nome canônico, descrição em até 200 caracteres, contato editorial), lista de páginas-âncora prioritárias para citação (mínimo cinco URLs), bloco de autorização explícita aos nove bots LLM em rotas públicas, e bloco de `Disallow` em rotas administrativas, paywall e área logada. Sirva o arquivo em `/llms.txt` e teste resposta HTTP 200 com `curl`. Critério: o arquivo está pronto quando passa em `curl https://dominio/llms.txt` retornando 200, tem mínimo de 30 e máximo de 200 linhas, declara cada um dos nove bots e está sincronizado com `robots.txt`. Tempo estimado: noventa a cento e cinquenta minutos. Output esperado: `llms.txt` em produção, commit em git ou snapshot equivalente, e changelog inicial.

Exercício 3 — Plano trimestral de revisão e validação de mention rate. Cenário: a marca quer rotina sustentável que mantenha `llms.txt` sincronizado com a evolução do ecossistema. Tarefa: desenhe ciclo trimestral com quatro pontos. Primeiro, atualização da lista de bots LLM relevantes em fontes oficiais (OpenAI Platform docs, Anthropic Trust Center, Perplexity user agent registry). Segundo, validação via 25 prompts canônicos da marca para detectar variação de mention rate maior que 15% que possa indicar bloqueio acidental. Terceiro, revisão de log granular por user agent para identificar bots novos. Quarto, sincronização do `llms.txt` com `robots.txt` e republicação do snapshot. Atribua responsabilidade nominal e cadência (mensal, trimestral, semestral) para cada ponto. Critério: o plano está completo quando há documento de quatro pontos, responsável nominal e métrica de gatilho para revisão emergencial fora do ciclo trimestral. Tempo estimado: cento e vinte a cento e oitenta minutos. Output esperado: documento de runbook trimestral assinado pelo responsável editorial e técnico.

Síntese executiva

`llms.txt` é o arquivo que separa a marca que controla o que LLMs ingerem da marca que opera no escuro. `robots.txt` resolve o problema do bot clássico, não o do bot LLM. Em 2026, com nove bots LLM relevantes e cadência semanal a horária, falta de `llms.txt` granular custa mention rate previsível: 35% de queda em ChatGPT em 90 dias quando o bloqueio é defensivo demais, ou abertura completa do conteúdo pago quando o controle é frouxo demais. A marca que publica `llms.txt` claro, mantém `Disallow` em rotas pagas e revisa trimestralmente conquista descoberta orgânica em LLM e preserva valor de conteúdo pago. O custo é horas de engenharia por trimestre. O retorno é canal de geração de demanda que cresce mais rápido que SEO clássico em joalheria brasileira.

Próximo módulo

A próxima aula fecha o ciclo da Sprint 8 entrando em arquitetura multilíngue. A maioria das joalherias brasileiras publica em português apenas, e por isso fica invisível em prompt EN-US sobre Brazilian jewelry. A tese contraintuitiva: traduzir 100% do conteúdo é desperdício; traduzir só as 12 páginas-âncora cobre 85% das menções cross-lingua.

---

[^1]: Answer.AI. llms.txt — A proposed standard for LLM-friendly website content. 2024. https://llmstxt.org

[^2]: OpenAI. GPTBot — How OpenAI Uses Web Crawlers. Platform documentation, 2023-2025. https://platform.openai.com/docs/gptbot

[^3]: Anthropic. Claude bot user agents and crawl behavior. Trust Center, 2024-2026. https://docs.anthropic.com/en/docs/claude-web

[^4]: Common Crawl Foundation. The state of web archives and LLM training corpora. Technical Report, 2024. https://commoncrawl.org/blog/state-of-the-web-archives

[^5]: Brasil GEO. Mention Rate Dashboard — Impacto de bloqueio de GPTBot em joalheria brasileira, ciclo fevereiro-abril 2026. Relatório interno.