· GEO  · 11 min read

Crawlers de IA Renderizam JavaScript? A Verdade (2026)

Crawlers de IA como GPTBot e ClaudeBot renderizam JavaScript? A resposta é não — e isso deixa sites em React invisíveis. Veja como garantir que a IA leia você.

Crawlers de IA como GPTBot e ClaudeBot renderizam JavaScript? A resposta é não — e isso deixa sites em React invisíveis. Veja como garantir que a IA leia você.

Não, os principais crawlers de IA não renderizam JavaScript. GPTBot (OpenAI), ClaudeBot (Anthropic) e PerplexityBot baixam o HTML bruto da sua página e extraem o texto que já está ali. Se o seu conteúdo só aparece depois que o JavaScript roda no navegador, para essas IAs ele simplesmente não existe.

Esse é um dos pontos cegos mais caros do GEO em 2026. A empresa investe em conteúdo, o time de dev entrega um site lindo em React ou Vue, a página ranqueia no Google — e mesmo assim a marca some das respostas do ChatGPT. Não é falta de autoridade nem de schema. É que o robô da OpenAI abriu sua página, encontrou uma casca vazia de HTML e foi embora. Neste guia eu mostro por que isso acontece, como descobrir se o seu site tem o problema e o que fazer para resolver sem reconstruir tudo.

O que significa “renderizar JavaScript” para um crawler?

Renderizar JavaScript é executar o código que monta a página no navegador, transformando um HTML inicial quase vazio no conteúdo final que o usuário vê. Sites modernos costumam entregar uma casca mínima e deixar que o JavaScript busque textos, preços e descrições depois — esse passo extra é a renderização.

Vale separar dois momentos que muita gente confunde. Primeiro o servidor devolve o HTML inicial. Depois o navegador (ou o robô) executa o JavaScript e produz o DOM final, com todo o conteúdo dinâmico injetado. Um crawler que só lê o primeiro momento vê uma coisa; um que renderiza vê outra completamente diferente.

O Googlebot faz os dois. Desde 2019, o Google usa uma versão evergreen do Chromium para renderizar páginas, sempre atualizada junto com o navegador. Ou seja: o Google roda o seu JavaScript, espera o conteúdo aparecer e só então indexa. É por isso que sites em React conseguem ranquear bem na busca tradicional.

O problema é que quase nenhum robô de IA se comporta assim.

Os crawlers de IA renderizam JavaScript? O que os dados mostram

A resposta curta é não, e agora existe dado duro para provar. Em dezembro de 2024, a Vercel analisou o comportamento dos crawlers de IA em sua rede, junto com a agência MERJ, e chegou a uma conclusão direta: “nenhum dos principais crawlers de IA renderiza JavaScript atualmente”.

A lista inclui os pesos-pesados que você quer impressionar:

  • OpenAI: OAI-SearchBot, ChatGPT-User e GPTBot
  • Anthropic: ClaudeBot
  • Perplexity: PerplexityBot
  • Meta: Meta-ExternalAgent
  • ByteDance: Bytespider

O detalhe mais revelador do estudo é que esses robôs até baixam arquivos JavaScript — só não os executam. O crawler do ChatGPT buscou arquivos JS em 11,50% das requisições e o da Anthropic em 23,84%, mas em nenhum dos casos rodou o código. É como pegar o livro de receitas e nunca acender o fogão.

Para dimensionar o volume envolvido, o mesmo levantamento registrou 569 milhões de requisições do GPTBot no período — contra 4,5 bilhões do Googlebot. O GPTBot ainda é menor que o Google, mas cresce rápido e é a porta de entrada do conteúdo que abastece o ChatGPT. Cada uma dessas centenas de milhões de visitas que bate num HTML vazio é uma citação que você não vai receber.

Aqui mora a assimetria que quase ninguém no Brasil comenta: o Google renderiza, as IAs não. Se a sua estratégia de conteúdo se apoia só no que funciona para o Googlebot, você está otimizando para o único robô que perdoa JavaScript pesado — e ignorando os que vão definir sua visibilidade nos próximos anos. Se você ainda está montando essa base, comece pelo guia definitivo de SEO para IA, que cobre o quadro completo.

Por que um site que ranqueia no Google pode sumir do ChatGPT?

Porque os dois olham para versões diferentes da mesma página. O Google vê o DOM renderizado, com todo o conteúdo. O GPTBot vê o HTML cru, muitas vezes sem quase nada. Uma página pode estar em primeiro lugar na busca e, ao mesmo tempo, ser uma folha em branco para toda IA que não executa JavaScript.

