WhatsApp 連結預覽未顯示?修正 og:image
WhatsApp 連結預覽未顯示,幾乎總是歸因於以下五個原因之一:頁面缺少 og:image 標籤、圖片 URL 無法公開抓取、圖片尺寸不符導致 WhatsApp 裁切、裁切正常但預覽已過期,或商店的 SEO 外掛輸出了衝突的標籤。本指南涵蓋每個原因、為何無法強制 WhatsApp 重新整理,以及在 WooCommerce 商店上需要調整的內容。
簡短回答
WhatsApp 會根據頁面的 Open Graph 標籤建立連結預覽。如果 og:image 遺失、無法存取,或不是 1200×630 的卡片形狀,分享內容就會以純連結、灰色區塊或裁切不佳的商品照片呈現。大多數 WooCommerce 商店根本沒有為商品頁面設定 og:image——SEO 外掛會退回使用靜態的精選圖片,而方形或直式的商品照片則會被裁掉兩側或頂部。
1. 頁面上沒有 og:image 標籤
這是商店中最常見的原因。WordPress 和 WooCommerce 預設不會為商品、分類或商店頁面輸出 og:image,而如果主題沒有處理 Open Graph,則會完全省略該標籤。
修正方式: 檢視頁面原始碼,確認 og:image 標籤存在、使用絕對路徑(完整的 https://… URL,絕非相對路徑),且由伺服器端渲染——而非在載入後由 JavaScript 注入。WhatsApp 不會執行你的 JavaScript。
curl -s https://your-store.com/product/example | grep -i 'og:image'
空白的結果就是你的答案:WhatsApp 沒有圖片可以顯示。
2. 圖片網址無法公開存取
WhatsApp 的爬蟲會像任何匿名用戶端一樣擷取圖片。位於登入頁面之後、localhost 上、原始 IP 位址上,或路徑被 robots.txt 封鎖的網址,都會失敗。
修正方式: 確認該網址在無需憑證的情況下即可回傳圖片。
curl -I https://your-store.com/wp-content/uploads/product.jpg
您需要 200 OK 和 image/png 或 image/jpeg 的 Content-Type。
robots.txt 陷阱。 社群爬蟲會遵循 robots.txt,因此封鎖存放圖片路徑的規則會破壞預覽——而且這種破壞方式很容易誤判。Meta 的除錯工具隨後會回報 「無法將此內容處理為圖片。它可能已損毀或格式無效」,這讀起來就像渲染失敗。curl 永遠無法重現此問題,因為 curl 會忽略 robots.txt。如果您的圖片是從受 Disallow: 規則涵蓋的路徑提供,無論檔案多麼有效,預覽都會失敗。我們在 FastOG 自己的渲染路徑上也遇到過這個問題,並透過最長匹配的 Allow: 覆寫來解決。
3. WhatsApp 會裁切你的商品圖片——而且事後編輯照片也無法解決
這就是商家所描述的「我的商品圖片在 WhatsApp 上被裁切了」的症狀,而這正是值得徹底理解的一點。
該平台會將它所收到的任何圖片裁切為 1200×630 的框架。正方形或偏高的商品照片,其兩側或頂部會被切掉;Logo 圖塊則會被拉伸。在 Photoshop 中手動裁切原始照片是一場必輸的遊戲,因為 WhatsApp 是根據卡片的長寬比來決定裁切範圍,而不是根據你選擇的構圖——而且下一張商品照片的形狀又會不同。
解決方法在於改變你提供的圖片,而不是你擁有的照片。 傳送一張已經以 1200×630 構圖完成的卡片,並將商品照片嵌入其中。如此一來,平台就沒有什麼好裁切的了。
4. WhatsApp 連結預覽圖片的正確尺寸
標準的 Open Graph 圖片尺寸為 1200×630 像素,比例為 1.91:1,這是包括 WhatsApp 在內所有主要平台預期的格式。使用 1200×630 的尺寸,預覽畫面就能正確呈現;若使用 1000×1000 的正方形圖片,WhatsApp 會裁切圖片以填滿預覽框架。
請將檔案大小控制在 5 MB 以內。一張包含文字與產品的 1200×630 卡片,以 PNG 格式儲存時,檔案大小通常介於 200 KB 到 500 KB 之間。
關於該比例為何成為標準格式,請參閱 OG 圖片尺寸:1200×630 詳解。
5. 預覽已過期——而且你無法強制 WhatsApp 重新整理
如果標籤、網址和格式都正確,但預覽仍然錯誤,那你看到的是快取(cache)。
WhatsApp 會快取預覽,且存放在收件者的應用程式中,這表示沒有任何工具能要求 WhatsApp 重新整理——除錯器不行、API 不行、我們也不行。WhatsApp 沒有提供任何程式化的重新整理機制,所以沒有按鈕可按。任何聲稱可以的人,描述的其實是 Facebook 的行為,而非 WhatsApp 的。
你能做的是確保正確的圖片在 WhatsApp 下次讀取頁面時已經就緒。這就是為什麼 FastOG 的封面網址採用內容定址(content-addressed):當產品的標題、價格或圖片變更時,網址也會隨之改變,因此下次讀取時不可能抓到舊的卡片。至於何時讀取,則由 WhatsApp 決定。
兩個相關平台也有相同行為——LinkedIn 和 X 同樣沒有提供失效(invalidation)API,通常約一週內會重新讀取。如果你趕時間,它們各自的檢查工具可以稍微推動重新讀取:
| 平台 | 工具 | 能否強制重新整理預覽? |
|---|---|---|
| (無) | 否——預覽快取在收件者的應用程式中 | |
Sharing Debugger——developers.facebook.com/tools/debug |
是——「Scrape Again」,也可透過程式方式 | |
Post Inspector——linkedin.com/post-inspector |
可推動重新讀取 | |
| X / Twitter | Card Validator——cards-dev.twitter.com/validator |
可推動重新讀取 |
用 Facebook 除錯器處理 WhatsApp 問題。 即使它無法重新整理 WhatsApp,將網址貼進 Sharing Debugger 仍然值得,因為它會以 WhatsApp 相同的方式抓取頁面,並回報實際找到的內容——缺少的標籤、無法存取的圖片、錯誤的格式。請把它視為標籤的驗證工具,而非 WhatsApp 快取的修復方案。
6. 在 WooCommerce 商店上修正此問題
在 WooCommerce 上,這個流程值得精確說明,因為失敗模式通常是 SEO 外掛,而不是佈景主題:
- 預設情況下不存在此標籤。 WooCommerce 並未為
og:image、product、product_cat或商店頁面提供對應的標籤。 - 你的 SEO 外掛會以錯誤的方式填補這個缺口。 Yoast、Rank Math、All in One SEO 和 SEOPress 會輸出
og:image——但對於產品,它們會使用靜態的精選圖片。那通常是正方形或直式照片,而這正是 WhatsApp 之後會裁切的圖片。 - 留意重複的標籤。 如果兩個外掛都輸出
og:image,平台會選擇其中一個,而且可能不是你預期的那個。請檢視原始碼,並計算頁面輸出了多少個og:image標籤。
FastOG for WooCommerce 採取不同的做法:它會在自己的渲染服務上,從即時目錄資料(標題、價格、促銷標籤、評分、產品照片)渲染出一張 1200×630 的卡片,然後將該封面交給您已經在使用的任何 SEO 外掛,而不是自行輸出一個競爭的標籤。如此一來,頁面上只會保留一個 og:image,而且它是針對 1.91:1 的畫面比例所設計的卡片,而非原始產品照片。
由於封面是從即時目錄資料繪製而成,卡片上的價格會與頁面上的價格一致,而有折扣的產品也會顯示促銷標籤。當您儲存產品時,外掛也會要求 Facebook 重新讀取頁面——Facebook 是唯一提供程式化重新整理功能的平台。WhatsApp、LinkedIn 和 X 會依照各自的排程更新,而外掛會如實說明這一點,而不是承諾無法實現的重新整理。
- 安裝:WordPress.org 上的 FastOG for WooCommerce
- 詳細資訊與常見問題:WooCommerce 整合頁面
檢查 WhatsApp 實際會看到什麼
在進行任何變更之前,請先以爬蟲(crawler)的角度檢視頁面。將任何產品 URL 貼到 See Your Links The Way Buyers Do — 它會擷取頁面、讀取目前的 Open Graph 標籤,並顯示 WhatsApp、X 和 Messenger 實際渲染出的預覽,旁邊則是以相同產品資料建立的 FastOG 封面。無需註冊即可使用。
偏好直接檢查原始標籤?請使用 Open Graph Meta Tag Generator 查看標記,或參考 og:image Not Showing? How to Fix It 中的說明文件。
常見問題
為什麼我的產品圖片在 WhatsApp 上會被裁切?
WhatsApp 會將收到的任何圖片裁切為 1200×630 的框架。正方形或直式的產品照片會失去左右兩側或上下兩端。若直接提供已組合成 1200×630 的卡片——並將產品照片嵌入卡片內——平台就沒有東西可以裁切。
我可以強制 WhatsApp 重新整理連結預覽嗎?
不行。WhatsApp 沒有提供重新整理的 API 或除錯工具,而且快取的預覽存在收件者的應用程式中。你只能確保正確的圖片在下次被讀取時已就緒。Facebook 是例外,它提供程式化的重新抓取功能。
為什麼 Facebook Sharing Debugger 顯示我的圖片,但 WhatsApp 卻什麼都不顯示?
因為它們是各自獨立的快取,而且除錯工具回報的是頁面的標籤,兩個平台都會讀取這些標籤。如果除錯工具顯示正確的圖片,但 WhatsApp 什麼都不顯示,代表標籤沒問題,你看到的是尚未重新整理的 WhatsApp 快取。如果除錯工具也什麼都不顯示,代表標籤遺失或圖片無法存取——請依序檢查原因 1 和 2。
WhatsApp 使用的是 og:image 還是 twitter:image?
og:image。請設定 Open Graph 標籤。twitter:image 是給 X 使用的。
我需要外掛程式,還是可以自己加入標籤?
你可以自行在主題中加入靜態的 og:image 標籤——這確實有效,而且比完全沒有好得多。但它無法為每個產品產生不同的卡片,除非你手動為每個產品製作一張圖片,而且每當價格變動時,它就會過期。這就是動態封面值得採用的時機。
我的網站不在 FastOG 上。這篇文章還有幫助嗎?
有——這五個原因是平台行為,而非 FastOG 的行為。請依序使用 curl、頁面原始碼和除錯工具逐一檢查。