Imagem de capa de JavaScript e crawlers de IA e o HTML que cada robô lê, com o índice do texto

JavaScript e crawlers de IA e o HTML que cada robô lê

JavaScript SEO é o trabalho de fazer o conteúdo montado por JavaScript chegar aos robôs que rastreiam e indexam a página. O Google renderiza, mas a maioria dos crawlers de IA lê só o HTML inicial, segundo a Vercel e a MERJ em 2024 e um experimento de 2026. Por isso trato a renderização no servidor como pré-requisito de GEO.

  • Em dezembro de 2024, a Vercel e a MERJ não encontraram execução de JavaScript em nenhum robô de IA da OpenAI, Anthropic, Meta, ByteDance e Perplexity;
  • GPTBot e ClaudeBot baixaram arquivos JavaScript sem executá-los, em 11,50% e 23,84% das requisições medidas no nextjs.org;
  • O Gemini, pela infraestrutura do Googlebot, e o Applebot renderizaram as páginas no mesmo teste;
  • Em um experimento publicado em agosto de 2026, o GPTBot disparou só o sinal de um script inline e nunca o de um componente React, e ClaudeBot e PerplexityBot não executaram JavaScript;
  • No estudo da Vercel e da MERJ sobre o Googlebot, a renderização levou 10 segundos na mediana e cerca de 18 horas no percentil 99;
  • Páginas com noindex no HTML inicial não foram renderizadas pelo Google, então remover a tag por JavaScript não surte efeito.

O que é JavaScript SEO?

JavaScript SEO é a parte do SEO técnico que garante que o conteúdo gerado por JavaScript chegue aos robôs que rastreiam e indexam a página. No Google, esse caminho passa por rastreamento, renderização e indexação, e o texto montado no navegador só entra no índice depois que a página sai da fila de renderização.

Os guias de JavaScript SEO que lideram a busca tratam quase só do Googlebot. O robô de IA que não executa JavaScript recebe apenas o HTML inicial, e o texto montado no cliente não existe para ele. As seções abaixo mostram quais robôs renderizam, quanto tempo o Google leva para renderizar e como testar o que cada robô recebe.

Resumo e principais pontos de JavaScript e crawlers de IA e o HTML que cada robô lê, por Lucas Ferraz
Resumo e principais pontos deste texto em uma imagem.

Quais robôs de IA executam JavaScript?

Os robôs de IA da OpenAI, da Anthropic, da Perplexity, da Meta e da ByteDance não executaram JavaScript no teste que a Vercel publicou com a MERJ em dezembro de 2024. O levantamento cruzou o tráfego da rede da Vercel e do nextjs.org com dois sites de vagas feitos em pilhas diferentes, um em Next.js e outro em framework próprio. Só dois grupos renderizaram as páginas: o Gemini, que aproveita a infraestrutura do Googlebot, e o Applebot, que rastreia com um navegador completo.

RobôEmpresaExecuta JavaScript
GPTBot, OAI-SearchBot e ChatGPT-UserOpenAINão
ClaudeBotAnthropicNão
PerplexityBotPerplexityNão
Meta-ExternalAgentMetaNão
BytespiderByteDanceNão
CCBotCommon CrawlNão
Googlebot, que atende a Busca e o GeminiGoogleSim
ApplebotAppleSim

Fonte: Vercel e MERJ, dezembro de 2024. O Microsoft Copilot ficou fora da medição por não ter user agent próprio.

O teste tem quase dois anos, e a falta de um anúncio posterior de renderização por esses robôs não equivale a uma medição nova. Por isso leio a tabela como retrato datado e prefiro confirmar o comportamento no log do próprio servidor.

Um experimento publicado em agosto de 2026 repetiu a pergunta com um sinal de execução que dispara por dois caminhos, um script inline no fim do body e um componente React. O GPTBot disparou o sinal do script inline 7 vezes até a revisão de outubro de 2026 e nunca disparou o do componente React. ClaudeBot, PerplexityBot, OAI-SearchBot, ChatGPT-User, os robôs da Amazon e o CCBot não dispararam sinal nenhum. O Applebot disparou o sinal depois de cerca de 90% das páginas que rastreou, e o Meta-ExternalAgent executou o código em visitas de agosto de 2026, ao contrário do que a tabela de 2024 registra para ele.

