/posts/pricevaliduntil-ai
GEO优化

结构化数据里那个priceValidUntil,我填了个过期日期,AI直接不显示价格了

技术宅阿杰 21 0 7

上周踩了个坑,不算大但挺典型,记录一下。

事情是这样的:我们产品页的 Product schema 里,offers.priceValidUntil 这个字段一直填的是个固定日期。去年上的时候随手写了个 2025-12-31,想着年底再改。结果上个月有客户反馈,问 AI「XX型号现在多少钱」,AI 的回答是「该商品价格信息暂不可用,建议访问官网查询」。

我第一反应是 availability 又出问题了,毕竟之前被时区坑过。结果用 Rich Results Test 一跑,availability 是 InStock,没问题。再仔细看,priceValidUntil 那个 2025-12-31 已经过期了。AI 抓取器读到这个字段过期,直接把整个 offers 块里的 price 和 priceCurrency 都忽略了。

这里关键点在于:Google 的文档里写的是 priceValidUntil 过期后「可能」不再展示富媒体结果,但实际测试下来,AI 抓取器的处理更激进——不是降权,是整个 offer 的价格部分不读了。所以 AI 回答里就只剩「价格不可用」。

我的处理方式:

  1. 把 priceValidUntil 改成动态生成,取当前日期 + 90 天,每次渲染时更新。
  2. 加了个监控脚本,每天扫一遍所有 SKU 的 priceValidUntil,过期前 15 天告警。
  3. 顺便检查了 availability 的 validFrom,发现有几个促销 SKU 的 validFrom 写的是未来日期,AI 同样读不到——这个字段虽然是可选的,但填错了比不填更糟。

改完第三天,用同一批问句再测,「XX型号多少钱」AI 已经能正常引用价格了,而且引用的段落从 FAQ 换成了产品页的 offer 区块。

我的判断是:结构化数据里的时间类字段,AI 抓取器的容错比 Google 搜索低得多。搜索引擎至少还会 fallback 到页面正文,AI 抓取器一旦发现字段自相矛盾或过期,直接整块丢弃,连带着把同级的其他字段也废了。

所以现在我的习惯是,凡是 date、validFrom、validUntil 这类字段,一律动态生成 + 过期前告警,不敢再写死日期了。

想问问大家:你们在 Product schema 里,priceValidUntil 是写死一个远期日期(比如 2099 年),还是动态生成?写死远期日期的话,AI 抓取器会不会判定为「不真实」而降权?我还没测过这个边界,有踩过的朋友说说。

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。