Shopify 商品 Schema Markup(JSON-LD)怎么生成?
从商品页可见信息构建 Product JSON-LD,先检查 Shopify 主题是否已有结构化数据,再验证已发布的商品页面。
目录
先看答案
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
- 先复制现有主题或使用开发主题,确认效果后再发布。
- 检查商品页渲染后的 HTML,并用 Google 富媒体搜索结果测试查看已有 Product 实体。
- 如果主题已输出准确标记,优先修正商品或变体字段,避免重复添加。
- 确实需要新代码时,应绑定 Shopify 商品和当前选中变体的数据,不要把示例值写死。
- 正确使用 JSON 序列化动态值。不要未经转义就把商品文案拼接进脚本。
- 预览多个商品、变体、促销价和库存状态,确认脚本与页面展示一致。
- 发布后重新验证线上 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 标记应放在相关单品详情页。集合页并不是单个商品页,应根据页面实际类型使用准确的结构化数据。