為 WooCommerce 即時更新 WhatsApp 圖片
為 WooCommerce 即時更新 WhatsApp 圖片,意思是您儲存商品的那一刻,正確的卡片就已經準備好了,而不是 WhatsApp 會依指令重新讀取連結。沒有人能讓 WhatsApp 重新讀取連結:它會在收件人的應用程式中快取預覽,且不提供任何重新整理 API。您能控制的是商店端的一切,而這已足以讓下一位分享連結的人看到目前的商品、價格和照片。
簡短回答
WhatsApp 預覽中有兩個時鐘,而只有其中一個是你所能掌控的。
| 時鐘 | 由誰掌控 | 能否即時? |
|---|---|---|
你的頁面所提供的那個 og:image |
你(商店) | 可以 — 這正是要修正的部分 |
| WhatsApp 讀取頁面,並快取它所讀到的內容 | WhatsApp,依每位收件者而定 | 不行 — 沒有 API、沒有除錯工具、沒有變通方法 |
每一項忽略第二列的「即時更新」說法都是謊言,而每一個只修正第一列的產品,仍會在 WhatsApp 再次查看時立刻顯示正確的圖片。這就是整件事的核心:讓商店端可被證明是正確的,然後別再指望 WhatsApp 會配合。
為什麼你的更新沒有顯示出來
從「我改了價格」到「預覽更新了」之間,隔著四個各自獨立的快取。商家幾乎總是怪錯那一個。
| # | 快取 | 以什麼為鍵 | 真正能清除它的方式 |
|---|---|---|---|
| 1 | 你商店的頁面快取 / CDN | 頁面 URL | 清除頁面快取 |
| 2 | WhatsApp 的連結預覽快取 | 人們分享的連結 | 沒有——它會依 WhatsApp 的排程過期 |
| 3 | WhatsApp 持有的圖片位元組副本 | 圖片 URL | 一個新的圖片 URL |
| 4 | 你的圖片 CDN / 渲染快取 | 圖片 URL | 一個新的圖片 URL,或清除它 |
第 1 列是人們最常忽略的。快取的 HTML 頁面仍然包含舊的 og:image URL,所以即使卡片重建得完美無缺,也永遠不會被發現。請先清除頁面快取,再檢查其餘部分。
第 3 和第 4 列正是為什麼在圖片 URL 後面附加版本號是唯一可靠的快取破壞方式——新的圖片 URL 會同時在所有地方造成快取未命中。
WooCommerce 部分:你的標籤絕不該過時
在 WooCommerce 上,標籤問題通常是下列兩種情況之一,而且兩者都不是 WhatsApp 的錯:
- 完全沒有
og:image。 WordPress 與 WooCommerce 不會為product、product_cat或商店頁面輸出任何標籤。你的 SEO 外掛會提供一個——而對商品而言,它會取用靜態精選圖片。 - 標籤存在,但指向固定檔案。 靜態圖片 URL 無法隨價格變動而改變。編輯後的每次分享都會重新快取同一張過時的圖片。
FastOG 採取另一條路。封面是一個帶簽章的 URL,其查詢字串包含產生該 URL 的各種值,並且在每次請求時從即時目錄讀取:商品名稱、目前價格(get_price()——折扣商品則為特價)、劃線的「原價」、特價標章、評分、庫存與商品照片。
這帶來一個值得直說的結果:價格變動就是 URL 變動。 舊 URL 已不再描述該商品,因此 CDN 沒有過時內容可供應,下一次抓取就會重新渲染。不需要快取破壞的權宜手法,也不需要「我清過快取了嗎」的檢查清單。
在商品頁按下儲存後會發生什麼事
以 Facebook 為例——它是唯一允許任何人主動要求更新的平台——FastOG 會替你送出要求:
- WooCommerce 會觸發其原生的
product.updated/product.createdwebhook(permalink會包含在 payload 中)。 - FastOG 會重新整理該商店的目錄記錄,讓下一張封面圖是依據最新資料繪製。
- 系統會為該商品頁面的 URL 排入一個
RefreshMetaPreview工作。之所以排入佇列而非直接內嵌執行,是因為全目錄同步不能為每個項目增加一次對 Meta 的阻塞式呼叫;此外這個工作會去重複,因此反覆重新儲存同一項商品不會耗用 Meta 的速率限制。 - 該工作會以應用程式存取權杖呼叫 Meta 的 scrape 端點,Meta 便會替換該頁面預覽的的快取副本。
這是刻意設計成盡力而為(best-effort)。如果 Meta 回應緩慢、拒絕或觸發速率限制,同步仍會成功:你頁面上的標籤已經正確,唯一的代價是 Meta 會依自己的排程更新,而非立即更新。
它不會更新 WhatsApp、LinkedIn 或 X,因為這些平台都沒有提供可更新任何內容的 API。這不是 FastOG 的限制——而是另一端根本沒有對應的端點。
請依照正確順序檢查
當預覽沒有更新時,請依照這份清單由上往下排查,不要憑猜測:
# 1. Does the page still serve the OLD tag? (page cache — cache row 1)
curl -s https://your-store.com/product/example | grep -i 'og:image'
# 2. Is that image URL reachable without credentials? (cache row 3)
curl -I "https://...the-og-image-url-from-step-1..."
# 3. Did the image URL change after the edit? Compare with the URL from before.
如果步驟 1 仍顯示編輯前的 URL,那麼後續環節都幫不上忙——請清除頁面快取。如果步驟 1 顯示新的 URL,而步驟 2 回傳帶有 image/png 的 200 OK,代表商店端正確,你看到的是快取第 2 列,也就是 WhatsApp 的時鐘。
想從外部檢視全部四列嗎?請將產品 URL 貼到 See Your Links The Way Buyers Do——它會像檢索引擎爬蟲一樣抓取頁面、讀取即時標籤,並以 WhatsApp、X 和 Messenger 呈現的方式渲染結果,旁邊還會顯示以相同產品資料建構的 FastOG 封面圖。無需註冊。
快取破壞外掛或 ?v=2 有幫助嗎?
它們在一種狹窄的情境下有用,而且取捨確實存在。
預覽是依據使用者分享的連結進行快取。沒有人分享過的 URL 就沒有快取預覽——這就是為什麼附加會變動的查詢字串(?v=2)是如此常見的手法。它有效,但代價是:分享出去的連結不再是你標準的產品 URL,搜尋引擎會看到第二個位址,分析數據也會被拆分。
FastOG 把同樣的機制套用在低一層的位置,在那裡它是免費的。頁面 URL 維持標準不變;只有圖片 URL 會隨內容變動。因此舊的封面不會再被送出,而你分享的連結仍然是你要被索引的產品頁面。
沒人能修好的部分,以及我們這麼說的原因
- WhatsApp 會把預覽快取在收件者的應用程式裡。沒有任何 API、除錯工具或工具(包括我們的在內)能觸及其中。
- LinkedIn 和 X 同樣沒有公開任何有文件記載的程式化失效 API。它們的檢索程式會依自己的排程重新讀取;請不要把第三方的時間估計當成平台的保證。
- Facebook 是例外,也是 FastOG 唯一會替你發送 ping 的平台。機制請見強制重新整理 Facebook Open Graph 快取。
若有廠商告訴你它會重新整理 WhatsApp,那是在描述 Facebook 的行為,並賭你不會去查證。我們寧願交給你一份準確的地圖。
常見問題
我可以強制 WhatsApp 立即更新連結預覽嗎?
不行。WhatsApp 並未提供重新整理端點或偵錯工具,而快取的預覽存在於收件人的應用程式中。您只能確保正確的圖片已準備好供下次讀取使用。
WhatsApp 會保留連結預覽多久?
沒有公開的數據,也無法查詢——這取決於每位收件人、每台裝置。請將其視為「直到 WhatsApp 決定不再保留為止」,並改為最佳化商店端的設定。
為什麼我這邊更新了,客戶那邊卻沒有?
因為您測試時分享的是從未從您的裝置分享過的連結,或是您將其傳送到全新的聊天室。您的客戶讀取的是快取的預覽。他們的預覽與您的預覽彼此獨立。
變更產品 URL 會強制更新嗎?
沒有人分享過的 URL 沒有快取預覽,所以會——代價是同一項產品需要第二個位址。變更圖片 URL 可達到相同效果,且無須更動您的永久連結,這正是 FastOG 的做法。
我需要外掛,還是可以自行編輯佈景主題?
在佈景主題中放置靜態的 og:image 遠勝於什麼都沒有,而且免費。它做不到的是:在未逐項手動製作圖片的情況下讓每項產品有所不同——或追蹤價格變動。這正是動態封面值得投資的時機。
我的網站不在 FastOG 上。這些內容還有幫助嗎?
有。這四個快取、檢查順序與平台限制是各平台的行為,而非 FastOG 的行為。請使用 curl 與偵錯工具逐一處理這份清單。
有免費方案嗎?
有。免費的 Community 方案涵蓋產品、分類、商店與部落格文章頁面,最多 100 個項目,包含五個基礎範本,以及 Black Friday 與 Seasonal Offer 產品範本。其封面乾淨——沒有任何方案帶有浮水印,Community 也不例外。Community 在共用的 Community 伺服器上渲染,並受商店/IP 速率限制約束,而非受品牌標示限制。付費方案使用與 Community 分開的專用伺服器,提高項目額度並解鎖額外的範本與功能(評分徽章自 Starter 起、metafield 對應自 Pro 起、範圍規則與優先渲染自 Scale 起)。付費方案亦包含 14 天試用期,無須提供信用卡。