Core Web Vitals 效能優化專家
建立摘要

Measurement sources

工具名稱不是證據;
資料條件才是。

這頁不列「我們使用了什麼工具」來製造權威感,而是說明不同資料型態能回答的問題與限制。

如果你只看 Lighthouse,你可能正在優化一個不存在的用戶的體驗。我見過 Lighthouse 桌面版 92 分的網站,RUM 數據顯示真實用戶 LCP 中位數是 5.8 秒。分數沒有說謊,但測試條件和真實用戶之間的距離讓那個分數變成了一種效能劇場——看起來很好,但對使用者沒有意義。這頁要說的,就是每一種資料能回答什麼、不能替代什麼。—— 陳柏翰

Lab 測試

可以回答:在固定條件下定位載入、主執行緒與 layout 機制。

限制:不能直接代表所有裝置、地區或真實使用者。

常見誤用:我見過最常見的誤用:把 Lighthouse 分數當成用戶體驗報告給客戶。Lab 分數告訴你在一台固定設備、固定網路、固定 cache 條件下的機制行為。它不告訴你你的用戶在哪裡、用什麼裝置、在什麼時段遇到了什麼。

Field/RUM

可以回答:觀察真實使用者在一段時間內的體驗分布與變化。

限制:不會自動指出是哪一段程式或資源造成問題。

常見誤用:常見錯誤是拿 RUM 的 P75 LCP 直接去找「哪行程式碼造成的」。RUM 告訴你有多少用戶受影響、分布怎樣,但它沒有 trace,無法定位機制。要回答「為什麼」,需要配合 Lab trace。

Trace/waterfall

可以回答:拆解資源、CPU、事件與時間順序,形成可檢驗的根因假設。

限制:一次 trace 只能代表該次條件與流程。

常見誤用:一次 trace 是一次快照。如果你的問題只在特定網路條件或特定地區出現,用辦公室 WiFi 跑一次 trace 不會讓那個問題現身。我處理過一個只在東南亞用戶端出現的 LCP 問題,就是因為把本地 trace 當全局答案才拖了三週。

部署與版本紀錄

可以回答:把變更與觀察時間線連起來,排除不相關改動。

限制:相關不等於歸因,仍須回測。

常見誤用:「問題從這次部署之後開始」是一個有用的線索,不是一個結論。我遇過兩次部署同天的情況,RUM 的下滑可以歸因到其中任何一個。版本紀錄縮小了搜尋範圍;縮小不等於確認。

Source pairing

先問問題,再配對資料來源。

一項資料不必回答所有問題。把互補來源並列,才能避免用方便取得的數字替代真正需要的證據。

我在 2015 年有一個案子讓我確立了「先問問題、再選來源」這個順序。當時我直接拉了 RUM 數據,看到某個頁面的 LCP 比其他頁高出一倍,就去調整了圖片大小和快取設定。兩週後 RUM 沒有改變。後來我重新問問題:「這個 LCP 是在哪種裝置上出現的?」打開分裝置的 RUM 切片,發現問題集中在低階 Android,原因是主執行緒阻塞——完全不是圖片的問題。這個失誤教會我:先問問題,才知道你需要哪一種資料組合。—— 陳柏翰

想判斷的問題優先資料組合下一個可驗證動作
為何指定流程載入較晚?Lab trace/waterfall + 部署紀錄拆開 TTFB、資源、主執行緒與 render delay,再測一個因素。
修復是否影響真實使用者?Field/RUM + 同條件 Lab確認版本與觀察期間,再分裝置、頁面或流程比對。
為何只有某地區或某次發版異常?RUM/日誌 + edge/origin/版本時間線先確認資料切片與交付路徑,不把相關時間點直接當成因果。
哪個改動值得優先做?受影響範圍 + 可重現測試 + 變更風險寫明預期訊號、回退方式與需要哪一種資料驗證。

量測必備欄位

來源、日期、URL/流程、裝置、網路、版本與 cache 條件。

比較前先確認

兩次測量是否真的在同一條件下?若不同,要把差異寫出來。

結果如何發布

帶著原始輸出與限制;沒有 evidence pack 時只作教學,不稱 benchmark。

Correction and freshness

資料失效時,不讓舊輸出繼續支撐新結論。

版本、設備、資料期間或交付路徑改變時,舊 run 必須標出適用範圍;若無法比對條件,結論回退為待驗證,而不是被新敘述覆蓋。

Preflight

比較前的四個問題

資料描述的是誰?時間是什麼?環境是否一致?這份輸出究竟能否推翻目前的假設?四項有一項不明,先補資料而不是挑結論。

工具名稱相同,結果就可比較嗎?

不一定。仍需確認版本、URL/流程、裝置、網路、cache、地點與執行日期;同一工具可以在不同條件下回答不同問題。

沒有一種工具能同時回答機制與真實使用者嗎?

不同資料各有角色。若問題同時要求機制與使用者範圍,應明示需要配對資料,而不是把任一輸出延伸到它不能證明的地方。

客戶說「Lighthouse 說 90 分,為什麼還要做優化?」怎麼回?

這是我最常被問到的問題。我的回答是:「那個 90 分是在一台模擬的高階設備、快速 WiFi、已暖 cache 的條件下測出來的。你的用戶不住在那個條件裡。」然後我會打開他們站的 CrUX 數據,讓他們看真實用戶的 P75 LCP——通常那個數字很不一樣。Lighthouse 是診斷工具,不是用戶體驗報告。分數高不等於真實用戶滿意。

測試標準