Na prática, o padrão que mais causa esse buraco é o Client-Side Rendering (CSR) — a abordagem clássica de aplicações React, Vue e Angular puras. O servidor manda algo assim:

<body>
  <div id="root"></div>
  <script src="/bundle.js"></script>
</body>

O <div id="root"> vazio é literalmente tudo que o GPTBot lê. Título do produto, descrição, preço, FAQ, avaliações — nada disso está no HTML inicial. Tudo é injetado depois pelo bundle.js, que o robô baixa mas não roda. Já auditei lojas em Shopify com apps de avaliações que carregam via JavaScript e e-commerces em React onde a ficha técnica inteira do produto entrava por chamada de API. No Google, tudo indexado. No ChatGPT e no Perplexity, invisível.

Esse é um caso em que o problema não é de conteúdo nem de estratégia — é de arquitetura de entrega. E o pior é que ele é silencioso: nenhum relatório de SEO tradicional acende um alerta, porque a métrica que você acompanha (posição no Google) continua saudável enquanto a visibilidade em IA sangra sem aparecer em lugar nenhum. Por isso a auditoria GEO precisa checar renderização, não só ranking.

Como saber se o seu conteúdo depende de JavaScript?

Dá para diagnosticar em cinco minutos, sem ferramenta paga. A lógica é simples: veja a página do jeito que o robô vê, ou seja, sem executar JavaScript. Se o texto some, você tem o problema.

Três testes que uso em toda auditoria, do mais rápido ao mais completo:

  1. Ver código-fonte (não o inspetor). No navegador, aperte Ctrl+U (ou Cmd+U no Mac). Isso mostra o HTML bruto que o servidor entregou — exatamente o que o GPTBot recebe. Use Ctrl+F e procure uma frase específica do seu conteúdo principal. Não achou? O crawler de IA também não acha. Atenção: o “Inspecionar elemento” mostra o DOM já renderizado e vai te enganar; use sempre “Ver código-fonte”.
  2. Desligar o JavaScript. Nas DevTools do Chrome, abra o menu de comandos (Ctrl+Shift+P), digite “Disable JavaScript” e recarregue a página. O que sobrar na tela é aproximadamente o que a IA lê. Se a página ficar vazia ou quebrada, está confirmado.
  3. Comparar HTML cru com DOM. Ferramentas como o teste de resultados aprimorados do Google ou um simples curl na URL devolvem o HTML inicial. Compare o tamanho e o conteúdo com o que você vê no navegador. Uma diferença grande é o tamanho exato do seu ponto cego.

Faça o teste 1 agora mesmo, no seu produto mais importante. É o tipo de coisa que, quando dá ruim, dá muito ruim — e quando você descobre, resolve rápido.

6 formas de garantir que a IA leia seu conteúdo

O objetivo é um só: colocar o conteúdo que importa dentro do HTML inicial, antes de qualquer JavaScript rodar. Abaixo, as abordagens que funcionam, da mais robusta à mais pontual.

  1. Server-Side Rendering (SSR). O servidor monta o HTML completo a cada requisição e entrega a página já preenchida. Frameworks como Next.js (React) e Nuxt (Vue) fazem isso com configuração mínima. É a melhor opção para conteúdo que muda toda hora, como preços e estoque.
  2. Static Site Generation (SSG). As páginas são geradas em HTML puro no momento do build e servidas prontas. É o modelo mais rápido e mais amigável a crawler que existe — este site, por exemplo, roda em Astro e entrega HTML estático justamente por isso. Ideal para blog, documentação e páginas institucionais.
  3. Prerendering para bots. Um serviço detecta o user-agent do crawler e entrega uma versão pré-renderizada só para ele, mantendo o CSR para humanos. Resolve sem reescrever o app inteiro. Serve como ponte, mas adiciona uma camada a manter.
  4. Hidratação parcial / ilhas. Arquiteturas de “islands” (Astro, Fresh) entregam HTML estático e só hidratam com JavaScript os componentes que realmente precisam de interação. Você fica com o melhor dos dois mundos: conteúdo no HTML e interatividade onde faz sentido.
  5. Conteúdo crítico fora do JavaScript. Regra prática: título, primeiro parágrafo, resposta direta, dados e FAQ nunca devem depender de uma chamada de API para aparecer. Deixe o JavaScript para carrosséis, filtros e chat — não para o texto que você quer que seja citado.
  6. Reforce o que já está no HTML. Com o conteúdo garantido no HTML inicial, potencialize a leitura com schema markup em JSON-LD e uma boa estrutura de blocos. Aqui vale entender também o chunking de conteúdo para IA, porque não basta o texto existir: ele precisa estar organizado em trechos que a IA consiga recortar e citar.

