Google 搜尋如何使用推測規則

發布日期:2025 年 2 月 12 日

Google 搜尋是網路上最熱門的網站之一,也是速度最快的網站之一。Google 搜尋團隊持續投入心力,提升搜尋體驗的速度。在 Google 搜尋這類熱門網頁上,即使是毫秒級的改善,累積起來也能帶來顯著效益!這項對速度的重視包括知名的 Google 首頁、搜尋引擎結果網頁 (SERP),以及從這些搜尋結果點選至其他網站的點擊次數。

Google 搜尋一直使用 Speculation Rules API,提升從搜尋結果頁面導向結果連結的瀏覽速度,並運用 API 的幾項功能,其他網站擁有者或許也會感興趣。

預先擷取前兩筆結果

推測規則的其中一個用途,是預先擷取前兩項搜尋結果。舉例來說,搜尋「test」時,網頁會顯示下列推測規則:

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

底部的兩個網址是前兩項搜尋結果,系統會立即預先擷取這些網址。如果使用者點選這些連結,瀏覽器應該已經有 HTML 文件,因此可以搶先開始載入。

您可以在開發人員工具的「應用程式」->「推測」分頁中查看規則和預先擷取嘗試,如先前所述

開發人員工具的「Speculation」面板,顯示「text」一詞的兩個字典定義,兩者都已成功預先擷取
推測面板,其中有兩個預先擷取作業成功。

隱私權保護預先擷取

由於這些連結指向其他網站的內容,使用者尚未造訪這些網站,因此預先擷取時需要額外考量隱私權。

幸好 API 設計時已考量到這點,因此 Google 搜尋會運用兩項功能來保護使用者隱私權。

第一種是使用 requires 設定,確保預先擷取作業使用 Chrome 中的私人預先擷取 Proxy

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

這項功能會使用 Proxy 確保連線匿名化 IP 位址,因此使用者點選連結並從搜尋結果頁面前往網站前,我們不會將使用者的 IP 位址洩漏給網站。

推測規則可以預先擷取跨來源資源,不必使用私人預先擷取 Proxy,但對於已使用 Google 服務的網站,Proxy 可防止 IP 位址傳送至 Google 以外的來源。

其次,Google 搜尋會使用 referrer_policy 設定,確保搜尋網頁網址中編碼的詳細資料不會透過 referer HTTP 標頭傳送至網站:

"referrer_policy": "strict-origin",

現在大多數瀏覽器預設為 strict-origin-when-cross-origin,但這項設定會使用更嚴格的設定,即使是同源預先擷取,也會使用 strict-origin 參照網址政策。

如果使用者有網站的 Cookie,系統就會自動進行第三層防護。在這種情況下,使用者可能會根據這些 Cookie 收到不同的結果,而 Chrome 不會使用預先擷取的 HTML:

開發人員工具的「推測」面板顯示兩個網址,但其中一個網址無法預先擷取,錯誤訊息指出使用者擁有該來源的 Cookie,因此不符合資格
「推測」面板,其中一個預先擷取作業因 Cookie 而失敗。

也就是說,如果使用者有 Cookie,點選該網站時就無法享有預先擷取功能帶來的效能提升,但系統會優先保護隱私權並確保網頁載入準確。此外,如果使用者已造訪某個網站並擁有該網站的 Cookie,則他們可能已快取該網站的部分資產,即使沒有預先擷取,網頁載入速度也可能較快。

預先擷取前兩項結果對使用者的影響

與大多數變更一樣,Google 搜尋在 A/B 測試實驗中推出預先擷取功能,並評估影響。最大內容繪製 (LCP) 指標大幅改善。在 Android 版 Chrome 中,Google 搜尋點擊的 LCP 減少了 67 毫秒。後續推出的 Chrome 電腦版也獲得類似的改善,LCP 減少了 58.6 毫秒。這些改善項目適用於導向的網站,而非 Google 搜尋網站本身,但可讓 Google 搜尋使用者受益。

這些 LCP 改善幅度看似微不足道,但對於 Google 搜尋這類經過高度最佳化的網站來說,即使是毫秒級的改善,我們也會為使用者歡慶,因此數十毫秒的改善幅度相當驚人!您的網站可能會獲得顯著效益,建議您試試看

自 2022 年 10 月起,Android 裝置上的 Google 搜尋預設會啟用「使用推測規則預先擷取」功能,並於 2024 年 9 月前在電腦版推出。

