O Googlebot usa um serviço de renderização da Web (WRS, na sigla em inglês) baseado no Chrome 41 (M41). Geralmente, o WRS é compatível com os mesmos recursos e funções da plataforma da Web da versão do Chrome utilizada. Para ver uma lista completa, consulte chromestatus.com ou use a função de comparação disponibilizada em caniuse.com.
No entanto, existem algumas exceções e diferenças que você precisa saber. Este documento descreve os recursos e APIs que estão explicitamente desativados ou limitados no WRS.
O Googlebot e o WRS priorizam o conteúdo essencial da página
O Googlebot foi criado para se comportar bem na Web. O rastreamento é a principal prioridade dele, sem afetar a experiência dos usuários que visitam o site. O Googlebot e o WRS analisam e identificam continuamente recursos que não contribuem para o conteúdo essencial da página e eles podem não buscar esses recursos. Por exemplo, relatórios e solicitações de erros que não contribuem para o conteúdo essencial da página e outros tipos parecidos de solicitações que não são usadas ou são desnecessárias para extrair o conteúdo essencial da página.
O WRS desativa algumas interfaces e funções
Use a detecção de recursos para identificar APIs e funções compatíveis com o WRS, e polyfills quando aplicável, assim como faria para qualquer outro navegador, já que as funções do WRS podem ser atualizadas a qualquer momento:
- As interfaces IndexedDB e WebSQL estão desativadas.
- As interfaces definidas pela especificação Service Worker estão desativadas.
- A interface WebGL está desativada, e o conteúdo 3D e RV não está indexado no momento.
O Googlebot e o WRS estão sem estado em todos os carregamentos de página
O WRS carrega cada URL (consulte o artigo em inglês Introduction to Indexing para ter uma visão geral de como o Google descobre conteúdo) seguindo os redirecionamentos do servidor e do cliente, da mesma forma que um navegador comum. No entanto, o WRS não mantém o estado nos carregamentos de página:
- Os dados do armazenamento local e do armazenamento de sessão são limpos nos carregamentos de página.
- Os cookies de HTTP são limpos nos carregamentos de página.
O WRS não é compatível com ES6
O Chrome M41 não é compatível com recursos ES6 (por exemplo, classes). Se você estiver usando o ES6, transcompile seu JavaScript para ES5.
O WRS tem compatibilidade limitada para componentes da Web
Coloque seu conteúdo em light DOM sempre que possível e use shadow DOM para encapsular e ocultar detalhes de implementação. Conteúdos essenciais, como elementos de navegação, links, cabeçalhos e seus principais textos e imagens, precisam estar sempre em light DOM. Isso maximiza a compatibilidade para clientes que podem não ser compatíveis com componentes da Web ou que não executam JavaScript.
O WRS recusa solicitações de permissão
Todos os recursos que exigem o consentimento do usuário são recusados automaticamente pelo Googlebot. Para ver uma lista completa dos recursos afetados, consulte o Registro de permissões (em inglês). Por exemplo, API Camera, API Geolocation e API Notifications.
O WRS e o Googlebot não são compatíveis com o protocolo WebSocket
O Googlebot e o WRS entendem apenas HTTP/1.x e FTP, com e sem TLS.
Rastrear erros e depurar problemas de renderização
Além de usar a detecção de recursos e polyfills, colete e analise erros do lado do cliente que possam impedir que seu aplicativo se comporte corretamente quando acessado pelos usuários e pelo Googlebot.