如何修正不佳的 Core Web Vitals 分數?
核心網頁指標
先找出是哪項指標未達標、發生在哪種裝置,以及影響哪一組網頁;Search Console 的 Core Web Vitals 報告會根據真實的 Chrome 造訪資料,同時顯示這三項指標。接著針對該指標的成因進行修正:LCP 要看主要圖片或文字的載入速度;INP 要看延遲回應的 JavaScript 長任務;CLS 要看未預留空間就出現的內容。實際使用者資料涵蓋最近 28 天,因此要以一個月為期來評估修正成效。
步驟 1:找出未達標的項目
- 在 Search Console 開啟 Core Web Vitals 報告,並選擇行動裝置或電腦;兩者會分開評等。
- 開啟其中一個列出的問題(例如行動裝置上的 LCP 問題),查看受影響的網址群組與範例網址。整個群組共用同一個狀態,由其中表現最差的指標決定。
- 將範例網址輸入 PageSpeed Insights,即可並排查看該頁面的實際使用者資料,以及方便除錯的實驗室測試結果。
Lighthouse 等實驗室工具無法測量 INP,因為測試過程中沒有人與頁面互動,所以改為回報 Total Blocking Time。若要評估 INP,應以真實使用者的量測資料為準。
如何改善過慢的 LCP
web.dev 的 LCP 最佳化指南將 LCP 拆解為四個部分:伺服器回應時間、主要資源開始載入前的延遲、資源的下載時間,以及資源開始算繪前的延遲。請先處理占比最大的部分:
- 讓 LCP 圖片能在初始 HTML 中被找到,不要透過 JavaScript 或 CSS 動態插入,並為它加上
fetchpriority="high"。 - 絕對不要對 LCP 圖片使用延遲載入。
- 縮小圖片的傳輸量:使用適當的尺寸、新式格式與壓縮,並透過靠近訪客的 CDN 提供。
- 移除會阻擋算繪的資源:精簡樣式表、不在
<head>中使用同步載入的指令碼,並對主要內容採用伺服器端算繪。 - 加快伺服器回應速度:減少重新導向,並讓網頁能在邊緣節點快取。
如何改善不佳的 INP
INP 最佳化指南將每次互動拆解為輸入延遲、處理時間與呈現延遲:
- 輸入延遲:減少網頁載入期間執行的 JavaScript,讓使用者點按時主執行緒是空閒的。
- 處理時間:將冗長的事件處理常式拆成較小的任務,並適時讓出主執行緒,先完成使用者看得到的更新,其餘工作延後處理。
- 呈現延遲:維持精簡的 DOM,避免在修改樣式後立即讀取樣式而強制觸發版面配置重新計算,並對長頁面使用
content-visibility。
如何改善過高的 CLS
CLS 最佳化指南列出了常見的問題來源與對應的修正方式:
- 未指定尺寸的圖片與影片:加上
width和height屬性,或使用 CSS 的aspect-ratio。 - 廣告、嵌入內容與 iframe:在載入前先於版面中預留它們的空間。
- 插入在既有內容上方的內容:使用尺寸正確的預留位置,或將新內容插入訪客正在閱讀的內容下方。
- 網頁字型:預先載入重要的字型,避免文字在較晚的時間點重新排版。
- 動畫:對
transform製作動畫,而非top或left這類屬性。
能夠使用瀏覽器上一頁/下一頁快取(back/forward cache)的頁面,也可以避免訪客返回時發生版面配置位移。
步驟 3:確認修正成效
部署之後,開啟 Core Web Vitals 報告中的該項問題並開始驗證。Google 會對該群組監控 28 天;驗證不會觸發重新檢索,也不會加快任何流程,只是追蹤問題是否已經消失。由於實際使用者資料是以 28 天為週期滾動計算,報告的改善會是逐步呈現的。若想了解各項指標的意義,請參閱LCP、INP 與 CLS 是什麼意思?。
AutoPSEO 如何提供協助
AutoPSEO 的 Core Web Vitals 報告會以圖表呈現你的網站或單一 URL 約六個月的每週 Chrome UX Report 資料,並可依手機、電腦或平板檢視。這樣你不必等 28 天的資料視窗結束,就能看出修正是在哪一週生效,或是哪一週的版本更新讓情況變差。