
SEO JavaScript
Encontrar e desbloquear gargalos tem mais potencial do que qualquer outra parte do SEO.
Bartosz Góralewicz
JavaScript e SEO
O crescimento da área de desenvolvimento de interface (front-end) nesses últimos anos e a proliferação de novas tecnologias JavaScript como frameworks (AngularJS, Vue.js, etc.), bibliotecas (jQuery, React, etc.) e softwares (Node.js), criaram novas problemáticas e oportunidades de SEO.
O JavaScript veio para ficar, ele é uma ótima opção para tornar as páginas do seu site mais interativas e menos entediantes.
Contudo, é também uma ótima maneira de acabar com o desempenho SEO de um site quando implementado de forma errada e até o Google admite e alerta oficialmente que: “o lado do servidor ou a pré-renderização ainda é uma ótima ideia porque torna seu site mais rápido para usuários e rastreadores, e nem todos os bots podem executar JavaScript”.
E quando se trata de um portal de notícias por exemplo, ele vai até além, dizendo que: “As páginas dos seus artigos devem usar o formato HTML e o corpo do texto não estar incorporado em JavaScript” e que “O Googlebot-News tem mais capacidade de rastrear links HTML”.
“JavaScript SEO” é um conceito relativamente novo. Ele começou a ficar popular por volta de 2016, quando foram publicados os primeiros experimentos que demostraram que o Google tinha dificuldades em renderizar o JavaScript e indexar conteúdo gerado por ele. Ele engloba tudo o que você precisa fazer para que um site baseado em JavaScript tenha um bom desempenho nos mecanismos de pesquisa e é uma especialização dentro do SEO técnico.
Apesar da complexidade, quando os desenvolvedores e SEOs colaboram de forma aberta e produtiva, sites baseados em JavaScript podem funcionar muito bem na pesquisa.
Googlebot e JavaScript
Antes de tudo, você precisa entender dois pontos em relação ao robô do Google.
O primeiro é que ele não interage com seu conteúdo, como um usuário humano faria. Por exemplo, ele não tem a capacidade de clicar em botões para expandir ou recolher o conteúdo (botões, abas, acordeões), ele só consegue enxergar o conteúdo disponível no HTML sem qualquer interação adicional. Ele também não rola através das páginas. Portanto, se o seu conteúdo estiver “escondido” atrás de uma quantidade infinita de rolagens, o Google não irá enxergá-lo.
O segundo é que o renderizador do Google tem limites de tempo. Se demorar muito para processar seu script, o Google pode simplesmente ignorá-lo.
O Googlebot processa sites e aplicativos em JavaScript em várias fases:

- Fila de rastreamento: Ele mantém o controle de cada URL que precisa ser rastreado e é atualizado continuamente;
- Rastreador: Quando o rastreador recebe URLs da fila de rastreamento, ele solicita seu HTML;
- Processamento: O HTML é analisado e podem acontecer várias coisas nessa fase (volta para fila de rastreamento, é indexada, vai para a fila de renderização, URLs são canônicos);
- Fila de renderização: mantém o controle de cada URL que precisa ser renderizado e é atualizado continuamente;
- Renderizador: quando o Web Rendering Services (ou WRS) recebe URLs, ele os renderiza e envia de volta o HTML renderizado para processamento;
- Índice: analisa o conteúdo para determinar a relevância, os dados estruturados e os links, e (re) calcula o PageRank e o layout.
E finalmente, depois desse processo todo, vem a classificação: o algoritmo de classificação extrai informações do índice para fornecer aos usuários do Google os resultados mais relevantes.
Boas práticas
É por todas essas razões e para evitar má surpresas em termos de tráfego e receita que um consultor de SEO precisa verificar a conformidade do seu desenvolvimento JavaScript com os robôs dos mecanismos de pesquisa.
Isso passa por vários pontos, como por exemplo:
Cota de renderização (render budget)
O fato dos sites e páginas com alta dependência de JavaScript precisarem de mais recursos para serem renderizados para que os rastreadores possam entender o conteúdo deles, pode fazer com que essa renderização seja adiada até que o rastreador tenha recursos disponíveis para processar esse conteúdo.
Por isso, é primordial seguir as boas práticas de JavaScript SEO e facilitar o trabalho dos rastreadores.
Porque do mesmo jeito que existe um “crawl-budget” (cota de rastreamento), existe um “render-budget” (cota de renderização) atribuído e nem o Google nem nenhum outro mecanismo de pesquisa tem recursos infinitos para ficar rastreando e renderizando tudo que existe na web.
Consequentemente, o quanto mais você facilitará o trabalho dele, melhor seu site será compreendido e recompensado.
Renderização dinâmica
A renderização dinâmica é uma solução alternativa e recomendada pelo Google para facilitar a leitura e entendimento do conteúdo gerado por JS. Ela é indicada para conteúdo público gerado por JavaScript que é indexável e muda rapidamente ou para conteúdo com recursos de JS incompatíveis com os rastreadores.
Essa opção de renderização significa alternar entre conteúdo renderizado no lado do cliente (navegadores e usuários humanos) e conteúdo pré-renderizado para agentes de usuários específicos (rastreadores de mecanismos de pesquisa).
Ela funciona com o servidor detectando rastreadores num primeiro momento, e em seguida encaminhando as solicitações de rastreadores (Ex: Googlebot) para um renderizador quando solicitações de usuários humanos, elas, são veiculadas de forma normal.

A ideia aqui é servir conteúdos semelhantes para os dois, para não parecer cloaking, só que facilitando a leitura do conteúdo para os rastreadores dos motores de buscas.
Renderização e SEO
O Google olha para o seu site através de uma perspectiva de arquitetura de busca e renderização otimizada em lote (BOR). Ele define o valor do relógio virtual (cota de renderização) que mede o custo de renderização de um site, para depois escolher quais partes do site serão renderizadas e quais delas, ignoradas.
Analisando como o Google renderiza o layout, enxerga a organização do conteúdo na página, extrai links internos e externos (localizações, atributos, etc.) e as taxas de alteração de entrada, é possível medir sua “carga de relógio virtual” por página e diagnosticar uma indexação parcial.
É importante saber se o seu conteúdo que depende de JavaScript para ser renderizado está de fato sendo indexado.
O Google, por falta de recursos e espaço, pode selecionar e indexar o site do seu concorrente por ele ter um conteúdo de maior qualidade, simplesmente porque a sua leitura e entendimento foram facilitados.
Se você não está indexado, todas as outras atividades de SEO que você está fazendo não importam.
Infográfico

SEO JavaScript
Curtiu o conteúdo? Compartilhe!
Serviços relacionados
Projetos relacionados
Perguntas frequentes
O que é JavaScript?
JavaScript é uma linguagem de programação que permite implementar mecanismos dinâmicos em uma página web e que é geralmente executada no navegador. É a terceira camada de tecnologias padrão da web (depois de HTML e CSS).
Como funciona o JavaScript?
Ele funciona dentro do HTML através da execução de comandos do lado cliente, ou seja, a nível de navegador e não de servidor. O Javascript é fortemente dependente do navegador que chama a página da web na qual o script está embutido.
O Google pode indexar JavaScript?
Depende. A indexação pelo Google nunca é garantida e para indexar conteúdo JavaScript as coisas ficam mais complexas ainda porque o Googlebot precisa analisar, compilar e executar o JavaScript.