事情本身不复杂,线索都在日志里。商品有多个规格,价格从 99 到 299 不等,结构化数据里只写了一个价格,被判定与实际不符。
排查方向其实有限,先把可能性排一排。多规格商品用了单一价格字段。另一种情况是区间价格没有使用 AggregateOffer。
不容易想到的是,币种和价格分别写在不同的 offers 里。
先查看当前的价格结构
curl -s https://www.example.com/p/1 | grep -A6 'offers'
接着改用聚合报价结构
"@type": "AggregateOffer", "lowPrice": "99", "highPrice": "299"
补上报价数量和币种
"offerCount": 6, "priceCurrency": "CNY"
报错是间歇性的,我蹲守了半小时才抓到一次完整现场。
白天有业务在跑,能验证的部分都压到了晚上做。
改完先别撤,确认这几项。测试工具通过,产品富媒体里显示价格区间而不是单一数字。
提醒一点。区间价格必须用 AggregateOffer,硬塞一个单值价格会被判为信息不准确,严重时整个商品富媒体都不展示,连基础信息也拿不到,报价数量也要写全。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。