發布日期: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 文件,因此可以搶先開始載入。
您可以在開發人員工具的「應用程式」->「推測」分頁中查看規則和預先擷取嘗試,如先前所述:
隱私權保護預先擷取
由於這些連結指向其他網站的內容,使用者尚未造訪這些網站,因此預先擷取時需要額外考量隱私權。
幸好 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,則他們可能已快取該網站的部分資產,即使沒有預先擷取,網頁載入速度也可能較快。
預先擷取前兩項結果對使用者的影響
與大多數變更一樣,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" 選項:
將游標懸停在這些連結上,即可觸發預先擷取。請注意,Google 搜尋會明確列出網址,而不是使用 Speculation Rules API 的文件規則功能,因為他們不想預先擷取廣告等其他網址。
預先擷取前兩項結果以外的內容對使用者的影響
根據 A/B 測試結果,電腦版 Chrome 瀏覽器將 Google 搜尋的首次顯示內容所需時間 (FCP) 縮短了 7.6 毫秒,最大內容繪製 (LCP) 則縮短了 9.5 毫秒。與前兩個結果的 58.6 毫秒改善幅度相比,這些增益較小,但由於系統不會積極預先擷取這些結果,因此領先時間較短,這並不令人意外。不過,基於先前所述原因,這些仍是不錯的收益。
2024 年 12 月起,系統預設會在電腦上預先擷取其餘搜尋結果。
在行動裝置上,由於通常無法使用懸停功能,因此我們並未看到任何實際改善,雖然也沒有回歸,但這些額外的預先擷取功能並未在行動裝置上啟用。
Google 搜尋的進一步推測用途
Google 仍在實驗這項令人期待的全新 API,希望盡可能加快網頁瀏覽速度。我們還在開發其他幾項功能。
舉例來說,當使用者在 Chrome 網址列中輸入搜尋查詢,以及在 Android 上的搜尋框等其他位置輸入查詢時,Chrome 會為已啟用預先載入功能的使用者推出預先算繪的搜尋結果頁面。其他搜尋引擎也可以實作這項功能 (不只是 Google 搜尋),但我們目前不清楚其他搜尋引擎是否已實作。
Google 搜尋不會進一步實作結果連結的預先算繪,因為這項功能不適用於跨網站導覽 (甚至必須選擇啟用同網站、跨來源的預先算繪)。
瀏覽器支援注意事項
目前 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 已經是參與方之一。