
很多独立站团队做 Google Shopping、免费商品列表和 SEO 时,会把商品数据拆成几套东西:运营维护 Shopify 或 ERP 商品表,广告团队维护 Merchant Center Feed,SEO 团队只看产品页标题和结构化数据,开发再负责前端模板。平时问题不明显,一到大促就容易出事故:页面显示促销价,Feed 还是原价;前台分类叫 Outdoor Power Station,Feed 里却归到 Electronics Accessories;促销结束了,Google 还抓到过期价格。
Google 在 2026 年 7 月 7 日更新 Merchant listing structured data
文档,新增/明确两件事:Product.category 可以用在 Merchant
listing 结构化数据里,并且 sale duration 促销有效期可以通过
validFrom、validThrough、priceValidUntil
来标记。
这不是一个“技术字段小更新”。对中国出海品牌和跨境独立站来说,它提醒的是:商品页结构化数据不能再和 Merchant Center Feed 各写各的。Google Search、Shopping、免费列表、AI 搜索和购物广告越来越依赖一致的商品事实。分类、价格、促销时间这些基础字段如果不统一,后面再怎么做广告和 SEO 都会被数据质量拖后腿。
Google这次更新了什么?
Search Engine Roundtable 记录了这次文档更新:Google 在 Merchant
listing structured data 文档里增加了 Product.category
的说明,并新增 sale duration 章节,解释如何用 schema.org
字段表达促销价格的有效期。
Google 官方更新页对这两点的说明更清楚:
Product.category可以使用Text或CategoryCode,对应 Merchant Center Feed 中的product_type和google_product_category口径。- sale duration 用来说明促销价在什么时间段生效,可使用
validFrom、validThrough、priceValidUntil,并与 Merchant Center Feed 里的sale_price_effective_date对齐。
换成独立站运营语言,就是:
| 更新点 | 对应Feed口径 | 对独立站的意义 |
|---|---|---|
Product.category | product_type、google_product_category | 让商品页结构化数据也能表达商家自定义分类和Google标准分类 |
validFrom | sale_price_effective_date 起始时间 | 告诉Google促销价什么时候开始 |
validThrough / priceValidUntil | sale_price_effective_date 结束时间 | 告诉Google促销价什么时候结束 |
如果你的独立站已经在做 Google Merchant Center产品提交延迟 类问题排查,这次更新就应该进入商品数据质量清单。因为它不是单纯提升富结果展示,而是让页面、Feed 和 Google 购物生态对同一个 SKU 的理解更一致。
Product.category:别把“前台导航分类”当商品分类治理
Google Merchant listing 文档现在明确,Product.category
可以接受两类值。
第一类是普通文本,也就是商家自定义商品分类,类似 Feed 里的
product_type。例如:
第二类是 CategoryCode,用于表达 Google Product
Category。可以用 Google Product Taxonomy 的
ID,也可以用完整分类路径。例如:
"category": {
"@type": "CategoryCode",
"inCodeSet": "https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt",
"codeValue": "Electronics > Power > Power Stations"
}Google 还允许多个分类值同时存在,这对真实独立站很重要。因为一个 SKU 往往同时需要:
- 给站内运营看的分类:方便上架、库存、毛利、活动和数据复盘;
- 给 Google 看的标准分类:帮助 Google 理解商品属于哪个购物场景;
- 给前台用户看的导航分类:方便用户浏览,不一定等于商品数据分类。

独立站最常见的错误,是把前台导航分类直接当成所有系统的分类。比如用户看到的导航叫
New Arrivals、Hot Sale、For Camping,这些词适合前台营销,但不适合作为稳定的商品分类。Google
更需要的是清楚、可复用、与商品属性一致的分类。
这件事和 SEO/GEO 也有关。AI 搜索和购物结果越来越依赖清晰的商品实体、用途、类别和证据链。Iwish 在做 Google AI Mode食谱链接 这类结构化数据分析时,核心判断一直是:结构化数据不是为了“骗出富结果”,而是让 Google 更准确理解页面里真实存在的内容。
Sale duration:大促价格必须有明确开始和结束
第二个更新点是 sale duration,也就是促销价格有效期。
Google 官方 Merchant listing
文档现在说明:如果要指定促销价的生效期间,开始时间用
validFrom,结束时间可以用 validThrough 或
priceValidUntil。时间建议使用 ISO 8601
格式,并包含时间和时区。
这对独立站大促尤其关键。很多品牌在黑五、Prime Day、返校季、圣诞季前后,价格变动非常频繁。如果页面结构化数据、Merchant Center Feed、广告促销设置和前台价格不同步,Google 看到的可能是过期促销、错误原价或不完整折扣信息。
Google 文档给了两类放置方式。

