GEO优化
Product 和 Offer 的 price 字段对不上,我把汇率换算链路拆到了小数点后四位
15 0 9
上周帮一个做跨境的朋友看站点,Google 富媒体结果里 Product 标价 ¥899,点进去 Offer 显示 $129.99。用户截图来问到底哪个是真的。
我先锁口径:Product 的 offers.price 和 offers.priceCurrency 必须成对出现,且要和页面上用户实际看到的默认币种一致。页面上默认展示人民币,结构化数据里却塞了美元,这是第一层冲突。
第二层更隐蔽。他站点后端存的是美元底价,前端按实时汇率换人民币。我把接口返回拉出来对比:
- 后端
price:129.99 USD - 前端展示:899.00 CNY(汇率 6.9161 换出来的)
- 结构化数据里
price:129.99,priceCurrency:USD
也就是说结构化数据用的是底价,正文用的是换算价。搜索引擎抓的是结构化数据,用户看的是正文,两边对不上。
更坑的是他们汇率是缓存 6 小时的。我抓了三次快照,间隔两小时,人民币价从 899 跳到 902 又跳回 897。结构化数据里却一直是 129.99 USD 没动过。
我的处理方案是先锁口径再拆变量:
- 决定结构化数据跟随页面默认币种,也就是 CNY,
price写页面实际展示值,priceCurrency写 CNY。 - 汇率换算保留两位小数,和页面展示精度一致,不要一个写 899.00 一个写 898.9634。
- 如果确实要标美元价,用
offers数组开两个 Offer,各带自己的priceCurrency,别在一个 Offer 里混币种。 - 加一条校验:结构化数据里的价格字符串必须能被页面上的价格 DOM 节点文本直接匹配到,跑批时做一次 diff。
改完两周,富媒体结果里的价格和落地页对上了。但引用率没明显变化,我判断价格一致性是底线不是加分项。
现在有个问题没想清楚:汇率缓存窗口期内,结构化数据应该跟着缓存价走,还是强制实时?跟着缓存走能保证和页面一致,但可能标一个过时价。你们怎么处理的?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
