In che modo la Ricerca Google utilizza le regole di speculazione

Pubblicato: 12 febbraio 2025

La Ricerca Google è uno dei siti più popolari sul web, nonché uno dei più veloci. Il team della Ricerca investe continuamente per rendere l'esperienza di ricerca più veloce. In una pagina popolare come la Ricerca Google, anche pochi millisecondi di miglioramento fanno la differenza. Questo interesse per la velocità include la nota home page di Google, la pagina dei risultati del motore di ricerca (SERP) e i clic su altri siti da questi risultati di ricerca.

La Ricerca Google utilizza l'API Speculation Rules per migliorare la velocità di navigazione dalla pagina dei risultati di ricerca ai link dei risultati e utilizza alcune funzionalità dell'API che potrebbero interessare altri proprietari di siti.

Precaricare i primi due risultati

Uno dei primi utilizzi delle regole di speculazione è stato il recupero preventivo dei primi due risultati di ricerca. La ricerca di "test", ad esempio, include la seguente regola di speculazione nella pagina:

{
    "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"
        ]
    }]
}

I due URL in basso sono i primi due risultati di ricerca e vengono precaricati immediatamente. Se l'utente fa clic su questi link, avrà un vantaggio iniziale, in quanto il documento HTML dovrebbe essere già disponibile per il browser.

La regola e i tentativi di prefetch possono essere visualizzati nella scheda Speculazione di DevTools Application, come documentato in precedenza:

Il riquadro Speculazione di DevTools che mostra due definizioni del dizionario della parola testo, entrambe precaricate correttamente
Riquadro Speculazioni con due precaricamenti riusciti.

Prefetch che tutela la privacy

Poiché questi link rimandano a contenuti su altri siti, esistono alcune considerazioni aggiuntive sulla privacy per il prefetching, in quanto l'utente non ha ancora visitato questi siti.

Fortunatamente, l'API è stata progettata tenendo conto di questo aspetto e la Ricerca Google utilizza due funzionalità per preservare la privacy degli utenti.

Il primo consiste nell'utilizzare la configurazione requires per garantire che i prefetch utilizzino il proxy di prefetch privato in Chrome:

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

Viene utilizzato un proxy per assicurarsi che la connessione renda anonimo l'indirizzo IP, in modo da non rivelare l'IP dell'utente al sito prima che l'utente faccia clic sul link per accedervi dalla pagina dei risultati di ricerca.

In secondo luogo, la Ricerca Google utilizza l'impostazione referrer_policy per garantire che nessun dettaglio codificato nell'URL della pagina di ricerca venga inviato al sito nell'intestazione HTTP referer:

"referrer_policy": "strict-origin",

La maggior parte dei browser ora utilizza strict-origin-when-cross-origin per impostazione predefinita, ma questa impostazione utilizza un'impostazione più restrittiva per utilizzare il criterio referrer strict-origin anche per i recuperi preliminari della stessa origine.

Una terza protezione si attiva automaticamente se l'utente ha cookie per il sito. In questo caso, potrebbero ricevere risultati diversi in base a questi cookie e Chrome non utilizzerà l'HTML precaricato:

Il pannello Speculation di DevTools mostra due URL, ma il precaricamento di uno non è riuscito e viene visualizzato un errore che indica che non era idoneo perché l'utente aveva cookie per quell'origine
Riquadro Speculazioni con un precaricamento non riuscito a causa dei cookie.

Ciò significa che gli utenti con cookie non trarranno vantaggio dal miglioramento delle prestazioni fornito dal prefetching quando fanno clic su quel sito, ma la protezione della privacy e i caricamenti accurati delle pagine hanno la priorità. Inoltre, se un utente ha già visitato un sito e ha i cookie, è più probabile che alcuni asset del sito siano memorizzati nella cache e che il caricamento della pagina sia più veloce anche senza il prefetching.

Impatto sugli utenti del precaricamento dei primi due risultati

Come per la maggior parte delle modifiche, la Ricerca Google ha implementato il recupero anticipato in un esperimento di test A/B e ne ha misurato l'impatto. Hanno registrato miglioramenti significativi nella metrica Largest Contentful Paint (LCP). Su Chrome per Android, LCP per i clic dalla Ricerca Google è stato ridotto di 67 millisecondi. Un lancio successivo per Chrome desktop ha comportato un miglioramento simile della metrica LCP di 58,6 millisecondi. Si tratta di miglioramenti al sito a cui si accede, non al sito della Ricerca Google stesso, ma a vantaggio degli utenti della Ricerca Google.

Questi miglioramenti dell'LCP possono sembrare insignificanti, ma per un sito iper-ottimizzato come la Ricerca Google, festeggiamo anche i miglioramenti di millisecondi per i nostri utenti, quindi i miglioramenti nell'ordine di decine di millisecondi sono insoliti. Il tuo sito potrebbe trarne un vantaggio molto maggiore. Prova per scoprirlo.

Il prefetching tramite le regole di speculazione è stato attivato per impostazione predefinita nella Ricerca su Android a partire da ottobre 2022 ed è stato implementato sul computer entro settembre 2024.

Oltre i primi due risultati

