WooCommerce 價格同步於 WhatsApp 預覽
WhatsApp 預覽中的 WooCommerce 價格同步,意味著卡片上的數字是在卡片產生當下從你的商品目錄中取得的——而不是預先寫死在某人某次製作的圖片裡。當這一點成立時,唯一剩下的問題就是 WhatsApp 何時會重新讀取連結,而這正是任何商店都無法控制的一件事。
簡短的回答
價格只有在圖片是根據即時商品資料產生時,才可能出現在預覽中。靜態精選圖片永遠沒有價格可顯示;只設計一次的卡片,顯示的價格就是當天的價格。WooCommerce 預設不會提供帶有價格標記的圖片,因此「預覽中出現舊價格」的抱怨其實是兩個問題:
- 卡片是否知道目前的價格? —— 這是設計上的決定,也是您可以修正的部分。
- 價格變更後,平台是否已重新讀取頁面? —— 這取決於 WhatsApp 的時鐘,而不是您的。
為什麼價格會過時
| 原因 | 你會看到什麼 | 為什麼會發生 |
|---|---|---|
| 標籤指向精選圖片 | 完全沒有價格 | 商品照片裡本來就沒有價格 |
| 卡片只建立過一次 | 設計當天的價格 | 沒有任何機制會重新產生它 |
| 促銷活動已結束 | 折扣已結束卻還留著劃線價 | 圖片仍帶著舊的促銷標記 |
| 頁面快取仍在提供舊的 HTML | 又是舊卡片 | 檢索器永遠看不到新的 og:image URL |
只有前三項與卡片本身有關。第四項則與你的快取層有關,而從外部看起來兩者一模一樣——這正是 Instant WhatsApp Image Update for WooCommerce 中檢查順序之所以重要的原因。
同步卡片實際讀取的內容
FastOG 會為每次請求簽署一個封面 URL,而這些 props 來自即時的商品資料:
| 卡片元素 | 來源 | 備註 |
|---|---|---|
| 價格 | get_price() |
在折扣商品上,這就是售價 |
| 劃線(「原價」)價格 | 一般價格 | 僅在商品確實特價時才會送出——「原價」等於目前價格的劃線,是沒有人賺到的折扣 |
| 特價標籤 | 商品的特價狀態 | 隨特價出現與消失 |
| 庫存 | 庫存狀態 | 反映渲染當下的目錄狀態 |
| 照片 | 優先使用精選圖片,其次為圖庫 | 在卡片內組成,而非由平台裁切 |
這就是「動態」與真正動態的差別:這些值不是設計師填入的佔位符,而是在每次建立卡片時從你的商店讀取。
「同步」在兩個方向上如何運作
目錄 → 卡片。 上述每個值都會在轉譯時讀取。變更價格後,下一次轉譯就會顯示新的價格;沒有匯出步驟,也沒有需要重新上傳的檔案。
卡片 → 快取。 每個值也會隨著已簽章的封面 URL 一起傳遞。因此,編輯價格會改變 URL——這表示舊圖片不再能被定址,CDN 沒有過期內容可供提供,也不需要進行快取清除。這個類別中沒有其他做法是這樣運作的,因為自架外掛的圖片是以永不變更的檔名作為鍵值。
卡片 → Facebook。 儲存產品會觸發 WooCommerce 原生的 product.updated webhook,而 FastOG 會為該產品的永久連結排入 Meta 重新抓取,讓 Facebook 取代快取的卡片,而不是等待數週。請參閱強制重新整理 Facebook Open Graph 快取。
卡片 → WhatsApp。 無法推送任何內容。正確的卡片會等待下一次讀取。
排程特賣的邊界情況
一場在午夜開始、卻沒有人動過商品的特賣,完全不會觸發任何 webhook——這個細節會打破所有「儲存時就重新整理」的設計,包括我們的 Facebook ping。
讓卡片得以倖存的關鍵,在於它並非事先產生:封面是依當下目錄資料即時建構的,因此午夜後第一次抓取就已經顯示特賣價格與徽章。過時的數字只可能殘留在平台的預覽快取中,並會在該平台自己的排程上被替換。一張被渲染而非匯出的卡片,才是唯一能挺過無人儲存之特賣的類型。
驗證數字是否同步
價格本身就顯示在封面 URL 中,因此不需除錯工具也能檢查:
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1
# Open that cover URL in a browser and compare the number against the product page.
如果 URL 的參數與算繪出的卡片都帶有目前價格,且商品頁面顯示的價格也相同,代表商店端已同步,任何殘留的過時資料都是平台快取所致。如果 URL 仍帶有舊價格,表示頁面快取正在提供編輯前的 HTML,請清除快取。
若要端到端檢視,請將商品 URL 貼到 See Your Links The Way Buyers Do:它會讀取即時標籤,並以同一份商品資料算繪封面,與平台今日會顯示的內容並排對照。
常見問題
我要如何在 WhatsApp 連結預覽中顯示價格?
提供一個包含價格的 og:image,也就是從您的商品目錄產生的圖片,而非靜態照片。WhatsApp 會以 1200×630 的尺寸呈現標籤所指向的任何圖片;唯有價格被繪製進該圖片,價格才會顯示出來。
為什麼我結束特價後,預覽仍顯示舊價格?
可能原因有兩個:頁面提供的圖片並未變更(頁面快取,或靜態圖片),或是 WhatsApp 顯示的是編輯前的快取預覽。請先檢查目前的 og:image URL:若其中的價格也是舊的,問題出在商店端;若價格是目前的,問題則出在 WhatsApp。
卡片顯示的是特價還是原價?
顯示特價,也就是 WooCommerce 回報的目前價格,並附上原價作為比較價(compare-at),且僅在商品確實正在特價時才會顯示。
所有方案都會繪製價格與特價標章嗎?
會。FastOG 的範本欄位並未依方案分級:價格、比較價與庫存標章在所有方案皆可使用。方案之間的差異在於頁面類型、項目額度與範本廣度,而非封面能呈現什麼內容。
已經分享出去的連結,價格會更新嗎?
對 Facebook 而言,FastOG 會在商品更新後請求重新抓取(re-scrape)。對 WhatsApp、LinkedIn 與 X 而言,下一次讀取會依各平台自身的排程進行;我們不宣稱這些平台有任何公開的時程保證或程式化重新整理 API。
如果我改了價格但沒改範本呢?
這是正常情況,而且可以運作:範本定義版面配置,商品目錄提供數值。無需重新設計,也無需重新匯出任何圖片。
特價期間分享的連結,在特價結束後會繼續顯示特價嗎?
僅限於平台快取預覽仍存續的期間。封面 URL 會隨商品目錄變更,因此第一次重新讀取時就會取得特價結束後的卡片。
有免費方案嗎?
有。免費的 Community 方案涵蓋商品、分類、商店與部落格文章頁面,最多 100 個項目,並提供五個基礎範本,外加 Black Friday 與 Seasonal Offer 商品範本。其封面乾淨清爽:沒有任何方案帶有浮水印,Community 也不例外。Community 在共用的 Community 伺服器上渲染,並受商店/IP 速率限制約束,而非受品牌標示限制。付費方案使用與 Community 分開的專用伺服器,提高項目額度,並解鎖額外的範本與功能(評分標章自 Starter 起、metafield 對應自 Pro 起、範圍規則與優先渲染自 Scale 起)。付費方案包含 14 天試用,且無需信用卡。