跳转到主要内容
🇨🇳

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 靠猜;带 hasVariant 的 ProductGroup 给它能自信引用的数据。

这个示例提供两个可直接复制的 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. 混合 ProductGroup 和 Product 导致变体特定名称丢失。 如果你为同一 item 同时输出 Product 和 ProductGroup,确保 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 Test。 Product 和 BreadcrumbList 两项都应该校验通过。
  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 —— 两个信号都重要。不要为了一个放弃另一个。

相关资源