Shopify 商品 Schema Markup(JSON-LD)怎么生成?

商品 SEO 与结构化数据9 分钟阅读

从商品页可见信息构建 Product JSON-LD,先检查 Shopify 主题是否已有结构化数据,再验证已发布的商品页面。

目录
  1. 先看答案
  2. 先检查 Shopify 是否已经输出 Schema
  3. 从真实商品页构造 JSON-LD
  4. 谨慎地把标记加入 Shopify
  5. 验证整个页面,而不只检查 JSON
  6. Shopify 商品 Schema 常见错误
  7. 常见问题

先看答案

Product JSON-LD = 与页面一致的 Product 商品信息 + 商品可购买时的有效 Offer + 品牌、SKU 和真实评价等可选资料。

JSON-LD 是帮助搜索引擎理解商品信息的结构化数据格式。它本身不保证搜索结果展示富媒体,也不意味着排名一定提升。先从单个商品详情页开始,确保标记与页面上可见的商品及报价一致,再验证已发布的 URL。

Shopify 商品 Schema 生成器可根据商品名称、图片 URL、价格、货币和库存状态生成 Product JSON-LD,并可选添加品牌、描述、商品 URL、SKU 和汇总评分。它可以生成可复制代码并链接到 Google 富媒体搜索结果测试,但不会自动把代码安装到 Shopify 主题。

先检查 Shopify 是否已经输出 Schema

添加脚本前,先检查已渲染的页面源码,或用 Google 富媒体搜索结果测试检查已发布的商品 URL。很多 Shopify 主题或 SEO 应用已经输出 Product 结构化数据。再添加一个价格、库存或变体信息不同的商品实体,可能造成信息冲突。

Shopify 开发文档提供 Liquid structured_data 过滤器,可以将商品对象序列化为 schema.org JSON-LD:{{ product | structured_data }}。使用生成器或手动增加代码前,先检查主题和应用当前的输出。Shopify structured_data Liquid 过滤器文档说明了支持的对象,包括 Product 以及商品含变体时的 ProductGroup 行为。

如果现有标记缺失或不完整,应先在主题副本或测试主题里修改。Shopify Online Store 主题使用 Liquid 模板和区块,代码通常应放在商品模板或它调用的商品片段中,让相关商品页都能读取正确数据。不要把一个静态价格或库存状态硬编码进服务多个商品变体的模板。

从真实商品页构造 JSON-LD

对于消费者可以购买单个商品的详情页,Google 支持带有 Offer 的 Product 结构化数据。Product snippets 和 Merchant listings 的具体资格要求有所不同。Google 的 Product 结构化数据概览说明可选的展示类型;Merchant listing 文档介绍了合格卖家页面可补充的报价、配送和退货政策信息。

以下是精简示例。名称、图片、网址、价格和库存状态均为示意,实际使用时必须替换为页面上的真实信息:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Canvas Market Tote",
  "image": ["https://example.com/images/canvas-tote.jpg"],
  "description": "A reusable cotton canvas tote with reinforced handles.",
  "sku": "TOTE-BLK-01",
  "brand": { "@type": "Brand", "name": "Northstar Goods" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/canvas-market-tote",
    "priceCurrency": "USD",
    "price": "39.00",
    "availability": "https://schema.org/InStock"
  }
}

name 和 image 应描述页面展示的同一商品。offers.price 和 priceCurrency 应反映消费者可购买的报价,availability 应与实际销售状态相符。价格、库存或所选变体变化时,要确保标记也能更新。商品有多个变体时,可能需要不同的变体 URL 和报价信息;一个静态 Offer 未必能准确代表所有变体。

只添加能够核实的属性。不要为了填充字段虚构 SKU、品牌、折扣、有效价格日期、评价数量或评分。如果加入 aggregateRating,必须来自真实评价,并与消费者页面可见的信息一致。误导或无关的结构化数据可能被 Google 忽略或触发处理。

