作者:平白設計編輯部|發布與最後查證:2026-09-26|適用:台灣(中華民國)|技術資訊,不保證搜尋排名
瀏覽器在繪製畫面之前,必須先下載並解析所有同步載入的 CSS 檔案。這些樣式表若體積過大或數量過多,就會成為渲染阻塞資源,直接拖慢首次內容繪製與最大內容繪製的時間。本文整理檢查未使用 CSS 的方法、PageSpeed Insights 報告的解讀方式,以及內聯關鍵路徑、延遲非首屏樣式的具體做法。這些屬於技術層面的檢查步驟,不保證 Core Web Vitals 分數或搜尋排名會因此提升。
文章重點
- 用 Coverage 面板找出未使用的 CSS 比例
- 區分首屏關鍵樣式與可延遲的非必要樣式
- 內聯關鍵 CSS 並將其餘改為非同步載入
- 留意 WordPress 外掛合併檔案的副作用
渲染阻塞資源如何影響 FCP 與 LCP
當瀏覽器遇到 link 標籤引入的外部 CSS 時,會暫停後續 DOM 建構,直到樣式表下載並解析完成。這段等待時間會直接反映在首次內容繪製指標上。若首屏所需的樣式散落在多個檔案中,使用者看到畫面的時間就會被拉長。
最大內容繪製同樣受此影響。即使主要圖片已下載完畢,若關鍵樣式尚未就緒,瀏覽器仍不會觸發繪製。減少不必要的同步 CSS,是縮短這兩項指標最直接的技術手段之一。
檢查時可搭配 PageSpeed Insights 報告中的「排除渲染阻塞資源」提示,確認哪些檔案被列為阻塞來源。這份清單能幫助你聚焦在真正拖慢速度的樣式表,而非盲目壓縮所有檔案。

用 Chrome DevTools 檢視未使用 CSS
打開 Chrome DevTools 的 Coverage 面板,重新整理頁面後即可看到每個 CSS 檔案的使用率。紅色區塊代表目前視窗未用到的樣式,綠色則是實際生效的部分。這個視覺化結果能快速判斷哪些規則可以延後載入。
操作時建議分別在桌面版與行動版模擬環境下各跑一次,因為不同斷點啟用的樣式差異很大。若某個檔案在兩種情境下都有超過七成未使用,就值得優先處理。
除了手動檢查,也可以把 Coverage 資料匯出,交給自動化流程分析。這跟 改版後 favicon 路徑怎麼抽樣 的概念類似,都是透過系統化取樣來降低遺漏風險。
<link rel="preload" href="/css/above-fold.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/css/above-fold.css"></noscript>
<link rel="stylesheet" href="/css/below-fold.css" media="print" onload="this.media='all'">
<noscript><link rel="stylesheet" href="/css/below-fold.css"></noscript>
關鍵 CSS 內聯與非首屏樣式延遲策略
將首屏必要的樣式直接寫進 HTML 的 style 標籤中,能讓瀏覽器跳過額外請求,立即套用規則。這就是所謂的關鍵路徑最佳化。內聯的體積建議控制在合理範圍,避免讓 HTML 本身變得過於肥大。
對於非首屏才需要的樣式,常見做法是把 link 的 media 屬性先設為 print 或其他不會立即觸發的值,再用 JavaScript 在 load 事件後切換回 all。這樣瀏覽器會以低優先順序下載該檔案,不再阻塞渲染。
另一種方式是使用 preload 提前抓取樣式表,但不立即套用。搭配 onload 事件切換 rel 屬性,可以在不阻塞的情況下確保樣式及時就緒。選擇哪種策略,取決於你的部署流程與維護成本。

WordPress 合併外掛的潛在副作用
許多 WordPress 網站會安裝效能外掛來合併或最小化 CSS。這類工具確實能減少請求數量,但若把所有樣式塞進同一個檔案,反而可能讓原本可延遲的規則變成同步阻塞。合併前務必確認檔案的分類邏輯。
部分外掛會自動產生快取檔,當你修改主題或新增樣式時,舊的快取若未清除,前端就會出現破版。建議在每次更新後手動清除快取,並在無痕視窗中驗證畫面是否正常。
處理樣式表的同時,也別忽略其他資源的正確性。例如 改版後 og:locale 怎麼抽樣 就是另一個常被忽視的檢查項目,確保社群分享資訊與樣式同步到位。
CDN 快取設定與清除時機
若網站使用 CDN 分發靜態資源,CSS 檔案很可能被邊緣節點快取。當你更新了關鍵路徑或調整了延遲載入邏輯後,必須主動清除 CDN 快取,否則訪客拿到的仍是舊版樣式,導致檢查結果失真。
清除範圍要精準。只針對變更過的 CSS 路徑進行失效處理,而非整站刷新,這樣可以避免其他未更動的資源被迫重新下載,反而增加伺服器負擔。
另外,若你有使用 web manifest 定義 PWA 資源,記得同步確認快取狀態。可參考 改版後 web manifest 怎麼抽樣 的做法,建立一套標準化的驗證流程,確保各項資源版本一致。
| 策略名稱 | 適用情境 | 注意事項 |
|---|---|---|
| 內聯關鍵 CSS | 首屏必要樣式且體積小 | 避免 HTML 檔案過大 |
| media print 切換 | 非首屏且不需立即套用的樣式 | 需搭配 JS 監聽 load 事件 |
| preload 預先載入 | 需要提早下載但延後套用的檔案 | 注意瀏覽器支援度 |
| 外掛自動合併 | WordPress 等 CMS 環境 | 定期清除快取並驗證破版 |
| 手動拆分檔案 | 自訂主題或靜態網站 | 需維護多份樣式表路徑 |
可以先做
- 先用 Coverage 面板量化未使用 CSS 的比例
- 將首屏關鍵樣式內聯至 HTML head 中
- 非首屏樣式改用 media print 搭配 JS 切換
- 更新 CSS 後立即清除 CDN 對應路徑的快取
不要當成已完成
- 不要以為裝了合併外掛就等於完成最佳化
- 不要把全部 CSS 都內聯導致 HTML 過大
- 不要在未測試行動版的情況下只檢查桌面版
- 不要忽略快取未清除造成的樣式不一致問題
常見問題
渲染阻塞 CSS 一定會影響 SEO 嗎?
不一定。它主要影響載入速度指標,而速度是排名因素之一。但單靠移除阻塞 CSS 無法保證排名提升,還需綜合考量內容品質與其他技術條件。
Coverage 面板顯示的未使用比例準確嗎?
它反映的是檢查當下視窗與互動狀態的結果。若某些樣式只在特定操作後才觸發,Coverage 可能會將其標記為未使用,因此需搭配多情境測試。
內聯關鍵 CSS 的體積上限是多少?
沒有絕對標準,但一般建議控制在十幾 KB 以內,避免 HTML 檔案過大反而拖慢下載。實際數字需根據你的首屏複雜度調整。
preload 和 media print 切換哪個比較好?
兩者目的不同。preload 適合需要提前下載的資源,media print 切換則用於完全不阻塞渲染的場景。可依檔案重要性混合使用。
重點摘要
- 用 Coverage 面板量化未使用的 CSS 規則
- 內聯首屏關鍵樣式以縮短首次繪製時間
- 非首屏樣式透過 media 屬性或 preload 延遲
- 更新後務必清除 CDN 快取避免版本錯亂