写在 Offer 节点
如果 Offer.price 本身就是当前促销价,可以把
validFrom 和 priceValidUntil 放在
Offer 上:
"offers": {
"@type": "Offer",
"price": 10.00,
"priceCurrency": "USD",
"validFrom": "2026-11-20T08:00:00+00:00",
"priceValidUntil": "2026-11-30T23:59:59+00:00"
}这种写法适合很多独立站模板:页面当前价就是促销价,原价通过
StrikethroughPrice 作为对比价格。
写在 PriceSpecification 节点
如果你用多个 UnitPriceSpecification
对象来表达促销价和原价,就把 validFrom 和
validThrough 放在促销价那个对象上。注意,Google 文档说明
priceValidUntil 不适用于 PriceSpecification
类型。
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"price": 10.00,
"priceCurrency": "USD",
"validFrom": "2026-11-20T08:00:00+00:00",
"validThrough": "2026-11-30T23:59:59+00:00"
},
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/StrikethroughPrice",
"price": 15.00,
"priceCurrency": "USD"
}
]这里不要只让开发“加字段”。更重要的是先确定运营口径:促销开始时间以哪个时区为准?如果美国站、英国站、欧盟站分别上线,是否用不同 URL、不同币种、不同促销日历?促销提前结束时,页面、Feed、广告资产组和邮件落地页谁先更新?
为什么这对独立站SEO/GEO有影响?
很多团队会觉得 Merchant listing 是购物广告或 Merchant Center 的事,和 SEO/GEO 没关系。这个判断太窄。
Google 的商品理解来自多个入口:页面内容、结构化数据、Merchant Center
Feed、图片、价格、库存、退换货、配送、评价、站点质量和用户行为。Product.category
和 sale duration 都属于商品事实的一部分。
如果商品事实不一致,至少会影响三个层面。
1. 免费商品列表和购物展示更容易出错
Google 需要判断商品是什么、属于哪个类别、当前价格是多少、促销是否还有效。分类和价格时间不清晰,可能导致商品展示不稳定,或让 Google 优先相信 Feed 而不是页面。
2. SEO内容和商品页承接会断开
假设你的博客在讲“portable solar generator for camping”,产品页结构化数据却没有清楚表达商品类别、用途和价格有效期,用户从搜索进入后看到的信息就不完整。做 Google SEO/GEO优化 时,产品页不是只写标题和描述,还要把商品事实做成机器也能读懂的结构。
3. AI购物和智能体场景更依赖商品数据
未来 AI 搜索、AI购物和代理购买会更依赖稳定的商品事实:这个商品属于什么类别?价格现在是否有效?是否有库存?是否适合某个使用场景?如果独立站连基础分类和促销时间都不一致,就很难进入可靠推荐链路。Iwish 之前拆过 AI Agent Commerce 的准备项,其中商品数据、支付、风控和内容证据就是基础能力。
独立站应该怎么改?先不要全站重构
这类更新最怕两种反应:一种是完全忽略,觉得“不影响排名”;另一种是一上来让开发重写全站 JSON-LD 模板。更稳妥的做法,是先把高价值 SKU 跑通。
优先级建议这样排:
- 正在投放 Google Shopping / PMax 的 SKU;
- 黑五、Prime Day、圣诞季会做促销的 SKU;
- 自然搜索有流量的产品页;
- 有高毛利、高库存压力或重点新品的 SKU;
- 多国家、多币种、多语言页面。
如果你的网站还没有统一的 PIM、商品表或商品数据导出机制,这件事会暴露更大的问题:运营、广告、SEO、开发都在改商品数据,但没有一个权威源。B2B 和高 SKU 量独立站尤其要重视 B2B数字渠道运营 里的产品数据治理,否则结构化数据只是表层修补。
30天排查清单
这次更新可以按 30 天做一次小范围排查。

