Acha que o Google não pode lidar com JavaScript?
Pense de novo. Aqui mostramos os resultados de uma série de testes realizados para examinar como as diferentes funções de JavaScript seriam rastreadas e indexadas pelo Google.
1. Foram realizadas uma série de testes que verificaram Google é capaz de executar o índice de JavaScript com uma infinidade de implementações. Nós também concluímos que Google é capaz de processar a página inteira e ler o DOM, indexando, assim, o conteúdo gerado dinamicamente.
2. Sinais de SEO no DOM (títulos da página, meta descrições, tags canônicas, meta robots tags, etc.) continuam importantes sendo que o conteúdo inserido dinamicamente no DOM também é rastreável e indexável. Além disso, em certos casos, os sinais DOM pode até ter precedência sobre declarações contraditórias no código HTML. Este caso precisará de mais trabalho, mas foi o caso de vários dos nossos testes.
Introdução: Google Executando Javascript & Reading O DOM
Já em 2008, o Google estava rastejando com sucesso JavaScript , mas provavelmente de uma forma limitada.
Hoje, é claro que o Google não só tem evoluído com tipos de JavaScript que rastrear e indexar, mas eles fizeram progressos significativos na renderização de páginas web completas (especialmente nos últimos 12-18 meses).
A nossa equipe técnica SEO queria entender melhor quais os tipos de eventos JavaScript Googlebot poderiam ser rastreados e indexados. Encontramos alguns resultados e aberturas verificando que o Google não só executa vários tipos de eventos JavaScript, como também está indexando o conteúdo gerado dinamicamente. Como? Simples! O Google está lendo o DOM.
O que é o DOM?
Muito poucos SEOs tem conhecimento e compreensão do Document Object Model , ou DOM.
O que acontece quando um navegador solicita uma página web, e como o DOM está envolvido.
Como usado em navegadores web, o DOM é essencialmente uma interface de programação de aplicativo, ou API, para marcação e dados estruturados, tais como HTML e XML. É a interface que permite aos navegadores da web em montar os documentos estruturados.
O DOM também define como essa estrutura é acessada e manipulada. Enquanto o DOM é uma API de linguagem agnóstica (não vinculados a uma linguagem de programação específica ou biblioteca), que é mais comumente usado em aplicações web para JavaScript e conteúdo dinâmico.
O DOM representa a interface, ou “ponte”, que conecta páginas web e linguagens de programação.O HTML é analisado, JavaScript é executado, e o resultado é o DOM. O conteúdo de uma página web não é (apenas) o código-fonte, é o DOM. Isto o torna muito importante.
Como JavaScript trabalha com a interface DOM.
Nós ficamos muito satisfeitos em descobrir a capacidade do Google para ler o DOM e interpretar sinais e conteúdos que foram inseridos dinamicamente, como tags de título, texto de página, marcas de título e meta anotações como rel = canônico. Leia sobre todos os detalhes.
A série de testes e resultados
Nós criamos uma série de testes para examinar como as diferentes funções de JavaScript seriam rastreadas e indexadas, isolando o comportamento para o Googlebot. Controles foram criados para testas as atividade deixando as URLs isoladas aos testes. Abaixo, vamos mostrar alguns dos resultados dos testes mais interessantes em detalhe. Eles são divididos em cinco categorias:
- Redirecionamentos de JavaScript
- Ligações de JavaScript
- Conteúdo dinamicamente Inserido
- Meta Dados e Elementos da Página Dinamicamente Inseridas
- Um exemplo importante com rel = “nofollow”
Um exemplo de uma página usada para testar as habilidades de Googlebot para entender JavaScript.
1. Redirecionamentos de JavaScript
Testamos primeiro como o JavaScript comum redireciona, variando a forma como a URL que foi representada de diferentes maneiras. O método que escolhemos foi a função window.location. Foram realizados dois testes: Teste A incluiu a URL absoluta atribuída na função window.location. Teste B usou um URL relativo.
Resultado: Os redirecionamentos foram rapidamente seguido pelo Google. Do ponto de vista de indexação, eles foram interpretados como 301s – os URLs de estado final substituiu os URLs redirecionadas no índice do Google.
Num teste subsequente, utilizamos uma página com autoridade e implementamos um JavaScript para redirecionar uma nova página no site com exatamente o mesmo conteúdo. A URL original classificado na primeira página do Google para consultas populares.
Resultado: Como esperado, o redirecionamento foi seguido pelo Google e a página original eliminados do índice. O novo URL foi indexado e imediatamente classificados na mesma posição para os mesmos procedimentos. Isso surpreendeu-nos, e parece indicar que o JavaScript redireciona e se comporta exatamente como permanentes 301 redirecionamentos do ponto de vista ranking.
A próxima vez que seu cliente quizer implementar JavaScript em redirecionamentos para o seu movimento local, a sua resposta não precisará ser, “por favor, não.” Parece que há uma transferência de sinais de classificação nesta relação.
Usando JavaScript para redirecionar os usuários pode ser uma prática legítima. Por exemplo, se você redirecionar os usuários para uma página interna uma vez que está logado, você pode usar JavaScript para fazer isso. Ao examinar JavaScript ou outros métodos de redirecionamento para garantir que seu site respeita as nossas diretrizes, considere a intenção. Tenha em mente que redirecionamentos 301 são os melhores quando se deslocam seu site, mas você poderia usar um redirecionamento JavaScript para este fim, se você não tem acesso ao servidor do seu site.
2. Links JavaScript
Testamos vários tipos diferentes de links JavaScript, codificados de várias maneiras.
Testamos links do menu dropdown. Historicamente motores de busca não têm sido capazes de seguir estes tipos de ligações de forma consistente. Nosso teste buscou identificar se o manipulador de eventos onchange seria seguido. É importante ressaltar que este é um tipo específico de ponto de execução: estamos pedindo uma interação de mudar alguma coisa, não uma ação forçada como o JavaScript redireciona acima.
Resultado: Os links foram totalmente rastreados e seguidos.
Nós também testamos links JavaScript padrão. Estes são os tipos mais comuns de ligações JavaScript que SEOs, tradicionalmente recomendado ser alterados para texto simples. Estes testes incluíram JavaScript links codificados com:
- Funções fora do href Atributo-Valor Pair (AVP), mas dentro da uma tag ( “onClick”)
- Funções dentro do AVP href ( “javascript: window.location”)
- Funções fora do um, mas chamados dentro do AVP href ( “javascript: OpenLink ()”)
- etc.
Resultado: Os links foram totalmente rastreados e seguidos.
O nosso próximo teste era examinar mais manipuladores de eventos como o teste onchange acima.Especificamente, nós estávamos olhando para a idéia de movimentos do mouse como o manipulador de eventos e, em seguida, esconder a URL com variáveis que só são executados quando o manipulador de eventos (neste caso onmousedown e onmouseout) é acionado.
Resultado: As ligações foram rastreadas e seguidas.
ligações concatenadas: sabíamos Google pode executar JavaScript, mas queria confirmar que eles estavam lendo as variáveis dentro do código. Neste teste, concatenado uma cadeia de caracteres que criou um URL, uma vez que foi construído.
Resultado: O link foi rastreado e seguido.
3. Conteúdo dinamicamente inserido
Este é claramente um importante: inseridos dinamicamente texto, imagens, links e navegação.conteúdo de texto de qualidade é fundamental para a compreensão de um motor de busca do tema e conteúdo de uma página. Nesta era de sites dinâmicos é ainda SEOs mais importantes chegar no topo desta.
Estes testes foram projetados para verificar se o texto inserido dinamicamente em duas situações diferentes.
1. Teste a capacidade do motor de busca para explicar o texto inserido dinamicamente quando o texto está dentro do HTML da página.
2. Teste a capacidade do motor de busca para explicar o texto inserido dinamicamente quando o texto está fora do código HTML da página (em um arquivo JavaScript externo).
Resultado: Em ambos os casos, o texto foi rastreado e indexado, e a página de classificados para o conteúdo.
Para saber mais sobre isso, testamos navegação global de um cliente que está codificado em JavaScript, com todos os links inseridos com uma função document.writeIn, e confirmou que eles eram totalmente rastreado e seguido. Note-se que este tipo de funcionalidade, o Google explica como os sites construídos usando a estrutura AngularJS ea API Histórico HTML5 (pushState) pode ser processado e indexado pelo Google, ranking, bem como páginas HTML estáticas convencionais. É por isso que é importante para não bloquear o Googlebot de acessar arquivos externos e ativos de JavaScript, e provavelmente também por que o Google está se afastando de sua Ajax de apoio para SEO orientações. Quem precisa instantâneos HTML quando você pode simplesmente processar a página inteira?
Nossos testes encontraram o mesmo resultado, independentemente do tipo de conteúdo. Por exemplo, as imagens foram rastreados e indexados quando carregado no DOM. Nós até criamos um teste pelo qual gerado dinamicamente data-vocabulary.org estruturado marcação de dados para pão ralado e inseriu-o no DOM. Resultado? pão ralado sucesso Rich Snippets na SERP do Google.
De nota, o Google agora recomenda marcação JSON-LD para alguns dados estruturados. Mais para vir, tenho certeza.
4. dinamicamente Inserida Meta Dados e Elementos da Página
Nós inserido dinamicamente no DOM várias marcas que são críticas para SEO:
- elementos do título
- meta descrições
- robots meta
- Tag Canonical
Resultado: Em todos os casos as tags foram rastreados respeitado, se comportando exatamente como elementos HTML em código-fonte deveria.
Um teste de acompanhamento interessante nos ajudará a entender ordem de precedência. Quando existem sinais contraditórios, o que se ganha? O que acontece se houver um noindex, nofollow no código-fonte e uma noindex, siga no DOM? Como é que a resposta HTTP-robôs x cabeçalho de se comportar como outra variável neste arranjo? Esta será uma parte do futuro de testes abrangentes.No entanto, nossos testes mostraram que o Google pode ignorar a tag no código-fonte em favor do DOM.
5. Um exemplo importante com rel = “nofollow”
Um exemplo provou instrutivo. Queríamos testar como o Google iria reagir aos atributos nofollow em nível de link colocado no código-fonte e colocados no DOM. Criamos também um controle sem nofollow aplicado em tudo.
Nosso código fonte de isolamento teste nofollow vs DOM gerado anotações.
O nofollow no código-fonte funcionou como esperado (a ligação não foi seguido). O nofollow no DOM não funcionou (o link foi seguido, ea página indexada). Por quê? Porque a modificação doelemento a href no DOM aconteceu tarde demais: o Google já arrastou a ligação e em fila a URL antes de executada a função JavaScript que adiciona a tag rel = “nofollow”. No entanto, se toda aum elemento href com nofollow é inserido no DOM, o nofollow é visto ao mesmo tempo que a ligação (e o respectivo URL) e, por conseguinte, seja respeitada.
Ramificações
Historicamente, as recomendações de SEO têm-se centrado em torno de ter conteúdo “texto simples” sempre que possível. Dinamicamente o conteúdo gerado, links AJAX e JavaScript ter sido um prejuízo de SEO para os principais motores de busca. Claramente, que já não é o caso para o Google. JavaScript links funcionam de forma semelhante aos links HTML simples (pelo valor de face, não sabemos o que está acontecendo nos bastidores nos algoritmos).
- redirecionamentos JavaScript são tratados de forma semelhante como 301 redirecionamentos.
- Dinamicamente inserido conteúdo, e até mesmo meta sinais como rel anotações canônicas, são tratados de forma equivalente, quer em HTML, ou demitido após o HTML inicial é analisado com JavaScript no DOM.
- Google parece processar totalmente a página e vê o DOM e não apenas o código-fonte mais.Incrível! (Lembre-se de permitir o acesso do Googlebot a esses arquivos externos e ativos de JavaScript.)
Google inovou a um ritmo assustador e deixou os outros motores de busca na poeira. Esperamos ver o mesmo tipo de inovação de outros motores se eles são para se manter competitivo e relevante na nova era de desenvolvimento web, o que significa apenas mais HTML5, mais Javascript e sites mais dinâmicos.
SEOs, também, que não mantiveram o ritmo com os conceitos subjacentes aqui e habilidades do Google faria bem em estudar-se e evoluir a sua consultoria para refletir as tecnologias atuais. Se você não tomar o DOM em consideração, você pode ser a metade que faltava da imagem.