Se você está desenvolvendo uma aplicação web usando JavaScript ou migrando seu site, você vai precisar tomar alguns cuidados para garantir que todo o seu conteúdo esteja sendo rastreado e indexado pelo Google.Mas, calma! O Google dá suporte a JavaScript. Além disso, desde maio de 2019 passou a usar uma versão contínua do Chromium[1], na qual trouxe mais de 1.000 novos recursos para o Googlebot. Aliás, o que é Googlebot?
O Googlebot é o rastreador que visita as páginas da web para incluí-las no índice da pesquisa do Google. Com o avanço da tecnologia, o Google teve que atualizar seu rastreamento para executar a renderização das aplicações web em JavaScript.O JavaScript continua sendo a linguagem de programação mais utilizada, de acordo com a pesquisa Stack Overflow[2], realizada com mais de 32 mil desenvolvedores. O JavaScript apresenta 69% de uso, ou 39% quando os desenvolvedores foram solicitados a especificar sua "linguagem de programação primária". Curiosidades no resultado da pesquisa: Java caiu para 35,35% e Python subiu para 48,2%.
Considerando a evolução e crescimento do uso de JavaScript, o grande desafio do Google é entender o conteúdo que não foi encontrado no primeiro rastreamento, ou seja, os conteúdos dinâmicos que são carregados muitas das vezes após uma interação do usuário como: cliques, rolagem e etc.No passado, os rastreadores do Google só enxergavam o HTML estático, mas isso é diferente hoje. Com todas essas mudanças, o Google consegue rastrear JavaScript, porém é um trabalho extra. Observe, na imagem abaixo, como o Googlebot processa os sites em três fases principais:
Confira também no vídeo:
O Googlebot rastreia, renderiza e indexa as páginas, mas essa segunda onda pode demorar um tempo e indexar informações desatualizadas do seu site.Neste sentido, o ponto principal seria disponibilizar pelo menos os conteúdos e links principais diretamente no html.A conexão do profissional de SEO com a equipe técnica é muito importante. Os desenvolvedores, frequentemente, precisam tomar decisões a respeito de arquitetura e renderização para as aplicações web. Às vezes são decisões difíceis, considerando que temos várias formas diferentes para desenvolver um site.O caminho ideal nessa conexão é levar em consideração o impacto no SEO ao escolher uma estratégia de renderização na web. Encorajo os desenvolvedores a considerar a renderização do servidor ou a renderização estática ao invés de uma abordagem de reidratação completa.Para entender melhor tudo isso, precisamos conhecer cada abordagem e as diferenças entre elas, olhando sempre para a performance e a rastreabilidade.
Resumidamente, a renderização do lado do cliente e servidor podem funcionar, mas os testes manuais na ferramenta Mobile Friendly Test são extremamente importantes para garantir que a abordagem escolhida permite o rastreamento do seu conteúdo.
A ferramenta mostra uma visualização de como a página aparece para o rastreador do Google, o conteúdo HTML encontrado (após a execução do JavaScript) e todos os erros encontrados durante a renderização.Bom, ao decidir sobre sua abordagem de renderização, meça e entenda quais são seus gargalos. O importante é garantir que a renderização estática ou a renderização do servidor entregue uma experiência incrível para os usuários e rastreadores da web. Lembrando, é normal enviar HTML com o mínimo de JavaScript para obter uma experiência interativa.Vejam o infográfico mostrando na ótica cliente (browser/navegador e renderizadores para telas em geral)/servidor:
Mas, Diego, mesmo com todas as evoluções, por que muitos profissionais de SEO ficam nervosos quando o assunto é implementação de sites usando JavaScript?A resposta do próprio Google é simples: "as coisas podem dar errado[4], existem vários aspectos a considerar no ponto de vista de SEO ao criar ou alterar sua aplicação web".Até por acidente você pode impedir o Googlebot de rastrear o seu site. Por exemplo:
Esses problemas podem acontecer em qualquer tipo de site, com JS ou não. Eu já passei por situações de deixar os “cabelos brancos”. Você acordar e ver que as URLs que estavam indexadas começaram a desaparecer da SERP ou começaram a indexar URLs indesejadas é muito tenso.Eu tive um problema, no qual o desenvolvedor incluiu, sem querer, um bloqueio “no robots” e um site com mais de 2 milhões de URLs indexadas começou a despencar. Começamos, desesperadamente, a analisar para entender o que estava acontecendo e depois de muita correria descobrimos uma implementação errônea “no robots”.O segundo problema foi que nós tínhamos um bloqueio para todas as URLs com parâmetros indesejados e essas URLs sempre tiveram o mesmo parâmetro, por exemplo:
O robots.txt sempre foi assim: Disallow: /*?filtroDe repente, foram alterados os parâmetros das URLs para: ?filter
E não avisaram a equipe de SEO, depois de alguns dias percebemos um pico grande no Google Console com aumento de URLs indexadas. Resumindo, foram indexadas mais de 100 mil URLs porque o Google não tinha esse bloqueio no robots.txtTudo isso pode ser evitado, principalmente quando a equipe de SEO trabalha bem próxima da equipe de desenvolvimento front e back-end.Aqui, na DiTi Performance, nós utilizamos uma metodologia de SEO que desenvolvemos ao longo desses últimos 15 anos, na qual toda parte técnica é orientada e acompanhada por profissionais e guides de SEO. Estamos à sua disposição para falar sobre seus desafios e pra finalizar, eu vou deixar aqui 10 dicas para você corrigir problemas de JavaScript que impactam o SEO.[5]Ah, e se ainda ficou com dúvidas, não hesite em comentar aqui.