- Início
- The Thinking Wire
- Claude Code Pede Markdown em 76% das Vezes. O ChatGPT, Nunca.
Claude Code Pede Markdown em 76% das Vezes. O ChatGPT, Nunca.
O Claude Code pediu Markdown em 76% das requisições de página que fez. O ChatGPT-User, responsável por 73% de todo o tráfego de agentes no mesmo site e na mesma janela de dois meses, pediu Markdown em 0,1% das suas. Conteúdo idêntico, URLs idênticas, período idêntico. Toda a diferença mora em um cabeçalho HTTP de requisição que está na especificação desde 2001.
Rita Klubochkina, engenheira frontend sênior na Evil Martians, e Travis Turner, editor técnico da empresa, instrumentaram o próprio site do começo de maio ao começo de julho de 2026 e publicaram a abertura por agente. Já argumentamos aqui que llms.txt é ignorado e que agentes de código, não motores de resposta, são os leitores reais da web. Aquele texto tinha o agregado. Este traz o mecanismo que faltava.
Uma ressalva que atravessa o artigo inteiro: os logs registraram cerca de 268.000 requisições de agentes contra cerca de 107.000 pageviews humanas, e os autores são explícitos ao dizer que isso é um limite superior. Requisições de agentes são contadas no servidor, onde cada busca de asset e cada retentativa aparece. Pageviews humanas são contadas no cliente, onde bloqueadores e sessões abandonadas desaparecem. Os dois números saem de instrumentos diferentes, então a razão entre eles marca um teto e nada além disso.
Os volumes são locais. A divisão por formato viaja.
Esta é a forma do tráfego, já limpa de indexadores genéricos:
| Cliente | Requisições | Markdown | Fatia em Markdown |
|---|---|---|---|
| ChatGPT-User | 196.973 | 272 | 0,1% |
| Claude Code | 23.300 | 17.814 | 76% |
| Perplexity | 7.728 | ~0 | ~0% |
| OAI-SearchBot | 7.255 | 1.915 | 26% |
| GPTBot | 3.579 | 1.104 | 31% |
Markdown respondeu por cerca de 15% de todas as leituras de agentes: aproximadamente 40.000 requisições contra aproximadamente 227.000 em HTML. Esses 15% são um número limpo. O bruto dá 21% com indexadores genéricos incluídos, e um filtro mais rígido derruba para 13%. O Claude Code sozinho gerou 43% de todo o tráfego legítimo em Markdown.
Não reaproveite esses volumes por cliente como proporção da sua própria propriedade. É um site só, com audiência técnica, e o mix de tráfego reflete essa audiência. O que se transfere é a divisão em si: alguns clientes declaram preferência de formato e a honram de forma consistente, outros nunca declaram nada. Uma métrica única de “tráfego de IA” esconde isso por completo, e é por isso que times que acompanham só uma linha agregada não têm nada em que agir.
O mecanismo é o Accept, e ele precisa do Vary
Negociação de conteúdo é a parte mais antiga e menos glamourosa do HTTP. O cliente declara quais representações consegue usar, o servidor escolhe uma. Agentes que pedem text/markdown estão pedindo a versão da sua página sem a navegação, sem o banner de cookies, sem o modal de newsletter e sem os 40KB de marcação de layout embrulhados em torno de 800 palavras de texto.
Duas coisas precisam entrar juntas. Uma rota .md paralela para cada página e um rewrite disparado pelo cabeçalho da requisição:
# Detecta um cliente capaz de consumir Markdown
map $http_accept $wants_markdown {
default 0;
~text/markdown 1;
}
server {
location / {
# Mesma URL, representação diferente
if ($wants_markdown) {
rewrite ^/(.*)$ /$1.md last;
}
# Sem isso, um cache compartilhado entrega o corpo
# Markdown para o próximo navegador que pedir a mesma URL
add_header Vary Accept;
}
}
A linha Vary: Accept é a que as pessoas esquecem, e esquecê-la é pior do que não entregar a funcionalidade. Qualquer cache entre você e o cliente (seu CDN, um proxy corporativo, o próprio navegador) indexa respostas por URL. Se você devolve dois corpos diferentes para uma URL sem declarar qual cabeçalho de requisição fez a seleção, o cache vai entregar um documento Markdown cru para um visitante humano, ou HTML para o agente que pediu Markdown. É esse cabeçalho que torna a negociação cacheável e correta.
O resto é trabalho de conteúdo. Tire a mobília, preserve os títulos, preserve os blocos de código, preserve os links como links de verdade. O gêmeo .md é o mesmo artigo com o cenário removido.
Os autores aposentaram a recomendação que eles mesmos deram
A Evil Martians havia recomendado antes uma div escondida com uma dica para IA, um pequeno bloco de instrução que avisaria os agentes da existência de uma versão em Markdown. Ao longo de 268.000 requisições, eles não conseguiram atribuir uma única busca de Markdown a ela. Nas palavras deles: “we cannot attribute a single Markdown fetch to the hidden hint.” Zero requisições marcadas.
Os números de llms.txt caíram no mesmo lugar. O /llms.txt foi buscado cerca de 660 vezes, o /llms-full.txt cerca de 110. Das aproximadamente 770 buscas diretas, apenas 37 vieram de um assistente de IA nomeado. Os 95% restantes foram crawlers, bots genéricos e scripts. Os dados de referrer estavam piores: de 117 acessos, 106 vieram de um único cliente enviando um user agent congelado em Chrome/111.0, ou seja, mais de 90% do aparente interesse era uma coisa mal configurada em loop. John Mueller, do Google, citado a partir do Bluesky, fecha o teto: “no AI system currently uses llms.txt.”
Esse é o momento de credibilidade do estudo inteiro. Os autores publicaram uma medição que matou o conselho anterior deles próprios e depois publicaram a correção. Publicar recomendação é fácil. Instrumentar por dois meses e retratar é a parte que quase ninguém faz.
Classificar o tráfego é mais difícil do que servi-lo
O encanamento do Accept é uma tarde de trabalho. Saber quem está do outro lado é o problema real de engenharia, e os autores dizem isso de forma direta: “classifying LLM traffic is the actual hard part.” E também: “there’s really no such thing as AI traffic.”
Eles chegaram a um classificador na borda com cinco tipos, construído por exclusão em vez de por allowlist: ai, browser, crawler, scanner, library. Nada é contabilizado como atividade de agente a menos que o tipo resolva para ai, ou que Markdown tenha sido efetivamente servido e o cliente não seja ruído. Uma allowlist de user agents conhecidos quebra no contato com a realidade, porque clientes novos aparecem toda semana e metade deles envia UA genérico ou falsificado. Excluir o que você consegue identificar positivamente como navegador, scanner, raspador ou biblioteca HTTP deixa um resíduo mais próximo da verdade do que qualquer lista de nomes mantida à mão.
Dois detalhes operacionais valem roubar. Primeiro, garimpe seus 404 de .md. Como os autores colocam, “your .md 404s are free signal about the titles agents expect you to have.” Um agente chutando observabilidade-agentes.md está te dizendo o slug que ele inferiu de alguma citação por aí. Segundo, registre e faça 301 das variantes de TLD do seu domínio, junto com o IP cru de origem. Requisições alucinadas batem no .com quando você tem o .io, e se aquele hostname não aponta para a sua infraestrutura você nunca vê a requisição.
Entregue isso em uma tarde
Escolha a sua seção de conteúdo com mais tráfego, não o site todo. Depois:
- Gere um gêmeo
.mdpara cada página dessa seção, servido no mesmo caminho com a extensão adicionada. - Adicione o rewrite por
Accept: text/markdowne oadd_header Vary Accept. Valide comcurl -H 'Accept: text/markdown'e confirme que o cabeçalhoVaryvolta na resposta. - Registre em log a representação pedida ao lado do tipo classificado do cliente. Uma coluna para formato, uma para tipo. Foi esse par que produziu a descoberta dos 76% contra 0,1%.
- Apague qualquer marcação escondida de dica para IA que você adicionou seguindo conselho de alguém, incluindo o nosso se algum dia demos esse conselho. A medição deu zero.
- Coloque um relatório semanal de 404 em
.mdcaindo na sua caixa de entrada e leia como uma lista de títulos que os agentes acreditam que você tem.
A afirmação mensurável para testar na sua própria propriedade é estreita: se os clientes que chegam ao seu conteúdo declaram preferência de formato e se você honra essa preferência. Responder isso custa um cabeçalho, uma rota e uma coluna de log. Tudo além desse ponto é otimização de uma superfície que você ainda não construiu.
Fontes
- Evil Martians. “Which AI actually reads your site? Two months of LLM traffic, measured.” Julho de 2026.
Leituras relacionadas: a superfície legível por agentes, legibilidade de máquina como KPI de marketing e agentes superando tráfego humano como novo perímetro.
A Victorino ajuda times de engenharia e marketing a instrumentar tráfego de agentes e a construir a superfície Markdown negociada que o conteúdo deles já merece: contato@victorino.com.br | www.victorino.com.br
Todos os artigos do The Thinking Wire são escritos com o auxílio do modelo LLM Opus da Anthropic. Cada publicação passa por pesquisa multi-agente para verificar fatos e identificar contradições, seguida de revisão e aprovação humana antes da publicação. Se você encontrar alguma informação imprecisa ou deseja entrar em contato com o editorial, escreva para editorial@victorino.com.br . Sobre o The Thinking Wire →
Se isso faz sentido, vamos conversar
Ajudamos empresas a implementar IA sem perder o controle.
Agendar uma Conversa