1-7天:先抽样,不要全站铺开
- 导出核心 SKU:广告 SKU、自然流量 SKU、大促 SKU、重点新品。
- 对比页面分类、Feed
product_type、Feedgoogle_product_category。 - 检查商品页是否已有 Product / Offer 结构化数据。
- 抽查促销 SKU 的页面价格、原价、促销价、活动开始结束时间。
- 用 Rich Results Test 和 Merchant Center 诊断查看现有错误。
8-20天:补分类和促销时间
- 给核心产品页补
Product.category,不要只写前台导航名。 - 区分商家自定义分类和 Google Product Category。
- 对大促 SKU 明确
validFrom和结束字段。 - 统一时区,避免美国站用本地时间、Feed 用 UTC、前端又用浏览器时间。
- 检查多币种页面是否有独立 URL,避免同一 URL 同时表达多个货币。
21-30天:固化到发布流程
- 把商品分类字段纳入商品上架 SOP。
- 把大促开始/结束时间纳入促销日历和上线检查。
- 在模板上线前做 5-10 个 SKU 的回归测试。
- 把结构化数据变更记录进 SEO 技术变更表。
- 每次大促结束后复盘:价格是否按时回滚,Google 是否还显示过期促销。
这类复盘可以和 Shopify Analytics数据可视化 一起看。不要只看销售额和 ROAS,还要看商品数据质量是否影响了搜索曝光、购物广告、自然流量和转化路径。
给非程序员负责人的协作说明
如果你不是开发,可以直接用下面这份清单和技术团队沟通。
你要问开发的不是“能不能加字段”
应该问:
- 现在商品页 Product 结构化数据从哪里生成?
- 商品分类字段来自 Shopify/ERP/PIM 的哪个字段?
- Feed 的
product_type和google_product_category是否能同步到页面? - 大促价格开始和结束时间有没有统一字段?
- 促销结束后,结构化数据会不会自动回到原价?
- 多语言、多币种、多国家站点是否分别输出正确价格和时间?
如果这些问题回答不出来,就说明不是单个 JSON-LD 字段问题,而是商品数据链路没有打通。必要时要把它和 外贸网站建设 阶段的产品数据架构一起处理,不要等到广告投放和 SEO 出问题后再补。
你要问运营的不是“活动价是多少”
应该问:
- 活动价从哪一天、哪个时区开始?
- 结束时间是否精确到小时?
- 价格是否按国家、币种、会员等级不同?
- 原价是否真实稳定,还是活动前临时抬价?
- 活动结束后 Feed、页面、广告和邮件是否同时更新?
Google 对 sale duration 的说明,本质上是要求促销价有可验证的有效期。只写“限时优惠”这种前台文案,不等于 Google 能理解促销时间。
常见错误
错误1:只在Feed里维护分类,页面结构化数据缺失
Feed 可以提交商品数据,但产品页本身仍然需要清晰结构化数据。Google 可能从多个来源交叉验证。如果页面和 Feed 不一致,后续排查会很麻烦。
错误2:把所有SKU都归到一个大类
很多站为了省事,把所有商品都归到同一个大类,比如
Electronics 或 Accessories。这对 Google
理解具体商品场景帮助有限,也不利于后续按产品线做 SEO 和广告复盘。
错误3:促销结束时间只写在前端倒计时组件
倒计时组件给用户看,不等于结构化数据里有促销有效期。Google 需要在 schema.org 标记里读到开始和结束时间。
错误4:忽略时区
跨境独立站经常同时面向美国、欧洲、澳洲市场。促销价到底按哪个市场时间开始和结束,必须写清楚。Google 官方也建议包含时间和时区。
错误5:只为了富结果加字段,不修真实数据
结构化数据必须反映页面真实内容。页面上没有清楚显示的价格、促销、分类和商品信息,不应该只在 JSON-LD 里“补”。这会带来数据不一致风险。
FAQ
Product.category会直接提升Google排名吗?
不能这样理解。它不是排名开关。它的价值是帮助 Google 更准确理解商品分类,并让页面结构化数据与 Merchant Center Feed 的商品分类口径更一致。长期看,商品数据质量会影响搜索展示、购物结果、广告投放和AI购物场景的稳定性。
已经有Merchant Center Feed,还需要页面结构化数据吗?
需要。Feed 和页面结构化数据是两个不同入口。Feed 适合集中提交商品数据,页面结构化数据帮助 Google 理解具体商品页。两者一致时,排查和展示会更稳定。
Sale duration只适合大促吗?
不只适合黑五、Prime Day 这类大促。只要商品存在限时促销、闪购、会员促销、季节性活动,都应该考虑明确促销有效期。重点是不要让过期价格继续被 Google 抓到。
Shopify独立站怎么落地?
先确认主题或应用如何生成 Product JSON-LD,再看商品分类、价格、比较价、促销开始结束时间是否能从后台字段稳定输出。不要在前端手写一套和 Feed 不一致的分类或价格逻辑。
B2B产品页也需要关注吗?
需要。B2B 如果有可购买产品、配件、样品、设备或可在线询价的 SKU,也需要清晰商品分类、型号、价格或询价逻辑。即使不是标准电商结账,产品数据清晰也有助于 Google 和 AI 系统理解页面。
应该先改哪些页面?
先改高价值产品页:广告 SKU、自然搜索有曝光的 SKU、大促 SKU、高毛利 SKU、重点新品。不要先把资源消耗在低流量、低库存或即将下架的商品上。
来源参考
- Search Engine Roundtable: Google Adds Product Category & Sale Duration To Merchant Listing Doc
- Google Search Central: Latest documentation updates
- Google Search Central: Merchant listing structured data
- Google Merchant Center Help: Product type attribute
- Google Merchant Center Help: Google product category attribute
- Google Merchant Center Help: Sale price effective date attribute