← 返回部落格

Core Web Vitals 優化全攻略:LCP、CLS、INP 實戰

一、LCP 最大內容繪製

LCP(Largest Contentful Paint)衡量的是使用者看到主要內容的時間。Google 建議 LCP 應在 2.5 秒以內完成。

什麼算 LCP?

LCP 元素通常是頁面上最大的可見元素:首屏的大圖、標題文字、背景影片或大型文字區塊。常見的 LCP 元素類型:

  • <img> — 首屏的主要圖片
  • <video> — 自動播放的封面圖
  • CSS 背景圖 — 透過 url() 載入的大圖
  • 區塊級元素 — 包含文字節點的大區塊

LCP 常見問題與修復

  1. 圖片未預載入:使用 <link rel="preload"> 預載入 LCP 圖片,避免瀏覽器等 CSS 解析後才發現圖片。
  2. 伺服器回應慢:使用 CDN、啟用 HTTP/2、壓縮資源(Brotli/Gzip)。
  3. CSS/JS 阻塞渲染:使用 asyncdefer 載入 JavaScript,將關鍵 CSS 內嵌。
  4. 圖片格式不佳:改用 WebP/AVIF 格式,配合 srcset 提供適當尺寸。
  5. 客戶端渲染:考慮使用 SSR 或 SSG 減少客戶端等待時間。

二、CLS 累計版面位移

CLS(Cumulative Layout Shift)衡量頁面在載入過程中視覺穩定性。好的 CLS 分數應低於 0.1

版面位移的常見原因

  • 無尺寸的圖片/影片:未設定 widthheight,導致圖片載入後推擠其他元素。
  • 動態注入的廣告/嵌入:廣告載入後改變頁面高度。
  • 動態插入的內容:例如「更多」按鈕後面突然出現的內容。
  • Web 字型導致的 FOUT/FOIT:字型載入前後的文字大小變化。

CLS 修復技巧

  1. 為所有圖片和影片設定明確的 widthheight 屬性,或使用 aspect-ratio CSS 屬性。
  2. 廣告區塊使用固定的 min-height,即使廣告未載入也預留空間。
  3. 使用 content-visibility: auto 減少非首屏內容的版面計算。
  4. 字型使用 font-display: optionalfont-display: swap 搭配大小調整。

三、INP 互動到下一次繪製

INP(Interaction to Next Paint)於 2024 年 3 月取代 FID,成為 Core Web Vitals 的正式指標。INP 衡量頁面對所有使用者互動的回應速度,應在 200 毫秒以內

INP vs FID 的差異

FID 只衡量第一次互動的延遲,而 INP 衡量整個頁面生命週期中所有互動的回應時間,取最差值作為代表。這意味著即使首次互動很快,如果後續互動卡頓,INP 分數仍然會很差。

INP 優化策略

  • 拆分長任務:使用 requestIdleCallbackscheduler.yield() 將長時間的 JavaScript 任務拆分為小塊。
  • 減少 DOM 規模:過多的 DOM 節點會增加事件處理與版面計算的時間。目標維持在 1,500 個節點以內。
  • 優化事件處理器:確保事件回調函數執行時間短暫,必要時使用 Debounce/Throttle。
  • 避免忙碌的主執行緒:將計算密集的任務移到 Web Worker。

四、測量工具與基準

以下工具可以幫助你測量 Core Web Vitals:

  • PageSpeed Insights:結合實驗室(Lighthouse)與現場(CrUX)數據,是最全面的工具。
  • Chrome DevTools → Performance:查看 LCP 標記、佈局偏移事件。
  • Web Vitals Chrome 擴充套件:即時顯示當前頁面的 CWV 數據。
  • Search Console → 核心網頁指標:查看全站的現場數據報告。
  • Lighthouse(CLI 版):可在 CI/CD 流程中自動化執行。

五、優化實戰步驟

建議的優化順序:

  1. 先在 PageSpeed Insights 查看目前的分數,記錄基準值。
  2. 優先處理 LCP — 通常是投入產出比最高的指標。預載入 LCP 圖片、優化圖片格式。
  3. 接著處理 CLS — 確認所有圖片有尺寸屬性、廣告有預留空間。
  4. 最後處理 INP — 檢查主執行緒的長任務,拆分 JavaScript 任務。
  5. 每次修改後重新測量,確保改善效果。使用 CrUX 數據追蹤長期趨勢。

六、總結

Core Web Vitals 不只是技術指標,更是使用者體驗的量化。投資在 CWV 優化上,不僅能提升搜尋排名,更能直接改善使用者滿意度與轉換率。需要專業協助?的效能優化團隊。

推薦閱讀