Repare que nenhuma dessas soluções pede que você abandone React ou Vue. O que muda é quando e onde o HTML é montado — no servidor, antes de chegar ao robô, em vez de no navegador do usuário.

SSR, SSG ou prerendering: qual escolher?

Depende de quão dinâmico é o seu conteúdo e de quanto do stack você pode mexer. Não existe resposta única, mas dá para decidir rápido com três perguntas.

O conteúdo muda a cada acesso (preço, estoque, personalização)? Vá de SSR — é o único que garante HTML fresco em tempo real. O conteúdo é relativamente estável (artigos, páginas de serviço, guias)? SSG entrega mais velocidade e menos custo de servidor, e é imbatível para GEO. Não pode tocar na arquitetura agora e precisa de uma solução rápida? Prerendering resolve o urgente, mas trate como paliativo, não como destino.

Uma comparação numérica ajuda a fechar a conta. Num CSR puro, a quantidade de conteúdo textual que o GPTBot lê tende a zero — ele vê a casca e para. Com SSR ou SSG, esse número vai para 100% do texto renderizado no servidor. Não é uma melhoria de 10% ou 20%; é a diferença entre existir e não existir para a IA. Poucas mudanças técnicas em SEO têm um retorno tão binário.

Se você usa WordPress, boa notícia: por padrão ele já entrega HTML no servidor, então o risco costuma vir de plugins e page builders que injetam conteúdo via JavaScript. Cobri isso em detalhe no guia de WordPress para GEO.

FAQ: crawlers de IA e JavaScript

O GPTBot executa JavaScript?

Não. O GPTBot baixa o HTML e extrai o texto que já está nele. A análise da Vercel e da MERJ encontrou zero execução de JavaScript pelo GPTBot, mesmo quando ele baixava os arquivos JS (o que ocorreu em 11,50% das requisições). Todo conteúdo injetado no navegador passa despercebido.

E o Google, renderiza JavaScript?

Sim. O Googlebot usa uma versão evergreen do Chromium desde 2019 e renderiza a página antes de indexar. É por isso que um site em CSR pode ranquear no Google e, ainda assim, ser invisível para ChatGPT, Claude e Perplexity — que não renderizam.

O Gemini vê conteúdo em JavaScript?

O Gemini se apoia na infraestrutura de busca do Google, que renderiza JavaScript. Então conteúdo que o Google já indexou tem caminho para chegar ao Gemini. Ainda assim, a recomendação vale: não dependa de renderização. Coloque o conteúdo crítico no HTML inicial e você fica coberto em todas as IAs de uma vez.

Meu site é React. Preciso jogar tudo fora?

Não. Você continua com React — o que muda é onde o HTML é gerado. Migrar para Next.js com SSR ou SSG, adotar arquitetura de ilhas ou colocar uma camada de prerendering resolve o problema sem reescrever a aplicação do zero.

Como testo isso sem ferramenta paga?

Abra “Ver código-fonte” (Ctrl+U) e procure uma frase do seu conteúdo principal com Ctrl+F. Se não encontrar o texto no HTML bruto, os crawlers de IA também não encontram. É o teste mais rápido e mais honesto que existe.

Lazy loading de conteúdo atrapalha?

Pode atrapalhar, sim, se o texto principal só carrega via JavaScript ao rolar a página ou clicar. Para imagens e vídeos, lazy loading é ótimo. Para o texto que você quer que seja citado, evite: mantenha-o no HTML desde o primeiro carregamento.

Isso vale para todas as IAs?

Vale para as que não renderizam, que hoje são a maioria: GPTBot, ClaudeBot, PerplexityBot, Meta-ExternalAgent e Bytespider. A exceção é o ecossistema do Google, que renderiza. Como o cenário muda rápido, a aposta segura é sempre servir o conteúdo no HTML inicial.

Coloque seu conteúdo onde a IA consegue ler

O trabalho de GEO mais bem-feito do mundo não sobrevive a um HTML vazio. Antes de pensar em schema, autoridade ou backlinks, garanta o básico: que o texto que importa esteja no HTML inicial, visível para um robô que não vai rodar o seu JavaScript. É uma correção técnica de fundação, e ela destrava tudo que vem depois.

Faça hoje o teste do Ctrl+U na sua página mais estratégica. Se o conteúdo não estiver lá, você acabou de encontrar o motivo pelo qual a IA ignora sua marca. E se quiser um diagnóstico completo de por que seu site aparece (ou não) nas respostas de IA, peça um diagnóstico gratuito — a gente checa renderização, estrutura e citações de ponta a ponta.

Back to Blog

Related Posts

View All Posts »