O GPTBot e o PerplexityBot leem o seu HTML em bruto e ignoram o seu JavaScript por completo. O Beacon renderiza a sua página num navegador headless real e mostra-lhe exatamente o conteúdo — e as palavras-chave — que os motores de IA nunca veem.
Crawlers de IA como o GPTBot (OpenAI / ChatGPT), o PerplexityBot, o ClaudeBot e o Amazonbot pedem o seu URL e analisam o HTML em bruto que recebem — os mesmos bytes que veria com "Ver código-fonte". Não iniciam um motor de navegador nem correm os seus scripts. Por isso, uma aplicação de página única que entrega um root div quase vazio e injeta todo o conteúdo real com JavaScript parece completa a um humano e em branco a um bot. Pode posicionar-se no Google, parecer perfeito aos visitantes e mesmo assim ser invisível aos motores de IA aos quais os seus compradores pedem recomendações.
Obtemos o HTML estático da sua página tal como um crawler que não renderiza faz, carregamos o mesmo URL num navegador headless real para capturar o DOM renderizado e depois comparamos os dois — reportando a percentagem de conteúdo que só existe depois de o JavaScript correr, as palavras-chave exatas em falta na versão estática e o seu modo de renderização (no servidor, híbrido ou no cliente), para que saiba instantaneamente quão exposto está.
A correção segue sempre o mesmo princípio: coloque o seu conteúdo importante no HTML que o servidor envia, antes de qualquer JavaScript correr — através de renderização no servidor, geração estática ou renderização dinâmica para bots. No mínimo, garanta que os cabeçalhos, o texto do corpo, os preços e as respostas de FAQ estão presentes no HTML estático em vez de serem obtidos e injetados por JavaScript no cliente.
Quase nenhum o faz. O GPTBot (ChatGPT/OpenAI), o PerplexityBot, o ClaudeBot, o Amazonbot e a maioria dos outros crawlers de IA obtêm o seu HTML em bruto e analisam-no tal como está. Não iniciam um motor de navegador para correr o seu JavaScript, pelo que qualquer conteúdo injetado por JS após o carregamento é efetivamente invisível para eles.
Um render gap é a diferença entre o seu HTML estático (o que os crawlers de IA descarregam) e o seu DOM renderizado por JavaScript (o que um humano num navegador vê). O Beacon exprime-o como a percentagem de conteúdo visível e o conjunto de palavras-chave que só existem depois de o JavaScript ser executado. Um render gap grande significa que os motores de IA estão a ler uma página quase vazia.
Depende de como renderiza. Uma aplicação React puramente renderizada no cliente (ex.: SPA com Vite ou create-react-app) entrega uma casca HTML quase vazia e constrói tudo com JS — esse é um render gap máximo. O Next.js, o Remix, o Astro e frameworks semelhantes conseguem renderizar no servidor ou gerar páginas estaticamente, o que fecha a lacuna — mas apenas para as rotas que configura efetivamente assim. O Beacon verifica o resultado real em vez de assumir.
Mova o seu conteúdo importante para o HTML que o servidor envia. As principais opções são a renderização no servidor (SSR), a geração de site estático (SSG / pré-renderização em tempo de build) e a renderização dinâmica, em que serve um snapshot HTML pré-renderizado aos bots. No mínimo, garanta que os cabeçalhos, o texto do corpo, os preços e as respostas de FAQ estão presentes no HTML estático em vez de serem obtidos e injetados por JavaScript no cliente.
Na maior parte sim — o Googlebot corre um motor de renderização moderno e executa o seu JavaScript numa segunda passagem, pelo que o conteúdo renderizado no cliente ainda se pode posicionar (embora a renderização seja mais lenta e possa ser adiada). A diferença crítica é a pesquisa por IA: o GPTBot, o PerplexityBot e a maioria dos crawlers de LLM não renderizam JavaScript de todo. Por isso pode passar numa verificação de JS-SEO do Google e mesmo assim ser invisível ao ChatGPT e ao Perplexity.
Conta gratuita — classificação do modo de renderização, as palavras-chave que os bots perdem e como fechar a lacuna.