Os rastreadores de IA não executam seu JavaScript. Veja o que eles realmente recebem.
Se suas páginas são renderizadas no navegador, ChatGPT, Claude e Perplexity podem ler uma casca vazia. Como descobrir e como corrigir no Next.js, no React e em outros frameworks.
A maioria dos rastreadores de IA lê o HTML que seu servidor envia e nada além disso. Se a sua página de produto monta o conteúdo com JavaScript depois que a página carrega, um rastreador como o GPTBot ou o ClaudeBot pode receber uma página com cabeçalho, rodapé e um ícone de carregamento. Ele não tem como recomendar um produto que não consegue ler.
Quem renderiza e quem não renderiza
O Googlebot executa JavaScript. Ele coloca as páginas numa fila de renderização e indexa o que o navegador mostraria, e é por isso que sites renderizados no cliente ainda conseguem ranquear no Google. O Gemini e o Google AI Overviews usam o índice do Google, então herdam essa capacidade.
Os rastreadores por trás do ChatGPT, do Claude e do Perplexity são diferentes. Uma análise de tráfego de rastreadores feita em 2024 pela Vercel e pela MERJ mostrou que os rastreadores da OpenAI e da Anthropic baixavam os arquivos JavaScript, mas não os executavam. Até que algum fornecedor documente o contrário, parta do princípio de que esses rastreadores veem só o seu HTML bruto.
Essa diferença explica uma situação comum: um site que ranqueia bem no Google, mas nunca aparece nas respostas do ChatGPT sobre a própria categoria.
Como verificar suas páginas
Abra uma página de produto e use "Exibir código-fonte da página", não o inspetor de elementos. O inspetor mostra a página depois que o JavaScript rodou. O código-fonte mostra o que um rastreador que não renderiza recebe.
Procure no código-fonte uma frase que você vê na página, como o título principal ou um preço. Se ela estiver lá, os rastreadores conseguem ler. Se o código-fonte tiver só uma <div> raiz e tags de script, seu conteúdo é renderizado no navegador.
Você também pode buscar a página pelo terminal:
curl -s https://yourdomain.com/pricing | grep -i "per month"Se não houver resultado, o texto de preços nunca chega a um rastreador que ignora JavaScript.
A auditoria de prontidão para IA grátis do Promptvane faz isso na sua página inicial e numa amostra de páginas do sitemap, e sinaliza qualquer página cujo HTML quase não tenha texto.
Correções por framework
O objetivo é o mesmo em todos os casos: enviar o conteúdo já na primeira resposta HTML.
No Next.js com App Router, as páginas são Server Components por padrão e renderizam no servidor. O problema começa quando uma página inteira é marcada com 'use client' e busca os dados em useEffect. Leve a busca de dados para o Server Component (ou para generateStaticParams, no caso de páginas estáticas) e deixe 'use client' só para as partes interativas.
No Next.js com Pages Router, use getStaticProps ou getServerSideProps nas páginas de conteúdo em vez de buscar os dados no cliente.
Em um app React ou Vue de página única criado com Vite, adicione pré-renderização para as páginas públicas ou leve as páginas de marketing para um framework que renderize no servidor, como Next.js, Nuxt, Astro ou Remix.
WordPress, Webflow e a maioria dos criadores de sites hospedados já renderizam no servidor. Confira os page builders e plugins que carregam conteúdo por widgets em JavaScript, como carrosséis de avaliações e tabelas de preços.
Conteúdo que se esconde de outras formas
A renderização no servidor não é a única armadilha. Conteúdo dentro de abas e acordeões não tem problema, desde que esteja no HTML; conteúdo carregado só quando alguém clica na aba, sim. Texto dentro de imagens é invisível para rastreadores que não fazem OCR. Preços inseridos por um script de checkout de terceiros muitas vezes nem aparecem no seu código-fonte.
FAQ
Se o Googlebot renderiza JavaScript, está tudo certo?
Para a Busca Google, quase sempre. Para ChatGPT, Claude e Perplexity, não. Não há evidência de que os rastreadores deles executem JavaScript, então o conteúdo que só existe depois da renderização provavelmente fica invisível para eles.
Basta renderizar a página inicial no servidor?
Não. Os assistentes costumam citar a página que responde à pergunta: uma página de preços, uma comparação, uma página de recurso. Toda página que você quer ver citada precisa ter o conteúdo no HTML.
A renderização no servidor prejudica o desempenho?
Geralmente acontece o contrário. Páginas renderizadas no servidor e páginas estáticas mostram o conteúdo mais cedo, o que também ajuda nas Core Web Vitals.