给官网加了JSON-LD的Product结构化数据,AI摘要还是只抓正文价格,我核了三天
上周把手头一个电商客户的官网结构化数据全量重构了一遍,Product schema 按 Google 文档补齐了 name、image、offers、priceCurrency、availability,JSON-LD 直接内嵌在 head 里,用 Rich Results Test 跑全绿。结果三天后拿同一批问句去跑 AI 摘要,发现它引用的价格还是正文里那个手写的「¥299 起」,JSON-LD 里的 offers.price 压根没被采信。
先说排查口径,免得各说各话:
- 采样问句固定 40 条,含 12 条带「多少钱」「价格」的比价型问句,全部同一时段跑,避免上次遇到的时段漂移问题。
- 抓取频次不可控,所以我把三天的结果按天留档,看的是「引用正文价 vs 引用结构化价」的比例变化,不是单次快照。
- 页面速度这边我先排除了变量:LCP 1.4s,JSON-LD 体积 3.2KB,不构成渲染阻塞。
三天的数据:正文价被引用 31 次,结构化价被引用 5 次,剩下 4 次摘要里干脆没出现价格。也就是说 JSON-LD 不是没用,但优先级明显低于正文可见文本。我怀疑两个点:一是大模型抓取链路里正文抽取和结构化解析是两条线,正文那条权重更高;二是我们 JSON-LD 里的 price 和正文的「起」字口径不一致——JSON-LD 写的是 299.00,正文是「299 起」,模型可能判定为不同实体,干脆取了正文那个更「像人话」的。
我把第二种可能性先做了个对照:把正文里价格那段改写成「售价 299 元(起)」,同时 JSON-LD 的 price 保持 299.00,priceCurrency 补 CNY,加 priceValidUntil。又跑了三天,结构化价引用升到 14 次,正文价降到 19 次,剩下 7 次无价格。方向对了,但没到能交付的程度。
现在卡住的是:我分不清剩下那 7 次「无价格」是抓取没命中这个字段,还是模型做了保守处理不敢报。抓取频次和采样时段这两个变量我一直锁不住,日志里也看不到模型侧的字段采纳记录。
想问下有没有人做过类似的对照——你们那边 JSON-LD 的价格字段和正文价格文案,口径是统一成一个数,还是保留「起」这类修饰?如果保留,AI 摘要侧的引用率有没有实测差异?
