跳至主要內容
🇨🇳

Shopify 服飾商品 Schema 範例

可直接複製的 Shopify 服飾 JSON-LD Product 和 ProductGroup schema 範例,涵蓋尺寸和顏色變體、報價、麵包屑,以及決定 AI 搜尋引擎是否真的引用你商品頁的 AggregateRating 規則。

5 min read

Shopify 上的服飾商品頁能否被 AI 購物引擎引用,取決於 JSON-LD 描述變體格局 的精確度。買家在 ChatGPT、Perplexity 或 Gemini 上問「真實尺碼版型的中號亞麻 襯衫」時,需要 AI 識別出這個具體變體存在、有貨、有價格,並且與 L 和 XL 兄弟 明確區分開。無變體細節的通用 Product schema 會逼 AI 靠猜;帶 hasVariantProductGroup 給它能自信引用的資料。

這個範例提供兩個可直接複製的 JSON-LD 區塊:用於變體矩陣的 ProductGroup 和 用於品類情境的 BreadcrumbList。兩者都校準過,能通過 Google Rich Results Test,並且鏡像可見頁面內容(這是 AI 引擎實際執行的規則)。

什麼時候用 Product,什麼時候用 ProductGroup

用例Schema為什麼
單 SKU 單品(一種尺寸、一種顏色)Product沒有變體矩陣 —— 加 ProductGroup 是過度設計。
服飾僅有尺寸變體ProductGroup + variesBy: sizeAI 購物查詢帶尺寸條件;扁平 Product 丟失這些。
服飾僅有顏色變體ProductGroup + variesBy: colorAI 查詢帶顏色條件。
服飾尺寸 × 顏色矩陣ProductGroup + 兩個 variesBy變體的笛卡兒積;每個 hasVariant 是唯一 SKU。
套裝 / 組合(多個父級)每個單品的 Product + 自訂 isRelatedToProductGroup 描述一個商品的變體,不是多商品組合。

Shopify 預設 Liquid 範本不論變體數都輸出 Product。對任何多尺寸服飾店,升級 到 ProductGroup 是一次性的佈景主題編輯(或自動處理的 Shopify App);AI 購物引用的提升值得這個工作。

ProductGroup JSON-LD(帶變體的服飾)

把下面這段放進商品頁範本,替換佔位值。範例顯示 2 個變體子集;正式環境裡,你 每個真實 SKU 都有一個 hasVariant 條目。

ProductGroup JSON-LD(服飾變體) json
{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Linen Relaxed Shirt",
  "description": "A breathable linen shirt in three colors, sizes XS–XL. 100% European linen, pre-washed for softness.",
  "brand": {
    "@type": "Brand",
    "name": "Example Apparel"
  },
  "productGroupID": "linen-shirt-001",
  "variesBy": ["https://schema.org/size", "https://schema.org/color"],
  "hasVariant": [
    {
      "@type": "Product",
      "sku": "LINEN-SHIRT-WHITE-M",
      "name": "Linen Relaxed Shirt — White / M",
      "color": "White",
      "size": "M",
      "material": "Linen",
      "image": "https://example.com/products/linen-shirt-white.jpg",
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/products/linen-shirt?variant=white-m",
        "priceCurrency": "USD",
        "price": "79.00",
        "availability": "https://schema.org/InStock",
        "itemCondition": "https://schema.org/NewCondition"
      }
    },
    {
      "@type": "Product",
      "sku": "LINEN-SHIRT-BLACK-S",
      "name": "Linen Relaxed Shirt — Black / S",
      "color": "Black",
      "size": "S",
      "material": "Linen",
      "image": "https://example.com/products/linen-shirt-black.jpg",
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/products/linen-shirt?variant=black-s",
        "priceCurrency": "USD",
        "price": "79.00",
        "availability": "https://schema.org/InStock",
        "itemCondition": "https://schema.org/NewCondition"
      }
    }
  ]
}

讓 ProductGroup 與 BreadcrumbList 配對,這樣 AI 引擎能理解你商品所在的品類 層級。麵包屑 URL 必須與頁面可見麵包屑完全一致。

BreadcrumbList JSON-LD json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Shirts",
      "item": "https://example.com/collections/shirts"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Linen Relaxed Shirt",
      "item": "https://example.com/products/linen-shirt"
    }
  ]
}

常見錯誤(按踩坑頻率排序)

  1. 給頁面上不可見或不可選的變體加 markup。 Schema 必須鏡像可見現實。如果 你的商品頁只顯示 S / M / L,但 JSON-LD 聲明 XS 到 XXL,AI 引擎遲早會嘗試 引用 404 的變體並降權店家。

  2. 沒有評論元件時使用 AggregateRating 要麼明顯展示評價(用 Shopify Reviews App),要麼刪除這個 schema 欄位。不要造假。

  3. schema 和可見商品頁之間貨幣、價格或庫存不一致。 買家看到 $79,但 schema 聲明 89.00 —— AI 引擎拿 schema 的數字、引用它,買家感覺被騙。更 糟的是,Google 會把 schema 標為不可信。

  4. 變體之間複用同一 sku Shopify 自動產生唯一 SKU,但商家常覆寫。 hasVariant 裡 SKU 重複會讓 AI 引擎錯誤合併變體。

  5. 混合 ProductGroupProduct 導致變體特定名稱遺失。 如果你為同一 item 同時輸出 ProductProductGroup,確保 Product 實例是父級(無 變體細節),ProductGroup.hasVariant 包含變體。不要在 group 外為每個變體 各輸出 Product

  6. 給服飾描述加醫療或無支撐的聲明。「矯正姿勢」/「促進血液循環」/「抗菌 面料預防皮膚病」—— 這些在多數市場是受監管的聲明,即使法律合規也會觸發 AI 引擎降權。堅持版型和面料描述。

  7. schema URL 指向非規範變體 URL。 如果頁面用一個 canonical 商品 URL (例如 /products/linen-shirt),變體透過 query 參數選(?variant=white-m), hasVariant[].offers.url 仍然應該指向變體特定 URL —— 這才是買家(和 AI 代理)實際登陸的地方。

