In che modo la Ricerca Google utilizza le regole di speculazione

Data di pubblicazione: 12 febbraio 2025

La Ricerca Google è uno dei siti più popolari sul web e anche uno dei più veloci. Il team di Ricerca investe continuamente per velocizzare l'esperienza di ricerca. In una pagina tanto popolare come la Ricerca Google, anche millisecondi di miglioramento si sommano rapidamente. Questo interesse per la velocità include la ben nota home page di Google, la pagina dei risultati del motore di ricerca (SERP) e i clic su altri siti provenienti 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 alcune funzionalità dell'API che potrebbero essere di interesse per altri proprietari di siti.

Effettua il prelievo dei primi due risultati

Uno dei primi utilizzi delle regole di speculazione era il pre-caricamento 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 prerecuperati immediatamente. Se l'utente fa clic su questi elementi, avrà un vantaggio perché il documento HTML dovrebbe essere già disponibile per il browser.

La regola e i tentativi di prelettura sono visibili nella scheda DevTools Application -> Speculation come descritto in precedenza:

Riquadro di speculazione di DevTools che mostra due definizioni del dizionario della parola testo, entrambe prelevate correttamente
Riquadro delle speculazioni con due preletture riuscite.

Precaricamenti che tutelano la privacy

Poiché questi link rimandano a contenuti su altri siti, esistono alcune considerazioni aggiuntive sulla privacy per il pre-caricamento, poiché 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.

La prima è l'utilizzo della configurazione requires per assicurarsi che i pre-caricamenti utilizzino il proxy di pre-caricamento privato in Chrome:

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

Viene utilizzato un proxy per garantire che la connessione anonimizzi l'indirizzo IP in modo da non divulgare 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 assicurarsi 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 per impostazione predefinita strict-origin-when-cross-origin, ma questa impostazione utilizza un'impostazione più rigorosa per utilizzare il criterio referrer strict-origin anche per i precaricamenti dello stesso dominio.

Una terza protezione viene applicata 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 precompilato:

Nel pannello di speculazione di DevTools sono presenti due URL, ma non è stato possibile eseguire il precaricamento di uno di questi perché è stato visualizzato un errore che indica che non era idoneo perché l'utente aveva cookie per quell'origine
Riquadro delle speculazioni con un precaricamento non riuscito a causa dei cookie.

Ciò significa che gli utenti con cookie non trarranno vantaggio dal miglioramento delle prestazioni offerto dal pre-caricamento quando fanno clic sul sito, ma la protezione della privacy e i caricamenti accurati delle pagine avranno la priorità. Inoltre, se un utente ha già visitato un sito e dispone dei relativi cookie, è più probabile che abbia memorizzato nella cache alcuni asset di quel sito e che il caricamento della pagina sia più veloce anche senza il pre-caricamento.

Impatto sugli utenti del precaricamento dei primi due risultati

Come per la maggior parte delle modifiche, la Ricerca Google ha implementato il pre-caricamento in un esperimento di test A/B e ne ha misurato l'impatto. L'azienda ha registrato miglioramenti significativi nella metrica Largest Contentful Paint (LCP). Su Chrome per Android, il tempo LCP per i clic provenienti 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 sono utili agli utenti della Ricerca Google.

Questi miglioramenti all'LCP possono sembrare insignificanti, ma per un sito iperottimizzato come la Ricerca Google, celebriamo anche i miglioramenti di millisecondi per i nostri utenti, quindi i miglioramenti nell'intervallo di decine di millisecondi sono insoliti. Il tuo sito potrebbe trarre un vantaggio molto maggiore: prova a scoprirlo.

Il pre-caricamento utilizzando le regole di speculazione è stato attivato per impostazione predefinita nella Ricerca su Android da ottobre 2022 ed è stato implementato su computer entro settembre 2024.

Oltre i primi due risultati

