針對 Google 搜尋開始使用 Signed Exchange
Signed Exchange (SXG) 可讓 Google 搜尋預先擷取您的內容,同時確保使用者的隱私安全。從實務上來看,這代表如果相關聯的網站支援 SXG,那麼不論是 Google 搜尋中顯示的 AMP 還是非 AMP 搜尋結果,或許都可以透過保護隱私權的方式預先擷取某些關鍵資源,例如 HTML、JavaScript、CSS、圖片或字型等。
由於關鍵資源已準備就緒,因此當使用者最終點選搜尋結果時,網頁開始顯示的速度就會變快,進而提供更優質的使用者體驗。不過,這可能表示內容的最大內容繪製 (LCP) 得分會較低,進而提升整體網頁體驗。
實作 SXG
如要實作 SXG,請按照 web.dev 的詳盡指南操作。 實作後,請按照這份指南使用 SXG 針對效能改善作業進行評估和最佳化。
如果是 AMP 網頁,請按照 amp.dev 的詳盡指南操作。
Google 搜尋的其他相關規定
Google 會使用 SXG 快取來預先擷取您的內容,因此可能會多次提供這些快取 SXG。
為確保 Google 搜尋能夠顯示最新的內容,請妥善設定 SXG 的到期日。原則上,請確保到期日在以下兩個日期之前:
- 由 HTTP 標頭判定的快取到期時間
- 如果內容是透過 JavaScript 或內嵌 JavaScript 建立,就是 1 天後;其他情況則是 7 天後
為確保內容在多部裝置上提供時能正常顯示,請執行以下操作:
- 將購物車等個人化內容移至 SXG 外的延遲載入元素中。或者,您也可以新增
Vary: Cookie
簽名標頭;只有不具備您的網站 Cookie 的訪客才會看到含有這個標頭的 SXG。 - 採用回應式網頁設計來建構網頁,或者透過不同網址提供電腦版和行動版網頁;您也可以使用
supported-media
meta
標記為網頁加註,說明這些網頁不是回應式網頁。 例如,在網頁的<head>
元素中加入下列標記:<meta name=supported-media content="only screen and (max-width: 640px)">
監控及對 SXG 進行偵錯
如需可用來對 SXG 偵錯的工具清單,請參閱 web.dev 的 SXG 工具指南。
如果 Googlebot 無法剖析 SXG,系統為了擷取 text/html
變數,可能會在 Accept
標頭中缺少 application/signed-exchange;v=b3
的情況下重新檢索網址。
如果發生任何 SXG 索引錯誤,Google 搜尋會連結至原始網址,不使用 SXG。
如果是 AMP 網頁,請使用 Search Console 中的 AMP 狀態報告來監控 SXG 錯誤。
對 Google SXG 快取進行偵錯
如要判斷 SXG 是否符合快取規定,請使用 SXG Validator Chrome 擴充功能。
或者直接查詢 Google SXG 快取。
舉例來說,如果 SXG 網址為 https://signed-exchange-testing.dev/sxgs/valid.html
,請將對應的快取網址建立為:
https://signed--exchange--testing-dev.webpkgcache.com/doc/-/s/signed-exchange-testing.dev/sxgs/valid.html
用來計算子網域和網址路徑後置字串的演算法與 AMP 快取的演算法相同,但中置字串 /doc/-/
並不相同。
如果回應是 SXG,表示原始伺服器的回應符合 Google SXG 快取規定;如果不是,回應會含有用來說明原因的 HTTP 標頭。
- 如果有
Warning
標頭,代表發生錯誤,導致 SXG 無法符合快取規定。 - 如果有
Location
標頭,即表示快取尚未擷取該標頭。這並不是 SXG 中的錯誤。
無論是哪一種回應,快取都會將對原始網址的要求排入佇列,然後要求更新的網址。這個要求何時會發生,以及是否會發生,取決於多項因素,包括 Googlebot 檢索網站的速度。
Google 對 SXG 快取的時間不會超過 SXG 簽名中的 expires
值,或是 SXG 回應中未簽署標頭中的更新生命週期。
針對 AMP 網頁,您可以使用網址檢查工具對快取錯誤進行偵錯。
持續關注最新資訊
訂閱 webpackaging-announce 郵寄清單即可掌握下列各項最新異動:
- Google SXG 快取變動,包括新功能啟用和舊功能淘汰等內容。
- SXG 工具 Web Packager、NGINX SXG 模組和 libsxg 的重大變更。
如果您對 Google 搜尋的 SXG 有任何疑問,請造訪搜尋中心產品討論社群。