O que um agente de IA vê de facto ao visitar o teu site
Abres a tua página inicial e vês um design: um menu, uma imagem grande, três colunas de texto, uma tabela de preços e um aviso de cookies que deixaste de reparar há meses.
Um agente abre esse mesmo URL e não vê nada disso. Recebe um fluxo de bytes, deita quase todos fora e entrega o que resta a um modelo com uma janela de contexto limitada. O que sobrevive a essa viagem é toda a base sobre a qual um assistente vai descrever a tua empresa.
Quase ninguém alguma vez olhou para isso. Por isso medimos.
A medição
A 31 de agosto de 2026 passámos doze páginas conhecidas pelo nosso motor: descarregar a página como faria um agente comum, extrair o conteúdo legível, convertê-lo para Markdown e contar tokens nas duas pontas com cl100k_base.
| Página | Enviado | Chega ao modelo | Resta |
|---|---|---|---|
wordpress.org/about |
56.663 tok | 159 tok | 0,3% |
vercel.com/docs |
278.962 tok | 905 tok | 0,3% |
stripe.com/docs |
376.509 tok | 1.042 tok | 0,3% |
cloudflare.com/learning/… |
95.028 tok | 631 tok | 0,7% |
nodejs.org/en/about |
117.729 tok | 1.190 tok | 1,0% |
shopify.com/pricing |
410.515 tok | 2.479 tok | 0,6% |
notion.com/pricing |
172.136 tok | 2.805 tok | 1,6% |
slack.com/pricing |
294.980 tok | 5.718 tok | 1,9% |
developer.mozilla.org/…/HTTP |
59.350 tok | 3.059 tok | 5,2% |
react.dev/learn |
91.899 tok | 3.804 tok | 4,1% |
atlassian.com/software/jira/pricing |
379.636 tok | 1 tok | 0,0% |
agentready.md |
13.188 tok | 627 tok | 4,8% |
Nenhuma página entrega mais de 6% do que envia. A mediana fica abaixo de 1%.
Não é um escândalo. Quase todos esses bytes fazem um trabalho real — layout, estilos, analítica, interatividade — para quem chega com um navegador. O ponto é mais estreito: tudo isso é pago à entrada, e quase nada é aquilo que o agente veio buscar.
As quatro coisas que acontecem à tua página
Entre o pedido e o modelo, a tua página atravessa quatro portas. Cada uma deixa cair alguma coisa.
1. A descarga. O agente pede o URL. A maioria dos descarregadores de agentes não executa JavaScript: é lento, caro e abre superfície de ataque. Recebem portanto a resposta crua do teu servidor, não a página que um navegador monta.
2. A extração. Alguma coisa tem de decidir que parte desse HTML é o artigo e que parte é mobiliário. É o mesmo problema que o modo de leitura do Firefox resolve, com a mesma biblioteca que toda a gente usa. Menu, rodapé, aviso de cookies e barra lateral vão para o lixo. E também tudo o que o extrator não consiga distinguir de uma barra lateral.
3. A conversão. O que resta torna-se texto. Títulos, listas, tabelas, links e blocos de código sobrevivem como estrutura. Nomes de classe, <div> de embrulho, SVG em linha e atributos data- não.
4. A janela de contexto. O que restou compete agora por espaço com a pergunta do utilizador, o prompt de sistema e talvez outras nove páginas.
O teu conteúdo só existe, para o assistente, se atravessar as quatro.
Como é quando corre bem
vercel.com/docs reduz 278.962 tokens a 905, e esses 905 começam assim:
## Ship anything with Vercel
Deploy your app on Vercel in three steps: install the CLI, add agent
support if you need it…
É uma resposta limpa a «o que faz a Vercel». Um modelo que a leia pode citá-la, resumi-la e atribuí-la. Os 99,7% que caíram não lhe custaram nada que quisesse.
Como é quando corre mal
atlassian.com/software/jira/pricing envia 1,37 MB e entrega um token.
A página é uma casca. O HTML contém <div id="wac-root"></div> e depois cerca de um megabyte de estado de aplicação embebido — os preços, os nomes dos planos, as listas de funcionalidades, tudo dentro de um <script> em JSON, à espera de que o JavaScript construa a página. O nosso extrator retirou obedientemente 1,1 milhões de caracteres de window.SSR_detailMetrics=Object.freeze({"getFeatureGateValues":… e, retirados os scripts, o que restava era uma única mudança de linha.
Ou seja: pergunta a um assistente quanto custa o Jira e nada nessa página pode ser a fonte da resposta. Não porque a Atlassian tenha bloqueado alguém — não bloqueou — mas porque a página não tem texto até um navegador a executar.
Descarrega esse mesmo URL com um navegador headless e dá 3.048 tokens que começam por Transparent pricing for every team. O conteúdo existe. Só não está na resposta. Se um agente executa ou não um navegador, e o que isso lhe custa, é toda a diferença.
stripe.com/docs é uma versão mais suave da mesma forma: entram 1,28 MB e o conteúdo extraído são 1.057 caracteres que começam por um exemplo de linha de comandos em vez de uma descrição da Stripe.
O que esperávamos encontrar e não estava lá
Assumíamos que alguns destes sites estariam a barrar agentes na periferia. Sondámos cada um duas vezes — uma como navegador comum, outra identificando-nos como OAI-SearchBot — e comparámos.
Nenhum dos doze tratou o bot de forma diferente. O mesmo código de estado nos dois casos, através de Cloudflare, Vercel e CloudFront. (cloudflare.com/learning respondeu 403 às duas sondas, o que é um muro, mas não específico para bots.)
O bloqueio é a falha de que toda a gente fala. Nesta amostra não aconteceu uma única vez. O que aconteceu foi mais silencioso: a porta estava aberta e a sala vazia.
Olha para a tua própria página
Dois comandos. O que envias:
curl -s https://oteusite.pt/pagina | wc -c
Depois lê o que sobrevive à extração: cola o URL no analisador e olha para o painel de Markdown, não para a nota. A pergunta não é se o número é grande. É se o texto que estás a ler é o texto que quererias que um assistente citasse sobre ti.
Quase toda a gente se surpreende duas vezes: com o pouco que lá está, e com as partes que chegaram.
A versão curta
- Um agente vê o teu HTML cru, normalmente sem executar JavaScript, e fica com cerca de 1%.
- Se o teu conteúdo é montado por JavaScript, esse 1% pode ser exatamente nada.
- Ser bloqueado é raro. Estar vazio é comum.
- A solução não é enviar menos marcação. É garantir que as palavras estão na resposta.
Analisa o teu site · Os assistentes de IA conseguem ler-te? · Servir Markdown aos agentes