Schema 类型 · Product 商品结构化数据生成器
生成带 Offer(价格和库存)和可选 AggregateRating(评分)的 Product 标记。检查覆盖 Google 的两种商品功能:商品摘要(普通结果下显示价格和星级)和商家信息(类似购物结果,显示价格、库存、运费)。
- 必填 / 推荐逐项检查
- 2026 年富结果现状
- 本地生成
生成 Product JSON-LD
从商品页抄名称、价格和库存状态。价格里带 ¥、元或千分位,会自动整理成纯数字。
一组一段:第一行是问题,下面几行是回答;两组之间空一行。
博客用 BlogPosting,新闻用 NewsArticle,其它用 Article。
和页面上显示的标题一致。
一行一个。Google 建议提供 16:9、4:3、1:1 三种比例。
ISO 8601,如 2026-11-02T09:00:00+08:00。
只有内容真的改了才更新。
只写名字,不要「作者:」或职位。
能说明作者身份的页面。
一行一个。
你自己的货号。
条形码上的 8、12、13 或 14 位数字;没有就留空。
只写数字,小数用点:299.00。¥、元等符号会自动去掉。
ISO 4217:人民币 CNY,美元 USD。
YYYY-MM-DD,价格长期有效就留空。
只有页面上展示了真实买家评价时才填。
用户常搜的简称或英文名。
至少 112×112 像素,白底上清晰可辨。
一行一个网址:微博、知乎、领英、B 站……
带国家代码:+86-21-5555-0100。
两个字母,中国写 CN。
一行一级:名称 | 网址。最后一行是当前页,可以不写网址。
选最具体的那个。
店面或环境照片。
带国家代码和区号。
如 ¥¥ 或 人均 ¥80–120(100 字符以内)。
如:川菜、火锅
两个字母。
至少 5 位小数。注意:高德、百度地图的坐标是 GCJ-02 / BD-09,Google 用 WGS-84,直接填可能偏几百米。
至少 5 位小数。
一行一条:周一至周五 09:00-18:00、Sa,Su 10:00-16:00。休息日不写即可。
Google 规定的 applicationCategory 取值。
如 Windows, macOS 或 Android 10+。
免费填 0。
价格大于 0 时必填。
Google 要求这个富结果必须有评分或评价。
分钟数(45)、1:30 或 ISO 8601(PT1H30M)。
一行一个(会用掉的东西)。
一行一个(用完还在的东西)。
一行一步;可以加短标题:标题 | 具体做法。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "亚麻短袖衬衫 藏青色",
"image": [
"https://example.cn/images/linen-navy-1x1.jpg",
"https://example.cn/images/linen-navy-4x3.jpg"
],
"description": "100% 亚麻面料,宽松版型,贝壳纽扣,夏季透气。",
"sku": "LN-NAVY-M",
"brand": {
"@type": "Brand",
"name": "北线"
},
"offers": {
"@type": "Offer",
"url": "https://example.cn/shirts/linen-navy",
"price": 299,
"priceCurrency": "CNY",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"reviewCount": 356
}
}
</script>放进页面的 <head> 或 <body>。内容必须和这个页面上用户看得到的一致。
检查结果
错误会让它失去富结果资格;警告是推荐属性或可能写错的地方。
- 通过Product:必填属性齐全,可以参与 Google 富结果。是否展示仍由 Google 决定。
版本 v1.0更新于 更新记录
生成器给你的三样东西
一段代码、一份检查清单、几个测试链接,各回答一个问题。
JSON-LD 代码
一个 <script type="application/ld+json"> 标签,里面是一个对象。放在 HTML 任何位置都行,一般放 head。WordPress 的 SEO 插件、Shopify 主题往往已经输出了同类标记,替换掉它们,不要再加一份互相矛盾的。
错误
缺了必填属性,或取值格式不对:日期写成 2026/11/09、价格写成 ¥299、币种写成 RMB。有错误的条目拿不到富结果,但页面本身的排名不受影响。
警告
漏掉的推荐属性,或合法但有风险的写法,比如相对图片地址、带时间却没时区。推荐属性只在页面上真有这项信息时才加。
有资格 ≠ 一定展示
「必填属性齐全」只代表可以参与。展不展示由 Google 按搜索词决定,而且 FAQ、HowTo 这类已经完全不展示了,工具会在这些类型上直说,而不是假装还有用。
检查规则以 schema.org 和 Google 搜索中心的结构化数据文档为准(2026 年 11 月核对)。百度不按 schema.org 出富结果,它另有一套「时间因子」JSON-LD 规范(pubDate / upDate 等字段),见百度搜索资源平台。是否有资格以 Google 富媒体搜索结果测试为准,上线后用真实网址测一遍。
四步:从表单到富结果
大部分工作只是把页面上已有的信息抄进来。
-
1
选类型
按页面的主体内容选:商品页用 Product,博客文章用 Article,首页或「关于我们」用 Organization。一个页面可以有多种类型,各写一段。
-
2
填页面上看得到的信息
名称、价格、日期、评分照页面原样抄。标记了页面上没有的内容,违反 Google 的指南。
-
3
清掉错误
照检查清单从上往下改,直到没有错误。警告可以不改,但多数值得改。
-
4
上线后测试
把代码放进页面模板,发布后用富媒体搜索结果测试检查真实网址,再看 Search Console 的「增强功能」报告。
商品摘要和商家信息的区别
Google 的两种商品功能要求不同,一个页面可以同时满足。
- 商家信息要求价格大于 0,并且必须有图片
- 运费和退货政策一般在 Organization 上统一声明
- priceValidUntil 过期后价格可能不再展示
- 只标记页面上看得到的评价;未披露的刷单、返现评价违反 Google 政策
| 属性 | 商品摘要 | 商家信息 |
|---|---|---|
| name | 必填 | 必填 |
| image | 推荐 | 必填 |
| offers / review / aggregateRating | 至少一个 | 必须有 offers(Offer,不能是 AggregateOffer) |
| offers.price | Offer 里必填 | 必填,且大于 0 |
| offers.priceCurrency | 推荐 | 必填 |
| availability、brand、gtin、sku | 推荐 | 推荐 |
一件有价格、有库存、有评价的衬衫
表单默认值:一件 ¥299 的衬衫,有货,页面上有 356 条评价。
| 字段 | 页面上 | JSON-LD 里 |
|---|---|---|
| 价格 | ¥299.00 | "price": 299, "priceCurrency": "CNY" |
| 库存 | 有货 | "availability": "https://schema.org/InStock" |
| 新旧 | 全新 | "itemCondition": "https://schema.org/NewCondition" |
| 评分 | ★ 4.8(356 条评价) | "ratingValue": 4.8, "reviewCount": 356 |
这件商品没有条码,GTIN 留空。不要编造条码,没有条码的商品写 sku 或 mpn 就行。
看着没错的标记为什么不生效
写了结构化数据却从来没出过富结果,多半是这几个原因。
标记了页面上看不到的内容
页面没有评价却写评分、FAQ 只存在于代码里、价格和页面不一致。Google 视为垃圾标记,可能人工处罚。
照搬页面上的日期和价格写法
2026年11月9日、¥1,299 在页面上很正常,放进 JSON-LD 就是错的。日期用 ISO,价格用纯数字。
主题和插件各输出一份
主题和 SEO 插件都输出 Product 或 Organization,取值还不一样。只保留一个来源。
追已经下线的富结果
FAQ 和 HowTo 在 Google 已经没有富结果了,再给每个页面加一遍是白费功夫。
看搜索流量有没有跟上
结构化数据只是手段,点击才是结果。TapCub 把搜索表现、爬虫抓取和页面行为放在一起,加了标记之后发生了什么,一眼能看到。
为什么商品星级不显示?
常见原因:评价不在页面上、评的是商家而不是商品、缺必填属性,或者 Google 对这个搜索词就是不展示。本地商家和组织给自己写的评价(自评)永远不会出星级。
price 写数字还是字符串?
都可以,但只能有数字和小数点:299 或 "299.00"。货币符号、千分位、小数逗号都是错的,币种写在 priceCurrency。
一个页面有多个颜色、尺码怎么办?
一个页面列出多个款式时,Google 支持 ProductGroup + hasVariant。这个表单生成一个 Product、一个 Offer,适合每个款式一个页面的情况。