O próprio experimento declara duas ressalvas. O caminho inline não separa o robô que não executa o script do robô que bloqueia requisições com cara de sinal de medição, e a amostra do GPTBot é pequena. É um site de teste em Next.js, não documentação de fornecedor. Há também relatos isolados de renderização por robôs da OpenAI, sem confirmação da empresa.

A documentação dos robôs da OpenAI descreve GPTBot, OAI-SearchBot e ChatGPT-User pela função de cada um. Na leitura de 2 de novembro de 2026, nenhuma das três documentações oficiais, a da OpenAI, a da Anthropic e a da Perplexity, diz se o robô executa JavaScript.

Baixar o arquivo JavaScript e executar o arquivo JavaScript

O dado do estudo que mais confunde auditoria é que GPTBot e ClaudeBot baixam arquivos JavaScript sem rodá-los. Na amostra do nextjs.org, 11,50% das requisições do robô da OpenAI e 23,84% das do robô da Anthropic foram arquivos .js. Um log cheio de pedidos a bundles parece sinal de renderização. O robô guarda o código como texto, e o conteúdo que aquele componente montaria na tela nunca chega a existir para ele.

A Vercel faz uma ressalva importante para sites em Next.js. Conteúdo que já vem na resposta HTML inicial, como dados JSON embutidos ou o payload de React Server Components, pode ser aproveitado, porque o modelo interpreta texto que não é HTML. Some o que depende de execução no cliente depois do carregamento.

O mesmo levantamento mediu outro custo: 34,82% das requisições do robô do ChatGPT e 34,16% das do Claude caíram em páginas 404, a maioria atrás de arquivos antigos da pasta /static/. Para o Googlebot, a taxa foi de 8,22%.

O Google renderiza e ainda assim recomenda SSR

O Google Search processa páginas JavaScript em três fases, rastreamento, renderização e indexação, com uma versão sempre atualizada do Chromium. A documentação do Search Central, revista em março de 2026, avisa que a página pode passar segundos ou mais na fila de renderização e mantém a recomendação de renderizar no servidor ou pré-renderizar, com o argumento de que nem todo robô executa JavaScript.

A fila foi medida. No estudo anterior da Vercel com a MERJ, com mais de 37 mil pares de log e sinal de renderização em abril de 2024, o atraso ficou em 10 segundos na mediana, cerca de 3 horas no percentil 90 e cerca de 18 horas no percentil 99. O mesmo estudo mostrou que página com noindex no HTML inicial não foi renderizada, então JavaScript que remove a tag não tem efeito.

No estudo anterior da Vercel com a MERJ, com mais de 37 mil pares de log e sinal de renderização em abril de 2024, o atraso ficou em 10 segundos na mediana, cerca de 3 horas no percentil 90 e cerca de 18 horas no percentil 99.

Lucas Ferraz, especialista em SEO

O guia de recursos de IA do Google diz que AI Overviews e AI Mode não têm requisito técnico além dos da Busca. Na prática, uma página renderizada só no cliente pode entrar no índice do Google, aparecer como link de apoio no AI Mode e continuar vazia para ChatGPT, Claude e Perplexity.

SSR e CSR diante de cada superfície

A escolha entre SSR, SSG e CSR decide quais superfícies de IA recebem o texto da página. Renderização no servidor, geração estática e regeneração incremental entregam o HTML completo na primeira resposta, legível por qualquer robô. Renderização só no cliente entrega uma casca com uma div raiz e tags de script, que Google e Apple completam e os demais leem vazia.

Três elementos costumam ficar no cliente sem ninguém perceber:

  • JSON-LD injetado por gerenciador de tags: o Google aceita e o teste de resultados avançados aprova, porque renderiza. Para robôs sem execução, o grafo não existe;
  • Canonical e meta robots alterados por script: o Google pede que o JavaScript nunca mude o canonical definido no HTML original;
  • Links de navegação montados depois do carregamento: sem href no HTML inicial, o robô que não executa perde o caminho para as páginas internas.

Essa camada de acesso é a primeira da ordem de correção que a agência usa em como corrigir erros de Generative Engine Optimization, antes de qualquer ajuste de texto.

Como testar o que cada robô recebe?

O teste mais barato compara a resposta HTML crua com o DOM renderizado. Uma frase que só existe no conteúdo principal serve de marcador:

curl -s -A "GPTBot" https://exemplo.com/pagina/ | grep -c "frase que só existe no conteúdo"

