往返快取有助於 Yahoo! JAPAN News 行動收益增加 9%

Yuriko Hirota
Yuriko Hirota

往返快取 (或 bfcache) 是一種瀏覽器最佳化功能,能讓使用者迅速往返網頁,大幅提升瀏覽體驗,尤其是需要頻繁來回瀏覽的網站。

web.dev 上的 bfcache 文章

Yahoo! JAPAN News 是日本最熱門的新聞平台之一,他們致力於提高 bfcache 命中率,結果大幅改善了使用者體驗和業務。具體來說,他們進行的 A/B 測試結果顯示,使用 bfcache 的網頁廣告收益增加了 9%

本個案研究將說明 Yahoo! JAPAN News 移除了 bfcache 的阻礙,以及 bfcache 如何大幅提升使用者體驗。

移除 bfcache 的阻礙

bfcache 自 Chrome 86 起推出,所有新式瀏覽器也支援這項功能。不過,如要充分運用 bfcache,就必須移除網站上可能造成阻礙的因素。Yahoo! JAPAN News 面臨的挑戰包括:

  1. 使用 unload 處理常式。
  2. Cache-control 標頭上使用 no-store 指令

如要檢查網站上的主要阻礙因素,請依序前往 Chrome 開發人員工具 >「應用程式」 >「返回/轉送快取」。或者,您也可以使用 notRestoredReasons API,根據實際使用情況,更全面地瞭解阻礙因素。

Yahoo! JAPAN News 移除了障礙:

CCNS 適用於任何情況下都不應快取的網頁。但請注意,含有 CCNS 的網頁無法享有任何快取技術的優勢,包括 CDN 邊緣伺服器和本機快取。

如果您有 CCNS 標頭,不妨趁此機會討論適合您網站的 Cache-control 策略。以下是 no-storeno-cache 的主要差異。

Cache-control: no-store Cache-control: no-cache
  • 系統不允許將回應儲存在快取中。
  • 因此,每次要求都會擷取完整的回應。
  • 這項功能適用於私人回覆。
  • 只要在每次使用前向伺服器重新驗證,回應就能儲存在快取中。
  • 這類回應應為您每次都想重新驗證的公開回應 (例如新聞網站的首頁,但即使如此,極短的快取時間也能提升效能,並卸載主要伺服器的工作)。

如要進一步瞭解 cache-control 選項,請參閱cache-control流程圖

進行 A/B 測試以證明影響

如要評估 bfcache 的影響,Yahoo! JAPAN News 進行了為期兩週的 A/B 測試,他們向其中一組使用者提供已修正往返快取問題的網頁版本,向另一組使用者提供不適用往返快取的網頁版本。他們測試了流量顯著的網址路徑,確保測試能產生有意義的結果。網頁在視覺或功能上沒有其他差異。

以下影片比較了網站啟用 bfcache 和未啟用 bfcache 的情況。您會發現啟用 bfcache 的網站在往返瀏覽時,載入速度明顯加快。

最令人振奮的是,啟用 bfcache 的群組網頁瀏覽量和廣告收益大幅增加,尤其是在行動裝置上。

以下是 Yahoo! 觀察到的影響詳細資料。JAPAN News 進行 bfcache A/B 測試。詳情請參閱這項個案研究

指標 升幅百分比 (行動裝置) 升幅百分比 (電腦)
bfcache 命中率 +54.03 分 (0.04% → 54.07%) +47.28 分 (0.02% → 47.30%)
網頁瀏覽 +2.26% +0.65%
廣告收益 +9.0% +0.6%

使用 bfcache 後,網頁間的返回/前進導覽會立即完成,使用者通常會在網頁上停留較久,因此廣告瀏覽次數會增加,進而提高廣告收益。

順暢的使用者體驗

網頁即時載入時,瀏覽體驗會更加順暢。

在 Yahoo! 以 JAPAN News 為例,其中一項主要使用者歷程是閱讀多篇文章:

  1. 前往文章清單。
  2. 按一下其中一篇文章即可閱讀。
  3. 完成後,請返回文章清單。
  4. 按一下其他文章即可閱讀。

在 bfcache 推出前,使用者讀完文章後,必須等待文章清單頁面重新載入。如果使用者想快速返回清單,挑選其他文章閱讀,這可能會造成阻礙。

另一個造成返回瀏覽阻礙的原因是捲動位置。實際上,瀏覽器會在往回瀏覽時嘗試還原捲動位置。不過,由於動態新增廣告或其他版面配置變更,捲動位置可能會還原錯誤。這會導致使用者混淆,甚至放棄瀏覽網頁。

如果向後導覽是由 bfcache 支援,這個問題就能解決:系統會立即正確還原捲動位置。

兩張底片,顯示往回瀏覽的過程。頂端是使用 bfcache 處理的影片格,耗時 0.3 秒;底部是使用相同程序處理的影片格,但未使用 bfcache,耗時 3.3 秒。

現在有了 bfcache,使用者歷程中的阻礙就消失了。使用者可以立即返回文章清單頁面,並選取其他文章閱讀,不必等待文章清單頁面載入。

使用者直接從一篇文章瀏覽到另一篇文章,然後返回時,也會發生同樣的情況:

動畫圖片:顯示從文章返回文章清單頁面的導覽流程,並說明有無 bfcache 的差異。
使用 bfcache 時,返回瀏覽速度會更快,且捲動位置會準確維持。如果沒有 bfcache,就無法保證這些改善措施能發揮作用。

簡而言之,Yahoo! JAPAN News 包含:

  • 網頁瀏覽次數增加:使用 bfcache 快取網頁後,使用者更可能在網站內瀏覽。
  • 收益增加:由於單次工作階段的網頁瀏覽量增加,廣告曝光次數也隨之增加,因此與未啟用 bfcache 的測試群組相比,行動裝置上的收益增加了 9%。

立即導入 bfcache

簡而言之,bfcache 不僅能讓網站立即載入,還能減少整體使用者體驗的摩擦,並提高網站參與度。

Chrome 團隊會持續研究 bfcache 阻斷因素,尤其是列出的原因,因為這些是 bfcache 未使用的常見原因。日後這些方法可能無法防止使用往返快取,但您不必等到那時才採取行動。您可以立即查看 bfcache 阻斷因素,避免這些常見 (和其他較不常見) 的模式,從中獲益。