前兩項結果以外的結果

自 Speculation Rules API 推出以來,已透過 eagerness 屬性進行強化,因此只有在使用者將游標懸停在連結上或開始點選連結時,才會進行預測。

Google 搜尋決定不只預先擷取前兩項搜尋結果,也預先擷取其餘搜尋結果,但只有在使用者將游標懸停在連結上時,才會使用 moderate eagerness 設定。這樣可避免浪費資源,因為系統會優先處理較有可能獲得點擊的連結。

同樣地,在 Chrome 中搜尋時,您可以在開發人員工具中看到這項規則,且與先前的規則相同,但這次設定了 "eagerness": "moderate" 選項:

開發人員工具的「規則」面板,顯示使用 anonymouse-client-ip-when-cross-origin 的清單規則、嚴格來源參照網址政策、中等急切程度和七個網址
Google 搜尋使用的推測規則。

將游標懸停在這些連結上,即可觸發預先擷取。請注意,Google 搜尋會明確列出網址,而不是使用 Speculation Rules API 的文件規則功能,因為他們不想預先擷取廣告等其他網址。

預先擷取前兩項結果以外的內容對使用者的影響

根據 A/B 測試結果,電腦版 Chrome 瀏覽器將 Google 搜尋的首次顯示內容所需時間 (FCP) 縮短了 7.6 毫秒,最大內容繪製 (LCP) 則縮短了 9.5 毫秒。與前兩個結果的 58.6 毫秒改善幅度相比,這些增益較小,但由於系統不會積極預先擷取這些結果,因此領先時間較短,這並不令人意外。不過,基於先前所述原因,這些仍是不錯的收益。

2024 年 12 月起,系統預設會在電腦上預先擷取其餘搜尋結果。

在行動裝置上,由於通常無法使用懸停功能,因此我們並未看到任何實際改善,雖然也沒有回歸,但這些額外的預先擷取功能並未在行動裝置上啟用。

Google 仍在實驗這項令人期待的全新 API,希望盡可能加快網頁瀏覽速度。我們還在開發其他幾項功能。

舉例來說,當使用者在 Chrome 網址列中輸入搜尋查詢,以及在 Android 上的搜尋框等其他位置輸入查詢時,Chrome 會為已啟用預先載入功能的使用者推出預先算繪的搜尋結果頁面。其他搜尋引擎也可以實作這項功能 (不只是 Google 搜尋),但我們目前不清楚其他搜尋引擎是否已實作。

Google 搜尋不會進一步實作結果連結的預先算繪,因為這項功能不適用於跨網站導覽 (甚至必須選擇啟用同網站、跨來源的預先算繪)。

瀏覽器支援注意事項

Browser Support

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

Source

目前 Chromium 架構的瀏覽器已導入 Speculation Rules API,但 Chrome 正在透過 W3C 標準程序發布 API 規格,並希望其他瀏覽器也能導入這項 API。

目前只有 Chrome 實作私密預先擷取 Proxy,其他以 Chromium 為基礎的瀏覽器則未實作。不過,如果其他瀏覽器實作自己的私密預先擷取 Proxy,Google 搜尋也可能會在這些瀏覽器中實作這些改善措施。

由於不使用私密預先擷取 Proxy 進行預先擷取會造成隱私權問題,因此 Google 搜尋不會在不支援這項技術的瀏覽器上預先擷取,也不會針對其他瀏覽器使用其他技術實作備援。不過,由於這是漸進式強化功能,因此這只表示這些瀏覽器的使用者無法享有這項微幅的速度提升。

立即在網站上試用!

所有網站都能使用 Speculation Rules API,不限於 Google 搜尋。除了本文討論的預先擷取功能外,預先算繪還能帶來更多優點,只要在適當的時機和地點使用即可。Google 搜尋等大型網站已證明,這項 API 可明顯提升使用者體驗,因此我們建議所有網站擁有者瞭解如何使用這項 API,並從中獲益。

此外,其他網站也能使用本文詳述的隱私權保護機制,但使用者必須在設定中啟用「擴充預先載入」支援,才能允許非 Google 網站透過 Google 的私密預先擷取 Proxy 轉送流量。這是因為這會在使用者和網站之間引入 Google 做為額外一方,但 Google 網站並不需要這麼做,因為 Google 已經是參與方之一。