Visão do robô
A maioria dos robôs nunca desenha a sua página. Eles pegam o HTML que o seu servidor envia, ficam com as palavras e vão embora. Esta verificação mostra essas palavras na ordem em que um robô as encontra e aponta o que está faltando.
Toda página existe em duas cópias
A primeira cópia é o documento HTML que sai do seu servidor. A segunda é o que o navegador constrói a partir dele depois de carregar as folhas de estilo, executar os scripts e buscar o que esses scripts pedirem. As pessoas só veem a segunda cópia.
Os robôs trabalham principalmente com a primeira. O Googlebot renderiza as páginas com um Chrome sem interface, mas numa etapa posterior que pode atrasar e pode estourar o tempo. O Bingbot renderiza menos. Os robôs que alimentam assistentes de IA, e os buscadores de prévia dos aplicativos de chat e das redes sociais, em geral não executam JavaScript nenhum. Se o seu texto só existe na segunda cópia, boa parte do seu público de máquinas está recebendo uma página vazia.
Esta verificação pede a primeira cópia e para por aí. Nada é executado e nenhuma folha de estilo é aplicada.
Como ler a visão em texto puro
Percorremos o corpo da página na ordem do código-fonte e o mostramos como texto. Scripts, estilos, templates e desenhos SVG embutidos são ignorados. O resto é marcado assim:
#,##,###- Um título e o nível dele. Experimente ler só essas linhas. Elas deveriam funcionar como um sumário da página.
- Palavras sublinhadas
- Um link. Passe o mouse por cima para ver o endereço para onde ele leva.
[Image: …]- O texto
altde uma imagem. Uma imagem sem atributoaltaparece como faltando, com o nome do arquivo. Botões e campos de formulário aparecem entre colchetes do mesmo jeito. - Texto marcado como oculto
- Palavras que estão no HTML mas têm o atributo
hiddenou um estilo embutido comodisplay:none,visibility:hidden,font-size:0ou umtext-indentmuito negativo. - Texto marcado como noscript
- Conteúdo dentro de
<noscript>, que só os robôs e os visitantes sem JavaScript recebem.
Abaixo do texto vêm os números: tamanho do HTML, quantidade de palavras visíveis, proporção do HTML que é texto, scripts, links e imagens. Uma proporção de texto entre 10 e 30% é típica de uma página feita à mão ou num CMS. Com 1 ou 2%, o documento é quase só código.
O que dispara cada constatação
| Constatação | Regra aplicada |
|---|---|
| Conteúdo só depois do JavaScript | Menos de 60 palavras visíveis, junto com um destes: um contêiner de aplicação vazio (#root, #app, #__next, #__nuxt, app-root e parecidos), três ou mais scripts externos, mais de 50 KB de script embutido, ou mais de 150 KB nos arquivos de script principais. |
| Muito pouco texto | Menos de 150 palavras visíveis. |
| A página pede para não ser indexada | noindex ou none numa meta tag robots ou num cabeçalho X-Robots-Tag. |
| Google não autorizado | O caminho da página bate com uma regra Disallow que vale para o Googlebot no robots.txt. |
| Mais texto oculto que visível | As palavras ocultas superam as visíveis, com um mínimo de 80. |
| Links que os robôs não conseguem seguir | href="#", href="javascript:…", ou um onclick sem href. |
| Sem título de nível 1, imagens sem alt | Contados diretamente no HTML. |
O último bloco aplica o seu robots.txt a este endereço para dez robôs: Googlebot, Bingbot, Google-Extended, GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot, CCBot e Applebot-Extended. Um bloqueio do Googlebot conta como erro. Um bloqueio de um robô de IA só é informado, já que essa é uma escolha que você tem todo o direito de fazer. A verificação de acesso dos robôs de IA cobre uma lista maior para o site inteiro.
Como colocar o seu texto na primeira cópia
Se a verificação encontrou um contêiner vazio, a página é uma aplicação do lado do cliente. O servidor envia uma casca e o navegador a preenche. Estas são as soluções, da mais completa para a menos completa:
- Renderizar no servidor. Next.js, Nuxt, SvelteKit, Remix e Angular conseguem produzir HTML completo a cada requisição e depois ligar os scripts a ele. Normalmente é uma escolha de configuração, não uma reescrita.
- Gerar páginas estáticas no build. Para conteúdo que muda pouco, ferramentas como Astro, Gatsby ou a exportação estática dos frameworks acima gravam um arquivo HTML completo por página.
- Pré-renderizar para os robôs. Um serviço de pré-renderização guarda uma versão renderizada e a entrega aos robôs. Funciona, mas aí você passa a ter duas versões para cuidar.
Num CMS clássico como WordPress ou Drupal o HTML já contém o texto, e as constatações são menores: um preço mostrado só dentro de uma imagem, um menu cujos links são handlers onclick, ou um telefone numa imagem de banner com alt vazio.
O texto oculto só é detectado pelo atributo hidden e pelos estilos embutidos. Um texto escondido por uma classe numa folha de estilo externa conta como visível aqui, porque não carregamos folhas de estilo. Menus recolhidos, abas e acordeões são normais, e os mecanismos de busca não os penalizam.
Perguntas frequentes
O Google executa JavaScript quando rastreia uma página?
Sim, mas numa segunda etapa. O Google primeiro indexa o HTML que baixa, depois coloca a página na fila para renderização num Chrome sem interface. Essa etapa pode vir mais tarde, e pode não esperar por scripts lentos nem por conteúdo carregado na rolagem ou no clique.
Os robôs do ChatGPT, Claude e Perplexity executam JavaScript?
Em geral, não. GPTBot, ClaudeBot, PerplexityBot e CCBot baixam o HTML e leem o texto dele. Uma página que precisa de scripts para mostrar o conteúdo entrega pouco ou nada a eles.
Texto oculto é ruim para o SEO?
Não quando faz parte da interface. Menus, abas, acordeões e caixas de diálogo são indexados normalmente. O que os mecanismos de busca tratam como spam é texto escondido dos visitantes de propósito para acrescentar palavras-chave, como texto branco sobre fundo branco.
Qual é uma boa proporção entre texto e HTML?
Não existe meta e isso não é fator de ranqueamento. Páginas feitas com cuidado costumam ficar entre 10 e 30%. Um número muito baixo é só um indício de que o documento carrega muita marcação ou script embutido para a quantidade de conteúdo.
Por que a visão mostra quase nada do meu site?
O seu servidor envia uma casca de aplicação e o conteúdo é acrescentado no navegador. Abra o código-fonte da página (Ctrl+U ou Cmd+Option+U) e procure uma frase da sua página. Se ela não estiver lá, os robôs que ignoram JavaScript também não conseguem vê-la.