O que é JavaScript SEO? Como fazer o Google ler sites em JavaScript
JavaScript SEO é o conjunto de práticas técnicas que garante que o Google consiga rastrear, renderizar e indexar páginas construídas com JavaScript. Ele cuida de links, conteúdo, metadados e status de resposta em sites feitos com frameworks como React, Vue, Angular e Next.js, para que nada importante dependa de uma interação do usuário.
Sites em JavaScript ranqueiam normalmente quando são bem construídos. O problema é que um erro de arquitetura atinge o site inteiro de uma vez: um menu sem links reais ou uma rota errada afeta todas as páginas daquele template. Nos dados do SE Ranking para o Brasil, "javascript seo" tem 70 buscas por mês e "react seo" tem 30, quase sempre de quem desenvolve ou audita esse tipo de site.
Como funciona o JavaScript SEO
O Google processa aplicações em JavaScript em três fases: rastreamento, renderização e indexação. O Googlebot baixa o HTML, a página entra em uma fila e um Chromium sem interface executa os scripts quando há recursos disponíveis. Só depois disso o conteúdo gerado por JavaScript fica visível para a indexação.
Essa sequência cria dois pontos de atenção. O primeiro é tudo o que está no HTML inicial, como status de resposta, robots meta e canonical, que o Google lê antes de rodar qualquer script. O segundo é tudo o que só existe depois da execução, como textos carregados por API. O JavaScript SEO confere se cada informação importante está na fase certa.
O que verificar em um site JavaScript
Estes são os pontos cobertos pela documentação do Google, com o jeito certo de resolver cada um:
- Links rastreáveis. Use
<a href="/produtos/tenis">. Um elemento como<span onclick="irPara('/produtos/tenis')">não é um link para o Google. - Rotas com History API. Em aplicações de página única, use URLs como
/produtos/tenis. URLs com fragmento, como/#/produtos/tenis, são tratadas como má prática. - Título e descrição únicos. O JavaScript define a title tag e a meta description de cada rota. Sem isso, todas as páginas herdam o título do arquivo principal.
- Canonical no HTML. O Google prefere a tag no código original. Se o script alterar o valor, ele precisa bater com o do HTML, e a página deve ter uma só tag.
- Soft 404 tratado. Aplicações de página única devolvem status 200 até para rotas inexistentes. As duas saídas indicadas são redirecionar via JavaScript para uma URL que responde 404 ou inserir
<meta name="robots" content="noindex">na tela de erro. - Arquivos com impressão digital no nome. O Googlebot mantém cache agressivo e ignora cabeçalhos de cache em alguns casos. Nomes como
app.a1b2c3.jsforçam o download da versão nova. - Conteúdo sem interação. O Googlebot não clica em botões nem digita em campos. Texto que só aparece depois de um clique fica fora do índice.
Por que o JavaScript SEO importa
- Protege o site inteiro. Em um framework, um componente alimenta centenas de páginas. Corrigir o template corrige todas elas.
- Economiza recursos de rastreamento. Rotas infinitas e parâmetros gerados por filtros consomem crawl budget em páginas sem valor.
- Abre o conteúdo para robôs que não executam scripts. O estudo "The rise of the AI crawler", da Vercel com a MERJ, publicado em dezembro de 2024, concluiu que os principais rastreadores de IA analisados, incluindo os da OpenAI, da Anthropic e da Perplexity, não executavam JavaScript. Quem quer aparecer em respostas de IA precisa do conteúdo principal no HTML inicial.
Como auditar o JavaScript SEO do seu site
- Leia o HTML inicial. Rode
curl -s https://seusite.com/paginae procure o título, o texto principal e os links do menu. - Teste a versão do Google. Na Inspeção de URL do Search Console, rode "Testar URL ativa" e abra "Ver página testada" para conferir o HTML renderizado.
- Confira o bloqueio de recursos. Os arquivos de JavaScript e CSS precisam estar liberados no robots.txt. O Google não executa nada que esteja bloqueado.
- Teste uma rota que não existe. Abra
/pagina-que-nao-existee veja o status code HTTP no painel Network do DevTools. Status 200 em tela de erro indica soft 404. - Rastreie em dois modos. No Screaming Frog, rode o site em HTML puro e depois com JavaScript ligado. A diferença de links e texto mostra o que depende de script.
- Liste as páginas no sitemap. O sitemap dá ao Google as URLs certas mesmo quando a navegação depende de scripts.
Um exemplo: um portal de vagas em React lista as cidades em um seletor que troca os resultados na mesma URL, sem link próprio. O Google vê uma única página de listagem, e as vagas de cada cidade não têm endereço para ranquear. A correção é criar rotas como /vagas/curitiba, com History API, links reais em <a href> e título próprio em cada cidade, servidas com SSR no Next.js.
Se o seu site usa um framework de JavaScript e o tráfego não acompanha o tamanho do catálogo, o diagnóstico de SEO gratuito da ASM Digital mostra o que o Google consegue ler.
Erros comuns
- Usar noindex como estado inicial. Ao encontrar o noindex no HTML original, o Google pula a renderização, e o script que removeria a tag nunca roda. Se a página deve ser indexada, deixe a tag fora do código inicial.
- Testar só no navegador do desenvolvedor. O site funciona na máquina local e falha quando uma API exige login ou bloqueia o Googlebot.
- Carregar o texto principal por interação. Abas e botões "ver mais" que buscam o conteúdo no clique deixam esse texto fora da leitura do Google.
- Adotar renderização dinâmica em projeto novo. O Google a classifica como solução paliativa e recomenda SSR, renderização estática ou hidratação.
- Publicar rotas sem título próprio. Centenas de páginas com o mesmo título geram sinais de duplicação.
JavaScript SEO vs SEO técnico
SEO técnico é a área inteira que cuida de rastreamento, indexação, arquitetura e performance. JavaScript SEO é uma especialidade dentro dela, voltada ao que muda quando o conteúdo depende de scripts. Um site em HTML estático precisa de SEO técnico e dispensa quase toda esta lista. Um site em React precisa dos dois.
Perguntas frequentes
O Google consegue ler sites em React?
Sim. O Google executa JavaScript com um Chromium sem interface e indexa o HTML gerado. O resultado depende de links reais, rotas com URL própria e conteúdo disponível sem interação.
Preciso migrar para Next.js por causa de SEO?
Não necessariamente. Migre quando a auditoria mostrar conteúdo ou links ausentes no HTML que o Google lê. Next.js facilita o SSR, mas o framework sozinho não corrige rotas e metadados errados.
Dados estruturados inseridos por JavaScript funcionam?
Sim, o Google aceita JSON-LD gerado por script. Valide o resultado no Teste de pesquisa aprimorada, que mostra o HTML renderizado.
Termos relacionados
Sites em JavaScript pedem revisão de template, rotas e renderização em conjunto. A equipe de SEO técnico da ASM Digital audita o código junto com o time de desenvolvimento e prioriza o que destrava o rastreamento.
