这类问题我又碰上了一次。商品页的结构化数据里价格、币种、库存都写了,富媒体测试只提示一条可选字段缺失,实际搜索结果里商品卡片完全没出现。

第一反应是「同一页有多个规格的报价,url 却全部相同」,验证下来不成立。

把日志和配置对完,能解释这个现象的基本就这几处。offers 里没有 url,引擎无法把报价关联到具体商品页;url 写成了相对路径,被判定为无效地址;商品页本身有筛选参数,url 与 canonical 不一致。

上来先看 offers 的完整字段

curl -s https://www.example.com/p/1.html | grep -o '"offers":{[^}]*}'

随后确认 url 是否为绝对地址

curl -s https://www.example.com/p/1.html | grep -o '"url":"[^"]*"' | head

补上完整规范地址

"url":"https://www.example.com/p/1.html"

末了把多规格报价拆成数组并各自带 url

"offers":[{"@type":"Offer","url":"https://www.example.com/p/1.html?sku=1"}]

怎么算真的好了,看的是同一批现象。重新测试后不再提示字段缺失,搜索结果的商品卡片在两周内恢复展示。

补一句。被标成可选的字段不写不会报错,但会直接影响富媒体展示,商品页的 url 建议始终给全。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189