Como a Pesquisa Google usa regras de especulação

Publicado em 12 de fevereiro de 2025

A Pesquisa Google é um dos sites mais acessados da Web e também um dos mais rápidos. A equipe de pesquisa está sempre investindo para tornar a experiência de pesquisa mais rápida. Em uma página tão popular quanto a Pesquisa Google, até mesmo milissegundos de melhoria se acumulam rapidamente. Esse interesse na velocidade inclui a conhecida página inicial do Google, a página de resultados do mecanismo de pesquisa (SERP) e os cliques em outros sites a partir desses resultados da pesquisa.

A Pesquisa Google usa a API Speculation Rules para melhorar a velocidade de navegação da página de resultados da pesquisa para os links de resultados. Ela também usa alguns recursos da API que podem ser interessantes para outros proprietários de sites.

Pré-buscar os dois primeiros resultados

Um dos primeiros usos das regras de especulação foi fazer o pré-carregamento dos dois primeiros resultados da pesquisa. A pesquisa por "teste", por exemplo, inclui a seguinte regra de especulação na página:

{
    "prefetch": [{
        "source": "list",
        "requires": [
            "anonymous-client-ip-when-cross-origin"
        ],
        "referrer_policy": "strict-origin",
        "urls": [
            "https://www.merriam-webster.com/dictionary/test",
            "https://dictionary.cambridge.org/dictionary/english/test"
        ]
    }]
}

Os dois URLs na parte de baixo são os dois primeiros resultados da pesquisa e são pré-buscados imediatamente. Se o usuário clicar nelas, ele terá uma vantagem, já que o documento HTML já estará disponível para o navegador.

A regra e as tentativas de pré-carregamento podem ser vistas em DevTools Application -> guia Speculation conforme documentado anteriormente:

Painel de especulação do DevTools mostrando duas definições do dicionário da palavra "text", ambas pré-buscadas com sucesso
Painel de especulações com dois prefetches bem-sucedidos.

Prefetches que preservam a privacidade

Como esses links são para conteúdo em outros sites, há algumas considerações de privacidade adicionais para a pré-busca, já que o usuário ainda não visitou esses sites.

Felizmente, a API foi projetada com isso em mente, e a Pesquisa Google usa dois recursos para preservar a privacidade do usuário.

A primeira é usar a configuração requires para garantir que os pré-carregamentos usem o proxy de pré-carregamento particular no Chrome:

"requires": [
    "anonymous-client-ip-when-cross-origin"
],

Isso usa um proxy para garantir que a conexão anônime do endereço IP não vaze o IP do usuário para o site antes que ele clique no link para navegar até ele na página de resultados da pesquisa.

Em segundo lugar, a Pesquisa Google usa a configuração referrer_policy para garantir que nenhum detalhe codificado no URL da página de pesquisa seja enviado ao site no cabeçalho HTTP referer:

"referrer_policy": "strict-origin",

A maioria dos navegadores agora usa strict-origin-when-cross-origin por padrão, mas essa configuração usa uma configuração mais rígida para usar a política de referrer strict-origin, mesmo para pré-carregamentos da mesma origem.

Uma terceira proteção acontece automaticamente se o usuário tiver cookies para o site. Nesse caso, eles podem receber resultados diferentes com base nesses cookies, e o Chrome não vai usar o HTML pré-carregado:

O painel de especulação do DevTools tem dois URLs, mas um deles não foi pré-carregado com um erro informando que ele não estava qualificado porque o usuário tinha cookies para essa origem
Painel de especulações com uma pré-busca com falha devido a cookies.

Isso significa que os usuários com cookies não vão se beneficiar do desempenho aprimorado que o pré-carregamento oferece ao clicar nesse site, mas a proteção de privacidade e os carregamentos precisos de página são priorizados. Além disso, se um usuário já visitou um site e tem cookies dele, é mais provável que ele tenha alguns recursos desse site em cache e que a página carregue mais rápido, mesmo sem a pré-busca.

Impacto para os usuários da pré-busca dos dois primeiros resultados

Como na maioria das mudanças, a Pesquisa Google lançou a pré-busca em um experimento de teste A/B e mediu o impacto. Houve melhorias significativas na Maior exibição de conteúdo (LCP). No Chrome para Android, o LCP para cliques da Pesquisa Google foi reduzido em 67 milissegundos. O lançamento subsequente do Chrome para computador resultou em uma melhoria semelhante no LCP de 58,6 milissegundos. Essas melhorias são para o site que está sendo acessado, não para a Pesquisa Google, mas beneficiam os usuários da Pesquisa Google.

Essas melhorias no LCP podem parecer insignificantes, mas para um site hiperotimizado como a Pesquisa Google, comemoramos até mesmo melhorias de milissegundos para nossos usuários. Por isso, melhorias na faixa de dezenas de milissegundos são incomuns. Seu site pode ter um benefício muito maior. Teste para descobrir.

