跳转到主要内容
🇨🇳

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 —— 两个信号都重要。不要为了一个放弃另一个。

相关资源