谨慎地把标记加入 Shopify

  1. 先复制现有主题或使用开发主题,确认效果后再发布。
  2. 检查商品页渲染后的 HTML,并用 Google 富媒体搜索结果测试查看已有 Product 实体。
  3. 如果主题已输出准确标记,优先修正商品或变体字段,避免重复添加。
  4. 确实需要新代码时,应绑定 Shopify 商品和当前选中变体的数据,不要把示例值写死。
  5. 正确使用 JSON 序列化动态值。不要未经转义就把商品文案拼接进脚本。
  6. 预览多个商品、变体、促销价和库存状态,确认脚本与页面展示一致。
  7. 发布后重新验证线上 URL,并在 Google 重新抓取后查看 Search Console 对应商品报告。

Shopify 商品页 JSON-LD 生成器适合组装和预览基础示例。生成结果只是代码片段,不会自动集成到主题;你仍要把它放在正确的 Liquid 上下文中,确保爬虫能读取服务端输出,并检查变体行为。当前生成器只支持 USD、EUR、GBP,以及有货或缺货状态;若商品需要其他货币或更复杂的报价结构,就需要其他实现方式。

验证整个页面,而不只检查 JSON

JSON 语法有效不代表符合 Google 的富媒体展示资格。测试真实商品 URL,查看识别出的项目和报错,并确认页面可被搜索引擎抓取。Google 建议 Merchant listings 尽可能在初始 HTML 中提供 Product 数据;对于价格和库存快速变化的商品,JavaScript 动态生成的标记可能降低抓取可靠性。

结构化数据必须描述用户看到的页面。如果页面显示 $39 且有货,但 JSON 写的是 $34 且缺货,就要改正数据源。如果某个变体的价格、图片或 SKU 不同,应正确表示变体和相关 URL,并确认规范 URL 可访问、图片可抓取。

测试通过只代表 Google 能解析标记,并可能考虑该页面参加符合条件的搜索展示,不代表一定会显示富媒体结果。是否展示还可能取决于查询、设备、政策符合度、是否索引以及 Google 自身系统。发布后,可在适用时查看 Search Console 的 Merchant listings 和 Product snippets 报告;Google 抓取及报告更新需要时间。

Shopify 商品 Schema 常见错误

  • 主题或应用已经输出 Product 标记,却又添加第二份。
  • 将集合页或搜索页标记成一个可购买的单品详情页。
  • 变体或库存变化后,标记里的静态价格、库存状态没有更新。
  • 使用 Google 无法访问的商品图片 URL。
  • 添加虚构或隐藏的评分、评价、品牌或促销价。
  • 把 JSON-LD 当成富媒体展示或排名保证。
  • 只在编辑器预览中测试,却没有验证已发布的商品 URL。
  • 把复制的代码直接粘进主题文件,却没有关联 Shopify 的实际商品数据。

常见问题

Shopify 会自动添加 Product JSON-LD 吗?

这取决于主题和安装的应用。先检查已渲染的商品页并测试 URL,再决定是否添加。Shopify 也提供可在主题代码中用于商品和文章对象的 Liquid structured_data 过滤器。

Product JSON-LD 应该放在 Shopify 主题的哪里?

应在对应商品页输出,通常通过商品模板或模板调用的片段实现。使用动态商品和变体数据,并检查现有主题标记是否已经满足需要。

Product Schema 能保证商品富媒体结果吗?

不能。正确标记有助于页面获得某些搜索展示资格,但是否展示由 Google 决定,还会受到索引、搜索查询和政策符合度等因素影响。

可以在 Product JSON-LD 中添加评价星级吗?

只有评分和评价数量真实、有效,并且有用户可见的对应评价时才可以添加。不要使用占位或虚构评分。

每个 Shopify 页面都要添加 Product JSON-LD 吗?

不需要。Product 标记应放在相关单品详情页。集合页并不是单个商品页,应根据页面实际类型使用准确的结构化数据。