Habr AI→ original

Modelos de IA veem um esqueleto vazio em vez do site: crawlers de IA não executam JavaScript

Um cenário familiar: o site aparece no topo do Google, o tráfego e as conversões vão bem, mas, quando alguém pergunta sobre a empresa, o ChatGPT cita três concorrentes ou repete dados de dois anos atrás. A equipe do Habr testou o próprio site com consultas a diferentes modelos e examinou o que a infraestrutura deles realmente recebe. O resultado: parte dos crawlers de IA não executa JavaScript, e o que chega ao modelo é um esqueleto vazio da página, não o artigo. • Reescrever textos e montar FAQs costuma não resolver: o modelo responde com base no que chegou até ele. • Sites montados no navegador ficam praticamente vazios para esses crawlers. • O problema pode ser verificado e corrigido sem mudar o conteúdo.

Processado por IA de Habr AI; editado por Hamidun News
Modelos de IA veem um esqueleto vazio em vez do site: crawlers de IA não executam JavaScript
Fonte: Habr AI. Colagem: Hamidun News.
◐ Ouvir artigo

O site está no topo da busca, o tráfego segue chegando e as conversões se mantêm. Mesmo assim, quando alguém pergunta ao ChatGPT «que empresa é a X», ele cita três concorrentes ou repete fatos de dois anos atrás. Os autores de uma análise recente publicada no Habr passaram o próprio site por consultas a diferentes modelos, examinaram o que a infraestrutura deles recebe e chegaram a uma conclusão prosaica. Conteúdo havia de sobra. Ele simplesmente não chegava ao modelo: parte dos crawlers de IA não executa JavaScript e, em vez do artigo, enxerga um esqueleto vazio da página.

Por que «mais conteúdo» não resolve

A primeira reação de profissionais de marketing e desenvolvedores é previsível: reescrever os textos, acrescentar expertise, montar um FAQ. A hipótese é lógica, mas, pela experiência dos autores, quase nunca se confirma. A rede neural responde não com base no que está escrito no seu site, e sim no que chegou até ela. Se o conteúdo se perde entre o servidor e o modelo, qualquer ajuste de texto erra o alvo.

A principal fonte de perdas é simples. Sites modernos em React, Vue ou Angular costumam entregar ao navegador um HTML mínimo e scripts, e o texto em si só é montado no lado do cliente. O usuário vê a página pronta. Já um crawler que não executa JavaScript recebe `<div id="root"></div>` e nada mais.

Medições independentes confirmam isso. Em um estudo da Vercel e da MERJ do final de 2024, os pesquisadores analisaram o tráfego dos bots da OpenAI e da Anthropic: eles requisitavam arquivos JavaScript, mas não os executavam. O Googlebot, ao contrário, renderiza as páginas por completo, e é por isso que um site pode estar em ordem para a busca e vazio para a rede neural.

Onde o conteúdo se perde no caminho

O caminho entre o site e a resposta do modelo tem várias etapas, e qualquer uma pode falhar:

  • Renderização: o texto só aparece depois da execução do JS, e o crawler não o executa.
  • Acesso: robots.txt, WAF ou proteção antibot bloqueiam GPTBot, ClaudeBot, PerplexityBot e bots semelhantes.
  • Conteúdo oculto: dados-chave ficam em abas, acordeões e janelas modais carregados apenas após um clique.
  • Cache desatualizado: o modelo se baseia em uma cópia antiga da página ou em menções de terceiros, e não no site atual.
  • Estrutura fraca: faltam títulos, marcação schema.org e datas de atualização que permitam identificar o que é mais recente.

Vale distinguir os crawlers de treinamento dos crawlers de busca. Os primeiros coletam dados para treinar modelos; os segundos buscam páginas no momento em que o usuário recebe a resposta. Bloquear os primeiros não deveria excluir os segundos, mas, na maioria das empresas, as regras do robots.txt são escritas em uma única linha para todos de uma vez.

O que verificar e corrigir

É possível começar em quinze minutos e sem contratar terceiros.

1. Abra o código-fonte da página (view-source) ou execute um `curl` e veja se o texto principal está no HTML. Se houver apenas scripts, o problema está encontrado. 2. Repita a requisição com o User-Agent dos bots de IA. Se o servidor devolver 403 ou um captcha, o acesso está fechado na camada de proteção, e não no conteúdo. 3. Verifique o robots.txt e as regras da CDN: quais bots estão liberados e quais foram bloqueados de propósito. 4. Compare as respostas de diferentes modelos a perguntas sobre a empresa e anote quais fatos eles conhecem e quais confundem.

Se o texto não estiver no HTML, a solução é renderização no servidor (SSR) ou geração estática (SSG): Next.js, Nuxt e Astro oferecem isso de fábrica. Em projetos antigos, às vezes basta um pré-renderizador para os bots conhecidos. Depois, vale mover o que é importante para HTML puro: descrição do produto, preços, contatos, datas de atualização. Adicione marcação estruturada e mantenha o sitemap atualizado, com lastmod correto.

O formato llms.txt às vezes é sugerido como solução à parte. Mas ainda há poucos dados confiáveis sobre seu impacto real nas respostas dos modelos, e não convém colocá-lo à frente do básico, que é a acessibilidade do conteúdo. Primeiro é preciso garantir que a página possa ser lida sem um navegador. Todo o resto só funciona depois disso.

ZK
Hamidun News
Notícias de AI sem ruído. Seleção editorial diária de mais de 50 fontes. Produto de Zhemal Khamidun, Head of AI na Alpina Digital.
✦ Enterprise AI & Advisory

Executive AI Consulting, Custom Agents & Team Workshops

Work directly with Zhemal Khamidun at hamidun.com — enterprise AI architecture, production RAG & multi-agent systems, and executive training.

Book AI Consultation →Explore NomadNet AI
O que você acha?
Carregando comentários…