如何驗證

  1. 把部署後的商品 URL 貼到 Google Rich Results TestProductBreadcrumbList 兩項都應該驗證通過。
  2. 用上面的驗證清單逐個欄位對照。
  3. 在隱私視窗開啟頁面,確認可見的商品 H1、價格、庫存和麵包屑都與 schema 聲明一致。
  4. 如果你改變了商品結構(新顏色、刪尺寸),重跑 Schema 產生器 並重新部署。

JSON-LD 是 AI 購物堆疊裡的一個訊號。把它和 Fashion llms.txt 範本 搭配用於內容地圖側,並用 Robots 分析器 驗證 GPTBot 能存取商品頁。

驗證清單

  • Schema 裡的商品名稱與可見 H1 一致

    ProductGroup 的 `name` 欄位與商品頁 H1 完全一致(大小寫 + 標點都對齊)。AI 引擎把不匹配當作低信任訊號降權。

  • 每個變體有唯一 SKU

    沒有兩個 `hasVariant[].sku` 值重複。Shopify 自動產生變體 SKU,但商家經常覆寫 —— schema 裡 SKU 重複會讓 AI 引擎錯誤合併變體。

  • 變體名稱體現尺寸 / 顏色 / 材質

    每個 `hasVariant[].name` 讀起來像真實商品標籤(例如「Linen Relaxed Shirt - White / M」),不是佔位符。AI 購物答案會直接引用這個欄位。

  • productGroupID 跨部署穩定

    `productGroupID` 應該是穩定的內部識別碼(Shopify product GID 或自訂 slug),不是隨機的 build-time UUID。AI 引擎用它跨頁面重載去重同一商品。

  • 每個 Offer 都有 currency + price + availability + URL

    每個變體的 `offers` 區塊都有 `priceCurrency`、`price`、`availability` 和 `url`。缺失 currency 是 Google Rich Results Test 降級 Product 結果的頭號原因。

  • AggregateRating 僅在真實評價可見時才出現

    如果你輸出 `aggregateRating`,商品頁上必須可見相同的評分 + 評論數。AI 引擎會對照 schema 和可見頁面內容;偽造評分會觸發降權。

  • BreadcrumbList 與可見麵包屑一致

    schema 的 `itemListElement` URL 鏈與頁面可見麵包屑完全一致(同樣路徑、同樣標籤)。不一致會混淆使用麵包屑情境理解品類的 AI 引擎。

  • Rich Results Test 無關鍵錯誤

    部署後,把商品 URL 貼到 https://search.google.com/test/rich-results —— Product 和 BreadcrumbList 兩項都應該驗證通過,無關鍵錯誤。

在 Schema 產生器中開啟

預填了服飾店佔位符的商品名、描述、品牌、價格、庫存和評分。把佔位符換成你的真實商品資料,下載 Shopify-ready 的 JSON-LD 區塊。

常見問題

Shopify 服飾商品應該用 Product 還是 ProductGroup?

無變體的簡單單品用 `Product`。只要存在尺寸、顏色或材質變體,就用 `ProductGroup` —— 它讓 AI 引擎能針對具體查詢(「M 碼亞麻襯衫」)引用正確變體,而不是混為一談。Shopify 預設 Liquid 範本只輸出 `Product`;升級到 `ProductGroup` 是手工活,但對任何多尺寸服飾店來說,AI 購物引用提升的價值都值得這點工作。

商品頁上沒有評價時可以輸出 AggregateRating 嗎?

不行。Schema 必須鏡像可見內容。如果你輸出 `aggregateRating: 4.7 from 32 reviews` 但商品頁沒有評論元件,AI 引擎和 Google 都會把它標為不可信。要麼明顯渲染評價(Judge.me、Shopify Reviews 等 App),要麼完全刪除這個 schema 欄位。

每個顏色變體都應該單獨是 `hasVariant` 條目嗎?

當變體有不同 SKU、顏色、尺寸、圖片、價格或庫存時,就應該。AI 購物引擎在回答「黑色亞麻襯衫還有貨嗎」時,需要每個變體是獨立可定址的 Product 節點,帶自己的 `offers.availability`。僅顏色變體 → 每種顏色一個 `hasVariant`;僅尺寸 → 每個尺寸一個;尺寸 + 顏色 → 笛卡兒積。

ProductGroup schema 能取代 Shopify 商品 feed 嗎?

不能。頁面上的 JSON-LD 與 feed(Shopify 自動產生的 `/products.json`、Google Merchant feed、Meta Catalog)互補。AI 購物引擎直接抓取頁面 *同時* 讀取 feed —— 兩個訊號都重要。不要為了一個放棄另一個。

相關資源