Resultado zero indica que o texto depende de execução. Depois, vale comparar o código-fonte com o DOM nas ferramentas do navegador: o que aparece só no segundo não existe para os robôs sem renderização.

Para confirmar execução por robô, prefiro o método de sinal que a MERJ usou com o Googlebot. Um script mínimo chama um endereço próprio assim que roda, e o log mostra quem pediu a página e quem disparou o sinal:

<script>
  navigator.sendBeacon('/sinal-render?p=' + encodeURIComponent(location.pathname));
</script>

Se o log registra o GPTBot na página e nenhum pedido a /sinal-render com o mesmo user agent, o robô não executou o script. A leitura do log por função, treino, índice e visita a pedido do usuário, está em como identificar crawlers de IA no log do servidor.

O que eu mantenho no HTML da primeira resposta?

Neste site, tudo o que precisa ser citado sai no HTML da primeira resposta: texto, JSON-LD com um grafo por página e links internos. O único arquivo JavaScript alterna o esquema de cores e não toca em conteúdo. Aqui e no site da agência, cada página também tem uma versão em Markdown, servida pelo sufixo /md/ e pelo cabeçalho Accept: text/markdown, detalhada em Markdown para agentes de IA. A decisão vem do teste da Vercel: se só dois grupos de robôs renderizam, o texto que depende de execução fica fora de parte das superfícies de IA sem aviso nenhum.

Nota de método

O que foi medido
O que as documentações oficiais dos robôs da OpenAI, da Anthropic e da Perplexity dizem sobre execução de JavaScript, e o que um experimento publicado em 2026 registrou por robô.
Quando
2 de novembro de 2026.
Como
Leitura das três documentações e do experimento no mesmo dia, ao lado dos dois estudos da Vercel com a MERJ publicados em 2024.
Limitação
O experimento roda em um site de teste em Next.js e conta disparos de um sinal de execução, que mostra o mínimo que o robô executou e não o máximo. Documentação de fornecedor pode mudar sem aviso.

Os termos de medição estão definidos no vocabulário de medição, e o protocolo das rodadas na política editorial.

O que a IA desdobra desta pergunta?

Quando alguém faz esta busca em uma IA, o sistema abre subperguntas antes de responder. Estas são as que apareceram na medição, e onde cada uma é respondida.

Perguntas frequentes

Em parte. No teste da Vercel com a MERJ, de dezembro de 2024, o GPTBot baixou arquivos JavaScript sem executá-los. Em um experimento publicado em agosto de 2026 e revisto em outubro, ele disparou 7 vezes um sinal de script inline e nunca o do componente React, então texto montado no cliente segue fora do alcance dele.

Pelos robôs de rastreamento, não. No teste da Vercel com a MERJ, de dezembro de 2024, GPTBot, OAI-SearchBot e ChatGPT-User leram só o HTML inicial e baixaram arquivos JavaScript sem executá-los. Texto que aparece apenas depois da execução no navegador fica fora do que esses robôs recebem, mesmo quando o Google indexa a mesma página.

Enxergam, porque dependem do Googlebot. O Google renderiza com um Chromium sem interface, e o guia de recursos de IA do Search Central não impõe requisito técnico extra para AI Overviews e AI Mode. A renderização leva tempo: no estudo da Vercel com a MERJ, a mediana foi de 10 segundos e o percentil 99, cerca de 18 horas.

Só pelos que renderizam. O Google aceita dados estruturados gerados por JavaScript, mas GPTBot, ClaudeBot e PerplexityBot recebem apenas a resposta HTML inicial. Um JSON-LD inserido por gerenciador de tags passa no teste de resultados avançados, que renderiza a página, e continua ausente para os robôs que não executam código.

Fontes citadas

  1. Vercel e MERJ, The rise of the AI crawler (2024)
  2. Vercel e MERJ, How Google handles JavaScript throughout the indexing process (2024)
  3. Google Search Central, noções básicas de SEO para JavaScript (2026)
  4. Google Search Central, recursos de IA e o seu site (2025)
  5. OpenAI, Overview of OpenAI Crawlers (2026)

Histórico deste texto

  • : Definição de JavaScript SEO no topo, leitura de 2026 sobre execução de JavaScript pelos robôs de IA, documentações oficiais da OpenAI, da Anthropic e da Perplexity relidas em 2 de novembro de 2026 e uma pergunta nova no FAQ.