Pesquisa própria
O que os robôs de IA perdem quando pulam o JavaScript?
Carregamos duas vezes cada página inicial que entregou HTML ao nosso robô: como HTML puro e com JavaScript. Em 20 de outubro de 2026, os dados estruturados quase nunca dependiam do JavaScript: só 1,3% dessas páginas iniciais, entre os 10.000 sites mais populares, recebiam o JSON-LD pelo JavaScript. Com o texto é outra história. Em 26,4% delas, menos da metade das palavras está no HTML que um robô sem JavaScript recebe.
Medido em 20 de outubro de 2026
- das páginas iniciais do top 10.000 têm JSON-LD só depois do JavaScript
- 1,3%
- têm a maior parte do texto só depois do JavaScript
- 26,4%
- mostram o título principal (h1) só depois do JavaScript
- 6,5%
O que testamos
Uma página da web chega em duas etapas. Primeiro, o servidor envia HTML. Depois, o navegador roda o JavaScript da página, que pode acrescentar texto, títulos e dados estruturados.
Nem todo robô faz essa segunda etapa. Um estudo de logs da Vercel de 2024 viu que os grandes robôs de IA baixam os arquivos JavaScript, mas não os rodam. A ferramenta web fetch da Anthropic para desenvolvedores não suporta, segundo a documentação, páginas feitas com JavaScript. O Google é diferente: ele roda o JavaScript das páginas.
Então carregamos cada página inicial duas vezes, com segundos de diferença e com o mesmo nome de robô: uma vez como HTML puro, do jeito que um robô sem JavaScript a vê, e outra em um navegador Chrome de verdade, que roda o JavaScript. Depois comparamos as duas.
Dados estruturados que só aparecem com JavaScript
51,2% das páginas iniciais do top 10.000 têm JSON-LD no HTML puro. Só 1,3% recebem o JSON-LD apenas pelo JavaScript, e em 1,3% o JavaScript acrescenta mais tipos. Em dados estruturados, o HTML puro costuma contar a história toda.
| Medida | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Tem JSON-LD no HTML puro | 51,2%46,1%–56,3% | 51%45,9%–56% | 49%43,8%–54,2% | 43,2%38,2%–48,3% | 33%28,2%–38% |
| Tem JSON-LD depois do JavaScript | 52,3%47,2%–57,3% | 52,6%47,5%–57,6% | 49,9%44,6%–55,1% | 43,2%38,2%–48,3% | 33,5%28,8%–38,6% |
| JSON-LD só depois do JavaScript | 1,3%0,6%–3,1% | 1,6%0,8%–3,5% | 0,9%0,3%–2,5% | 0,3%0%–1,5% | 0,6%0,2%–2,1% |
| O JavaScript acrescenta mais tipos | 1,3%0,6%–3,1% | 0,3%0%–1,5% | 0,6%0,2%–2,1% | 0,5%0,1%–2% | 0,6%0,2%–2,1% |
| O JavaScript remove o JSON-LD | 0,3%0%–1,5% | 0%0%–1% | 0%0%–1,1% | 0,3%0%–1,5% | 0%0%–1,1% |
| Páginas iniciais comparadas (n) | 371 | 367 | 349 | 368 | 349 |
JSON-LD quebrado também é raro: 0,5% das páginas iniciais com JSON-LD no HTML puro têm um bloco que não é JSON válido. Um bloco assim não pode ser lido como dados estruturados. Nosso validador de schema lê o HTML puro do mesmo jeito e mostra a linha exata.
| Medida | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Pelo menos um bloco não é JSON válido | 0,5%0,1%–2,9% | 1,6%0,5%–4,6% | 2,9%1,3%–6,7% | 1,3%0,3%–4,5% | 0,9%0,2%–4,8% |
| Páginas iniciais com JSON-LD no HTML puro (n) | 190 | 187 | 171 | 159 | 115 |
Embaixo de cada porcentagem está a margem: com 95% de confiança, a porcentagem real fica entre esses dois números. As colunas 1-3 são sites populares pela posição na lista Tranco; as colunas 4-5, sites em holandês e em alemão do diretório Curlie.
Título, descrição e título principal
O título da página quase sempre está no HTML puro: só 1,1% das páginas iniciais do top 10.000 o acrescentam com JavaScript. O título principal é outra conversa: em 6,5%, o h1 só aparece depois do JavaScript.
| Medida | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Título da página | 1,1%0,4%–2,7% | 1,6%0,8%–3,5% | 0,9%0,3%–2,5% | 0,5%0,1%–2% | 0,3%0,1%–1,6% |
| Meta description | 1,1%0,4%–2,7% | 1,6%0,8%–3,5% | 0,9%0,3%–2,5% | 1,1%0,4%–2,8% | 0,6%0,2%–2,1% |
| Título principal (h1) | 6,5%4,4%–9,4% | 8,4%6%–11,7% | 5,7%3,7%–8,7% | 1,1%0,4%–2,8% | 0,9%0,3%–2,5% |
| Páginas iniciais comparadas (n) | 371 | 367 | 349 | 368 | 349 |
O texto em si
Na página inicial típica do top 10.000, 87,5% das palavras que um navegador mostra também estão no HTML puro. Mas em 26,4% das páginas iniciais, menos da metade do texto está lá sem JavaScript. Um robô que pula o JavaScript só vê parte dessas páginas.
| Medida | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Menos da metade das palavras está no HTML puro | 26,4%22,1%–31,1% | 23,9%19,8%–28,6% | 16,3%12,8%–20,5% | 13,2%10,1%–17,1% | 8%5,6%–11,4% |
| Páginas iniciais comparadas (n) | 368 | 360 | 344 | 363 | 348 |
| Medida | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Palavras no HTML puro | 948 | 710 | 830 | 453 | 505 |
| Palavras depois do JavaScript | 1.409 | 1.058 | 1.044 | 523 | 552 |
Quer ver o que um robô sem JavaScript recebe da sua página? Abra o código-fonte da página (Ctrl+U, ou Cmd+Option+U no Mac) em vez da página em si. Ou deixe a nossa análise GEO gratuita verificar a página.
O que isso não prova
- Não mostra que as ferramentas de IA usam dados estruturados para escolher fontes, nem que acrescentá-los faz você ser mais citado.
- Nós não somos um robô de IA. Um site pode mandar aos robôs de IA um HTML diferente do que mandou para nós, conforme o nome do robô ou o endereço IP.
- Só páginas iniciais. Páginas de produto e artigos podem se comportar de outro jeito.
- Contamos todo o texto do HTML, inclusive o que fica escondido na tela, dos dois lados. Não verificamos o que um visitante realmente vê.
- Não clicamos em nada. Onde aparece um banner de cookies ou de consentimento, a página depois do JavaScript pode conter o texto desse banner, ou menos da própria página.
- O texto dentro do shadow DOM (usado por alguns componentes web) não faz parte do HTML da página que lemos, então também não o contamos depois do JavaScript.
- Não diz nada sobre o Google: o Google roda o JavaScript antes de indexar uma página.
Como fizemos
Sorteamos 1.500 sites de cada um de cinco grupos: três faixas da lista Tranco 467YX de sites populares (posições 1-10.000, 10.001-100.000 e 100.001-1.000.000), mais as seções em holandês e em alemão do diretório Curlie (47.502 e 309.045 sites cadastrados com a página inicial). Com uma semente aleatória fixa, quem tiver os mesmos dois arquivos sorteia exatamente os mesmos sites.
Dos sites cuja página inicial abriu normalmente no nosso teste de robots.txt, pegamos os primeiros 400 de cada grupo, em ordem aleatória. Antes de carregar uma página, buscamos o robots.txt de novo e só continuamos se ele ainda liberasse o nosso robô.
O navegador era o Chrome/141.0.7390.76 (sem interface), com o mesmo nome de robô do pedido de HTML puro: GEOScoreBot/1.0 (+https://geo-score.online). Ele esperava a página terminar de carregar e mais até 10 segundos sem tráfego de rede, e então lia a página. Pulava imagens, vídeos e fontes, que não mudam o texto, e seguia o robots.txt para os arquivos do próprio site. A execução levou cerca de 32 minutos.
As duas versões passaram pelo mesmo código: o JSON-LD pelo analisador do nosso validador de schema, o título da página, a meta description e o h1 quando não estão vazios, e as palavras do corpo da página sem scripts, estilos e comentários. Uma página conta como "a maior parte do texto precisa de JavaScript" quando menos da metade das palavras depois do JavaScript também está no HTML puro.
Escrevemos as perguntas, a amostra e cada medida antes de começar, e salvamos esse plano. Tudo o que decidimos depois de ver os dados está marcado como exploratório.
| Etapa | Top 10.000 | 10.001–100.000 | 100.001–1 milhão | Em holandês | Em alemão |
|---|---|---|---|---|---|
| Páginas iniciais tentadas | 400 | 400 | 400 | 400 | 400 |
| O robots.txt passou a dizer não ao nosso robô | 2 | 2 | 2 | 1 | 0 |
| O pedido de HTML puro falhou | 0 | 2 | 0 | 0 | 0 |
| O navegador não conseguiu carregar a página | 6 | 11 | 24 | 24 | 47 |
| O JavaScript levou o navegador para outra página | 21 | 18 | 25 | 7 | 4 |
| Comparadas: entram nas porcentagens | 371 | 367 | 349 | 368 | 349 |
| … das quais ainda carregando quando paramos de esperar | 46 | 37 | 24 | 12 | 22 |
Quando o JavaScript leva um navegador para outra página (uma página de idioma, um aviso de cookies, uma checagem antirrobô), as duas versões deixam de ser a mesma página, então ficam de fora. Um robô sem JavaScript continua na primeira página.
Outros estudos sobre a mesma pergunta
A Vercel (dados de fornecedor, dezembro de 2024) estudou o tráfego de robôs de IA na própria rede. Na época, nenhum dos grandes robôs de IA rodava JavaScript: eles baixavam os arquivos JavaScript, mas não viam o conteúdo que o JavaScript acrescenta. O Gemini era a exceção, porque usa o robô do Google, que roda as páginas.
A documentação da Anthropic sobre a ferramenta web fetch, que desenvolvedores usam para o Claude abrir uma página, diz que sites feitos com JavaScript não são suportados. Isso vale para a ferramenta de desenvolvedores; a documentação não diz nada sobre o app do Claude.
Confira o seu próprio site
Isso são médias. O seu site está dentro ou fora. Nossas ferramentas gratuitas verificam isso em segundos.
Baixe os dados
Cada número desta página está no arquivo CSV, uma linha por número, com a contagem, a base e a margem de 95%. Ele tem só totais, nenhum nome de site.
Baixar os números (CSV)Você pode reutilizar os números sob a licença CC BY 4.0. Cite o GEO-Score e coloque um link para esta página.
Fontes das listas de sites
Sites populares: a lista Tranco 467YX (Le Pochat et al., NDSS 2019).
Sites em holandês e em alemão: com conteúdo de Curlie.org - o maior diretório da web editado por pessoas. Contribua enviando um site ou tornando-se editor. Os dados do Curlie estão sob a licença CC BY 3.0.
20 de outubro de 2026: primeira medição publicada.