A pré-busca usando regras de especulação foi ativada por padrão na Pesquisa no Android desde outubro de 2022 e foi lançada para computadores em setembro de 2024.

Além dos dois primeiros resultados

Desde o lançamento inicial da API Speculation Rules, ela foi melhorada com uma propriedade de eagerness que permite que as especulações só aconteçam quando o usuário passa o cursor sobre um link ou começa a clicar nele.

A Pesquisa Google decidiu ir além dos dois primeiros resultados da pesquisa e também fazer o pré-carregamento dos resultados restantes, mas apenas quando o usuário passa o cursor sobre o link usando a configuração de avidez moderate. Isso evita o desperdício desnecessário de recursos para links com menos probabilidade de cliques.

Novamente, a regra pode ser vista no DevTools quando você pesquisa no Chrome e é idêntica à regra anterior, mas desta vez com a opção "eagerness": "moderate" definida:

Painel de regras do DevTools mostrando uma regra de lista usando "anonymouse-client-ip-when-cross-origin", uma política de referenciador de origem rígida, eagerness moderada e sete URLs
A regra de especulação usada pela Pesquisa Google.

Passar o cursor sobre esses links aciona o pré-carregamento. A Pesquisa Google lista explicitamente os URLs em vez de usar o recurso document rules da API Speculation Rules, porque não quer fazer o pré-carregamento de outros URLs, como anúncios.

Impacto para os usuários do pré-carregamento além dos dois primeiros resultados

O Chrome para computador reduziu a First Contentful Paint (FCP) para navegações da Pesquisa Google em 7,6 milissegundos e a LCP em 9,5 milissegundos, conforme mostrado nos testes A/B. Esses ganhos são menores do que os 58,6 milissegundos de melhoria observados nos dois primeiros resultados, mas isso não é surpreendente, considerando o tempo de lead menor, já que eles não são pré-buscados com tanta rapidez. No entanto, esses ganhos ainda são bons pelos mesmos motivos indicados anteriormente.

A pré-busca dos resultados de pesquisa restantes no computador foi lançada por padrão em dezembro de 2024.

Para dispositivos móveis, em que o passar o cursor geralmente não está disponível, não houve melhorias reais. Portanto, embora não tenha havido regressões, esses precarregamentos adicionais não foram ativados em dispositivos móveis.

O Google ainda não terminou de testar essa nova API, e nossa esperança é tornar a navegação na Web o mais rápida possível. Temos alguns outros truques na manga em que estamos trabalhando.

Por exemplo, o Chrome está lançando páginas de resultados de pesquisa pré-renderizadas para usuários com o pré-carregamento ativado quando eles digitam consultas na barra de endereço do Chrome e em outros lugares, como a caixa de pesquisa no Android. Isso também está aberto para implementação em outros mecanismos de pesquisa, não apenas na Pesquisa Google, embora não tenhamos conhecimento de nenhuma implementação para outros mecanismos de pesquisa no momento.

A Pesquisa Google não pretende ir além e implementar o pré-renderização nos links de resultados, já que esse recurso não está disponível para navegação entre sites (e nem mesmo para pré-renderizações no mesmo site e de origem cruzada).

Observação sobre o suporte a navegadores

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: not supported.

Source

No momento, a API Speculation Rules está implementada em navegadores baseados no Chromium, mas o Chrome está publicando a especificação da API pelo processo de padrões do W3C e quer que outros navegadores implementem essa API.

No momento, o proxy de pré-carregamento privado só é implementado no Chrome, e não em outros navegadores baseados no Chromium. No entanto, se outros navegadores implementarem o próprio proxy de pré-carregamento privado, a Pesquisa Google também poderá implementar essas melhorias.

Devido às implicações de privacidade da pré-busca sem um proxy privado, a Pesquisa Google não faz pré-busca em navegadores que não oferecem suporte a essa tecnologia e, portanto, não implementaram um substituto usando outras tecnologias para outros navegadores. No entanto, como um aprimoramento progressivo, isso significa apenas que os usuários desses navegadores não se beneficiam desse pequeno aumento de velocidade.

Teste no seu site.

A API Speculation Rules está disponível para todos os sites, não apenas para a Pesquisa Google. Além dos recursos de pré-carregamento discutidos aqui, a pré-renderização oferece outros benefícios quando e onde pode ser usada. Com sites grandes como a Pesquisa Google mostrando benefícios claros dessa API para a experiência do usuário, incentivamos todos os proprietários de sites a analisar como podem usar e se beneficiar da API.

Além disso, as proteções de privacidade detalhadas nesta postagem também estão disponíveis para outros sites, com a ressalva de que os usuários precisam ter o suporte estendido ao pré-carregamento ativado nas configurações para permitir que sites de terceiros roteiem o tráfego usando o proxy de pré-carregamento privado do Google. Isso porque isso introduz o Google como uma parte extra entre o usuário e o site, o que não é necessário nos sites do Google, já que eles já são uma das partes envolvidas.