跳至正文
WordPress 与 WooCommerce · Google SEO

WooCommerce 产品页该输出哪些结构化数据

// / / 光算科技

产品页该输出哪些结构化数据,答案是一份边界清楚的清单:Google 的商家商品列表功能把 Product 的 name、image、offers 列为必填,Offer 侧的必填是当前有效价与货币代码,其余字段官方写的是"推荐",不是"必须"。分清这两档再动主题输出,能省掉一轮返工。 商品暂不可售时,结合WooCommerce 库存下架后的页面处理判断是否仍应保留产品页。

Google 把商品类的结构化数据拆成两套要求。Google 对 Product 结构化数据的说明写明:一套面向"读者不能在站内直接下单"的编辑型评测页,另一套面向"读者能在你这里买"的商家商品列表;两套有重叠,补齐商家商品列表的必填项后,产品页同时具备被当作文摘型产品结果展示的资格。展示由系统按当时情况决定,官方没有承诺任何一种一定出现。

必填与推荐,落到具体字段上

商家商品列表的必填项一共三个,官方在商家商品列表的 Product 与 Offer 字段定义里逐条给了要求:name 是商品名,image 是商品图(图片地址要可被抓取与索引),offers 是嵌套的报价对象。报价对象内必填当前有效价与货币,且与文摘型产品结果不同,商家商品列表要求价格大于零。 报价字段确认后,还应核WooCommerce 运费与库存的公开呈现方式,防止结构化数据与页面不一致。

推荐项按实际价值大致是:sku、mpn 与各类条码字段、brand.name、description、color、size、category、aggregateRating、review;报价对象侧是 availability、itemCondition、priceValidUntil、validFrom、validThrough、url,以及 shippingDetails 和 hasMerchantReturnPolicy。把清单转成核对表,逐项打勾比读主题配置说明更快:

字段官方定位商品页上通常对应哪块可见内容
name / image / offers必填商品标题、主图、页面上显示的价格
sku / mpn / 条码类字段推荐后台商品编码、厂商编码、条码
description推荐,官方写明非必填但强烈建议提供商品描述正文
brand.name / color / size / category推荐品牌、颜色、尺码、所属分类
aggregateRating / review推荐页面上真实显示的评分与评价
availability / itemCondition / shippingDetails报价对象推荐项库存状态、成色、运费与时效

评价与评分这两项最常被漏掉或写错。功能层面怎么在商品页上把评价显示出来,站内已有两篇专门文章:WooCommerce 的产品打分怎么操作与如何给 WordPress 产品页面增加评价和评分。本文只谈它们在搜索与索引这一层。需要对照字段来源时,可再看商品结构化数据的官方口径,把功能字段和插件输出分开。

判断点示意:必填三项与推荐项分层,页面可见内容需与字段值对齐
原创示意:图中为商品页结构化数据的字段分层与核对路径,不是真实后台截图或数据。

这套输出什么时候不适用

有几类页面看着像商品页,其实拿不到商家商品列表的展示资格,官方技术条款写得很直白:只有读者能在你这里完成购买的页面才符合条件,页面上只是链到别处卖同款商品的页面不算;商品类富结果只支持聚焦单个商品(或同一商品的多个变体)的页面,"本店所有鞋子"这种列表页不行;同一商品在多个货币下销售时,官方要求每个货币对应一个独立 URL。另外官方建议把 Product 结构化数据放在初始 HTML 里,用 JavaScript 生成虽然也支持,但会让购物类抓取更稀疏、更不稳定,价格和库存这类变化快的字段尤其容易滞后。变体商品还要单独看不同规格是否需要独立 URL,不能只靠一份 Product 标记解决。

主题和商店组件同时输出时怎么排查

常见故障不是字段缺失,而是同一个字段被写了两遍:主题的搜索结果优化类插件可能输出一份 Product,商店组件自己也输出一份,两份值不一致时官方只说明结构化数据不保证被采用,没给出以哪一份为准的规则。排查顺序建议固定成三步:

  1. 在商品页上查看源代码,数一数 application/ld+json 块。出现两块 Product 就先决定留哪一块。
  2. 确认 Product 出现在初始 HTML 中,而不是等用户交互之后才由脚本插入;再逐条核对必填三项的值与页面上人眼可见的内容是否一致,官方明确要求不得标记页面上看不到的内容。
  3. 逐条检查 image 里的地址能否被访问,官方把"图片地址可被抓取与索引"单列为要求。

面包屑和商家政策要单独挂

面包屑不属于 Product,但商品页几乎总该有一份。Google 的面包屑结构化数据说明把它定义为页面在站点层级中的位置提示,并单列为一项功能。退货政策与会员政策同理:官方建议把它们作为 Organization 下的独立信息给出,而不是塞进每个商品的报价对象;只有部分商品政策特殊时才写在 Offer 侧,两者之间可用 @id 互相引用。

怎么验证结构化数据真的被读到了

分两层验证。第一层是技术正确性:结构化数据总则给的顺序是先用富媒体结果测试工具跑单页、修掉关键错误,再在 Search Console 用网址检查工具看 Google 实际抓到的版本;这一层通过只说明语法被解析,不代表会被展示。第二层是长期观察:商家商品列表指南指出 Search Console 里有两份分开报告——商家商品列表报告与产品摘要报告,能读出哪些页被判为错误或警告;改完要留出重新抓取与重新收录的时间。

最后把两条边界写进团队文档:结构化数据不改变页面的排名资格——官方写的是被判定结构化数据人工处理时页面失去富结果资格,但不影响它在网页搜索里的排名;官方也从未公布字段数量或权重阈值。想让商品页更容易被找到,外链与结构的思路在站内 SEO 服务说明和电商分类页怎么拿外链里已经展开过。