Dal lancio iniziale dell'API Speculation Rules, questa è stata ottimizzata con una proprietà di intensità che consente di eseguire le speculazioni solo quando l'utente passa il mouse sopra un link o inizia a fare clic su un link.

La Ricerca Google ha deciso di andare oltre i primi due risultati di ricerca e di eseguire il pre-caricamento anche dei risultati di ricerca rimanenti, ma solo quando l'utente passa il mouse sopra il link, utilizzando l'impostazione di proattività moderate. In questo modo si evita lo spreco di risorse per i link su cui è meno probabile che venga fatto clic.

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

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

Se passi il mouse sopra questi link, verrà attivato il pre-caricamento. Tieni presente che la Ricerca Google elenca esplicitamente gli URL anziché utilizzare la funzionalità delle regole del documento dell'API Speculation Rules, poiché non vuole eseguire il pre-caricamento di altri URL come gli annunci.

Impatto sugli utenti del precaricamento oltre i primi due risultati

Chrome per computer ha ridotto il first contentful paint (FCP) per le navigazioni dalla Ricerca Google di 7,6 millisecondi e la LCP di 9,5 millisecondi (come dimostrato dai test A/B). Si tratta di miglioramenti inferiori rispetto ai 58,6 millisecondi registrati nei primi due risultati, ma non è sorprendente, dato il tempo di risposta inferiore, poiché non vengono prerecuperati in modo così avido. Tuttavia, si tratta comunque di buoni risultati per gli stessi motivi indicati in precedenza.

Il pre-caricamento dei restanti risultati di ricerca su computer è stato implementato per impostazione predefinita a dicembre 2024.

Per i dispositivi mobili, dove in genere il passaggio del mouse non è disponibile, non è stato registrato alcun miglioramento reale e, anche se non si sono verificate regressioni, questi pre-caricamenti aggiuntivi non sono stati attivati sui dispositivi mobili.

Google non ha ancora terminato di sperimentare questa nuova API e il nostro obiettivo è rendere la navigazione sul web il più veloce possibile. Abbiamo qualche altro asso nella manica su cui stiamo lavorando.

Ad esempio, Chrome sta implementando le pagine dei risultati di ricerca pre-renderizzate per gli utenti con il precaricamento abilitato quando digitano query di ricerca nella barra degli indirizzi di Chrome e in altri punti, come la casella di ricerca su Android. Questa funzionalità è disponibile anche per altri motori di ricerca, non solo per la 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, poiché non è disponibile per la navigazione tra siti (e deve anche essere attivata per i prerendering nello stesso sito e di origine diversa).

Una nota sul supporto dei browser

Browser Support

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

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 definizione degli standard del W3C e vuole che altri browser implementino questa API.

Al momento, il proxy di prefetch privato è 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 lì.

A causa delle implicazioni sulla privacy del precaricamento senza un proxy di precaricamento privato, la Ricerca Google non esegue il precaricamento sui browser che non supportano questa tecnologia e, di conseguenza, non è stato implementato un piano di riserva che utilizzi altre tecnologie per altri browser. Tuttavia, poiché si tratta di un miglioramento progressivo, significa semplicemente 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 discusse qui, il prerendering offre ulteriori vantaggi quando e dove può essere utilizzato. Poiché siti di grandi dimensioni come la Ricerca Google mostrano chiari vantaggi di questa API per l'esperienza utente, invitiamo tutti i proprietari di siti a esaminare come possono utilizzare l'API e trarne potenzialmente vantaggio.

Inoltre, le protezioni della privacy descritte in questo post sono disponibili anche per altri siti, con l'avvertenza che gli utenti devono avere l'opzione di supporto del precaricamento esteso attivata nelle impostazioni per consentire ai siti non Google di instradare il traffico utilizzando il proxy di precaricamento privato di Google. Questo perché Google viene introdotta come parte aggiuntiva tra l'utente e il sito, mentre non è necessario sui siti Google, poiché sono già una delle parti coinvolte.