我的價格要等 JavaScript 跑完才出現,怎麼確認 AI 代理程式讀得到?
比較原始碼的價格、幣別與供應狀態,以及同一訪客情境的 Shopify 回應。確定的缺漏交開發者處理。
· 更新於 2026年9月21日
- 查證於
- 2026年9月21日
操作步驟
- 用未登入的視窗開啟公開商品頁並檢視原始碼。找出屬於該商品的 application/ld+json 區塊,以及其中的 Offer 或 AggregateOffer 資料。只有可見的價格文字並不足夠。 [1] [5]
- 維持相同訪客情境,在商品網址的商品路徑後加上 .js,並開啟相應語系路徑的 cart.js。記下 price_min 除以 100 的金額、available,以及購物車的 currency。 [4]
- 依下方說明比較每筆 Offer 的價格、幣別與供應狀態。最低價格及合併判讀的供應狀態一致,就保持頁面不變。情境或幣別不同時先停止,不要據此判定主題故障。 [4]
- 確認 Offer 缺漏或內容不一致後,請主題或店面開發者修正伺服器送出的標記,再重做比較並重新檢查商店。如果無法安全修改程式碼,將觀察到的證據交給該開發者。 [5] [2]
開啟官方畫面,再回報進度
開啟頁面與自行回報的完成或停止步驟只保存在此裝置的瀏覽器。AI Commerce Ready 和 Shopify 都不會替你檢查結果,也不會在這裡變更商店。
- 官方頁面
- Shopify 管理介面 → 網路商店 → 佈景主題 → 在相關的佈景主題上按 ··· 選單 → 編輯程式碼
- 操作前先確認
- 佈景主題程式碼編輯器開啟,顯示主題的目錄,包括 sections 與 snippets。
- 何時完成
- 每個已檢查頁面的伺服器端 JSON-LD 都指向該商品,且每筆 Offer 都完整、價格不小於零;最低價格、幣別與合併判讀的供應狀態,都與同一情境的 Shopify 回應一致。
回來後: 請保留這份解答的分頁。修正後回來重新比較同一個頁面。如果是從商店檢查進入,請重新檢查並閱讀實際涵蓋範圍,再判斷該發現是否已解決。
付費協助與免費選項
檢查隨網頁送出的價格資料,不能只看畫面上的價格。 JSON-LD 是主題放在網頁原始碼中的商品資料。將其中的價格、幣別與供應狀態,和 Shopify 的公開商品及購物車回應比對。
本篇處理公開網頁。Shopify 的資料分享說明將它與 Catalog 傳送分開。
1. 讀網頁原始碼
未登入時開啟商品頁,選擇檢視網頁原始碼。瀏覽器的檢查工具可能顯示 JavaScript 執行後的內容。
找到 application/ld+json,再找屬於這件商品的 Product 或 ProductGroup 及其 offers,包含子類。用網址、識別碼或商品證據確認身分。推薦商品的 Offer、可見價格或單獨的 Offer 字樣都不夠。
Google 表示並非所有機器人都執行 JavaScript。動態產生的 Product 標記也可能讓 Shopping 較少爬取,價格與庫存較不可靠;這些說明不保證特定代理的行為。
2. 取得同一情境的 Shopify 資料
保持相同網域、語系、市場與未登入情境。商品在 /products/example 時,開啟 /products/example.js,保留語系前綴。記下 price_min / 100 與商品層級的 available。
Shopify Ajax 商品文件表示,價格採用顧客的顯示幣別。從同一情境、相應語系的 cart.js 讀取 currency。商品回應不是所有訪客共用的基準幣別資料。
回應讀不到、重新導向改變商品或情境,或幣別不同時,以「無法比較」停下來。不能因此認定主題、app 或 JavaScript 出錯。
3. 比對這件商品的 Offers
每筆 Offer 都要有完整的 price、priceCurrency 與 availability;價格須為數值且不小於零。不能拼接不同的不完整 Offers。
- 最低 Offer 價格等於
price_min / 100。 - 每筆幣別等於購物車
currency。 - 合併供應狀態符合商品
available:true 表示至少一筆可購買,false 表示全部不可購買。最便宜的子類可以售罄,其他子類仍有貨。
商店檢查接受的可購買狀態是 InStock、PreOrder、BackOrder、LimitedAvailability;不可購買狀態是 OutOfStock、SoldOut、Discontinued。schema.org 網址讀最後的名稱,其他值需另查。
AggregateOffer 要比對 lowPrice 與 priceCurrency。若有子層 Offers,每筆須完整,最低價格符合 lowPrice,並由子層提供合併供應狀態;彙總層若有供應狀態,也須一致。沒有子層時,彙總層須自行提供供應狀態。
只使用 priceSpecification 或不支援的供應狀態時,交給開發者確認。即使標記正確,重新檢查仍可能顯示證據缺漏或不一致;不要只為通過檢查而改掉正確標記。Google 商家資訊規則是另一套要求;本檢查接受零元不代表 Google 也接受。
4. 修正確定的缺漏,再比對
交給開發者商品網址、訪客情境、JSON-LD 與商品/購物車值。不熟悉程式碼時,先停在這裡。
Liquid 主題可從主題程式碼編輯器處理。Shopify 的 structured_data 篩選器能產生 JSON-LD;開發者應修正來源,避免互相矛盾的重複 Offers。無頭店面的回應由店面開發者負責,主題編輯器不一定能控制。
保留市場定價、登入與 B2B 限制。不要移除定價 app 或公開受限價格。修正後重新比對同一批回應。
若從發現進入,回到商店檢查並重新檢查,閱讀涵蓋範圍與證據狀態。它以匿名訪客檢查主要網域最多三個已發布頁面,情境可能與你不同。網域/路徑重新導向、缺少幣別情境或幣別不同,都維持「未檢查」。
資料一致只確認這些頁面與情境,不能證明爬蟲已抓取、建立索引、助理已引用,或 Catalog 已傳送。