Dal lancio iniziale dell'API Speculation Rules, è stata migliorata con una proprietà di impazienza che consente di fare speculazioni solo quando l'utente passa il mouse sopra un link o inizia a farci clic.

La Ricerca Google ha deciso di andare oltre i primi due risultati di ricerca e di precaricare anche i risultati di ricerca rimanenti, ma solo quando l'utente passa il mouse sopra il link, utilizzando l'impostazione di moderate impazienza. In questo modo si evita lo spreco inutile di risorse per i link con meno probabilità di essere cliccati.

Anche in questo caso, la regola può essere visualizzata in DevTools quando esegui una ricerca in Chrome ed è identica alla regola precedente, ma questa volta con l'opzione "eagerness": "moderate" impostata:

Il riquadro Regole di DevTools mostra una regola di elenco che utilizza anonymouse-client-ip-when-cross-origin, un criterio referrer strict-origin, un'impazienza moderata e sette URL
La regola di speculazione utilizzata dalla Ricerca Google.

Se passi il mouse sopra questi link, si attiverà il prefetch. Tieni presente che la Ricerca Google elenca esplicitamente gli URL anziché utilizzare la funzionalità regole del documento dell'API Speculation Rules, poiché non vuole precaricare altri URL come gli annunci.

Impatto sugli utenti del precaricamento oltre i primi due risultati

Chrome per computer ha ridotto la prima visualizzazione con contenuti (FCP) per le navigazioni dalla Ricerca Google di 7,6 millisecondi e la visualizzazione elemento più grande (LCP) di 9,5 millisecondi (come dimostrato dai test A/B). Questi miglioramenti sono inferiori rispetto a quelli di 58,6 millisecondi riscontrati nei primi due risultati, ma non è sorprendente, dato che il lead time è inferiore e non vengono precaricati con la stessa urgenza. Tuttavia, si tratta comunque di buoni guadagni per gli stessi motivi indicati in precedenza.

Il precaricamento dei risultati di ricerca rimanenti su computer è stato implementato per impostazione predefinita a dicembre 2024.

Per i dispositivi mobili, dove in genere non è disponibile il passaggio del mouse, non è stato riscontrato alcun miglioramento reale, pertanto, sebbene non siano state riscontrate regressioni, questi prefetch aggiuntivi non sono stati attivati sui dispositivi mobili.

Google non ha ancora terminato la sperimentazione di questa nuova entusiasmante API e il nostro obiettivo è rendere la navigazione sul web il più veloce possibile. Stiamo lavorando ad altri trucchi.

Ad esempio, Chrome sta implementando pagine dei risultati di ricerca pre-renderizzate, per gli utenti con il precaricamento attivato, quando gli utenti digitano query di ricerca nella barra degli indirizzi di Chrome e in altri punti, come la casella di ricerca su Android. Questa funzionalità è aperta anche ad altri motori di ricerca, non solo alla Ricerca Google, anche se al momento non siamo a conoscenza di implementazioni per altri motori di ricerca.

La Ricerca Google non intende andare oltre e implementare il prerendering per i link dei risultati stessi, in quanto non è disponibile per la navigazione cross-site (e deve essere attivato per i prerendering cross-origin e dello stesso sito).

Una nota sul supporto dei browser

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: behind a flag.

Source

Al momento, l'API Speculation Rules è implementata nei browser basati su Chromium, ma Chrome sta pubblicando la specifica dell'API tramite la procedura di standardizzazione W3C e vuole che altri browser implementino questa API.

Il proxy di prefetch privato è attualmente implementato solo in Chrome e non in altri browser basati su Chromium, ma se altri browser implementano il proprio proxy di prefetch privato, la Ricerca Google potrebbe cercare di implementare questi miglioramenti anche in questi browser.

A causa delle implicazioni per la privacy del precaricamento senza un proxy di precaricamento privato, la Ricerca Google non esegue il precaricamento sui browser che non supportano questa tecnologia e quindi non ha implementato un fallback utilizzando altre tecnologie per altri browser. Tuttavia, in quanto miglioramento progressivo, questo significa solo che gli utenti di questi browser non beneficiano di questo piccolo aumento di velocità.

Provalo sul tuo sito.

L'API Speculation Rules è disponibile per tutti i siti, non solo per la Ricerca Google. Oltre alle funzionalità di prefetching descritte qui, il prerendering offre ulteriori vantaggi quando e dove può essere utilizzato. Con siti di grandi dimensioni come la Ricerca Google che mostrano i chiari vantaggi di questa API per l'esperienza utente, invitiamo tutti i proprietari di siti a esaminare come possono utilizzare l'API e potenzialmente trarne vantaggio.

Inoltre, le protezioni della privacy descritte in questo post sono disponibili anche per altri siti, con la riserva che gli utenti devono aver attivato il supporto del precaricamento esteso nelle impostazioni per consentire ai siti non Google di instradare il traffico utilizzando il proxy di prefetch privato di Google. Il motivo è che Google viene introdotto come parte aggiuntiva tra l'utente e il sito, mentre ciò non è necessario sui siti Google, in quanto sono già una delle parti coinvolte.