WordPress 圖片 CDN 與 Lazy Load 排查筆記:破圖、慢載入與封面不更新怎麼查

WordPress 的圖片問題很容易被誤判成「換一張圖就好」。實際維護時,破圖、圖片載入很慢、首頁封面不更新、社群預覽仍抓舊圖,通常會同時牽涉 CDN 轉檔、Lazy Load 外掛、瀏覽器快取、頁面快取、srcset、Alt 文字與 Open Graph metadata。
UCAMC 在整理舊 WordPress 文章與維護 Next.js 內容站時,會把圖片視為內容品質的一部分。這篇筆記整理一套適合日常維護使用的排查順序:先確認圖片 URL 真的可用,再判斷是 CDN、Lazy Load、快取或前台模板造成,而不是一開始就大量關外掛或重傳媒體庫。
先分清楚是哪一種圖片問題
同樣是「圖片不對」,背後原因可能完全不同。排查前先把現象寫清楚:
| 現象 | 常見原因 | 第一個檢查點 |
|---|---|---|
| 文章內圖片破圖 | 原始檔不存在、CDN URL 失效、大小寫路徑錯誤 | 直接開圖片 URL |
| 圖片很慢才出現 | Lazy Load 延遲、第三方 CDN 回應慢、圖片太大 | Browser Network waterfall |
| 首頁卡片仍是舊圖 | 頁面快取、物件快取、OG cache | 清頁面快取並檢查 metadata |
| 手機圖片比例怪 | srcset、CSS object-fit、容器裁切 | 手機 viewport 實測 |
| 社群分享沒有大圖 | og:image 缺失或仍指向舊圖 | 查看 rendered HTML head |
先分類的好處是可以少做破壞性操作。若只是某一張 CDN 轉檔圖回 404,就不需要停用整站 Lazy Load;若只是 Facebook / LINE 快取舊 OG 圖,也不需要重新上傳整個媒體庫。
用 curl 確認圖片 URL 真的可用
頁面能打開,不代表圖片能穩定服務。先對問題圖片做最小檢查:
curl -L -sS -o /dev/null \
-w 'status=%{http_code} type=%{content_type} size=%{size_download}\n' \
'https://example.com/wp-content/uploads/2026/08/cover.jpg'
判斷時不要只看 200。如果 content_type 是 text/html,很可能其實回到錯誤頁、登入頁或防盜連頁;如果 size_download 明顯太小,也要打開檢查是否只有一張錯誤佔位圖。
若網站使用 Cloudinary、ShortPixel、Jetpack Site Accelerator 或其他圖片 CDN,也要分別檢查:
# 原始 WordPress 圖片
curl -I 'https://www.example.com/wp-content/uploads/2026/08/cover.jpg'
# CDN / 轉檔後圖片
curl -I 'https://cdn.example.com/path/to/cover.webp'
兩個 URL 的狀態不同,就能把問題縮小到「原始檔」或「轉檔 / CDN 層」。
再看瀏覽器 Network,不要只看外掛設定頁
圖片慢載入通常不是單一設定造成。用瀏覽器 DevTools 的 Network 面板比較可靠:
- 開無痕視窗或加 query string,降低瀏覽器快取干擾。
- 勾選 Disable cache,重新整理文章頁。
- 過濾
Img或搜尋圖片檔名。 - 記錄圖片狀態碼、content-type、下載大小與載入時間。
- 檢查圖片是否一開始就請求,或等到 scroll / interaction 才請求。
如果圖片只有在捲動到區塊附近才請求,Lazy Load 可能是正常行為;如果首屏 Hero 或文章封面也被延遲到太晚才載入,就要調整排除規則,把主要封面圖排除 Lazy Load。
WordPress 後台可以怎麼安全排查
不要在正式站一口氣停用所有優化外掛。比較安全的順序是:
- 先記錄目前啟用的快取、圖片壓縮、Lazy Load、CDN 外掛。
- 在 staging 或低流量時段測試單一外掛的圖片最佳化功能。
- 只針對問題頁清快取,不要先清整站 cache。
- 暫時排除單篇文章封面或 CSS selector,而不是停用全站 Lazy Load。
- 每次只改一項,改完立刻重測圖片 URL 與頁面 Network。
若有 WP-CLI,可以先盤點外掛:
wp plugin list --status=active
wp option get blog_public
wp rewrite flush --hard
wp rewrite flush --hard 不應該被當成圖片問題的萬用解法;只有當媒體 URL、rewrite 或 permalink 規則明顯有關時才執行。多數 CDN / Lazy Load 問題還是要回到圖片 URL、外掛設定與頁面輸出來看。
封面圖與 OG 圖也要一起查
WordPress 前台圖片正常,不代表社群預覽正常。若文章改過封面圖,要同時檢查:
<meta property="og:image" content="https://www.example.com/path/to/cover.jpg" />
<meta name="twitter:card" content="summary_large_image" />
常見狀況是:
- 文章內容圖片已更新,但 SEO 外掛仍輸出舊
og:image。 - CDN 轉成 WebP 後,社群平台抓不到或抓到舊快取。
- 封面圖可開,但尺寸太小,不適合做 large image card。
- Alt 文字和檔名沒有更新,日後搬站時難以判斷圖片用途。
如果是社群平台快取,先確認 HTML head 已經正確,再去用平台 debug 工具重新抓取。不要在 HTML 還錯的時候一直清社群快取。
建立一份回滾紀錄
圖片最佳化很容易牽動全站。因此每次調整前後,都應該留下簡短紀錄:
| 欄位 | 記錄內容 |
|---|---|
| 問題頁 | 文章 URL、首頁區塊或分類頁 |
| 問題圖片 | 原始 URL 與 CDN URL |
| 調整項目 | 外掛設定、排除 selector、CDN purge、快取清除 |
| 驗證方式 | curl 狀態、Network 截圖、社群 metadata |
| 回滾方式 | 恢復外掛設定、取消排除、還原舊封面 |
這份紀錄不需要很長,但要能回答三個問題:改了什麼、怎麼知道有效、失敗時如何退回。
結語:圖片排查要逐層定位
WordPress 圖片維護不是只看媒體庫,也不是只看 CDN 後台。比較穩定的做法是從外到內逐層定位:圖片 URL、CDN 回應、瀏覽器載入、Lazy Load 行為、頁面快取、metadata 與社群快取。
當這些檢查被整理成固定流程,破圖與慢載入就不再是靠感覺處理的問題。每次維護都能保留證據、降低誤改風險,也讓舊 WordPress 內容在新的內容站、搜尋結果與社群分享中維持一致的品牌品質。