问题出现得很突然,日志倒是留得挺全。连锁门店页面的 LocalBusiness 标记里,latitude 写成 116.40、longitude 写成 39.90,正好把经纬度对调。知识面板上的地图定位跑到境外,三家门店的富媒体都没有展示。

刚开始盯着「address 里的省市与坐标不匹配,被判成冲突」,折腾了半个多小时,排掉了。

排查方向其实有限,先把可能性排一排。模板把 latitude 与 longitude 的变量顺序写反。还有一种是geo 坐标用了百度坐标系,和 WGS84 差了数百米。

另外,openingHours 与门店实际营业时间不一致。

取一条标记核对坐标

curl -s https://www.example.com/store/1 | grep -A6 '"geo"'

随后按纬度在前经度在后写入

"geo":{"@type":"GeoCoordinates","latitude":39.9042,"longitude":116.4074}

接着统一坐标来源

SELECT store_id, lat, lng FROM stores WHERE city='北京';

剩下的就是用富媒体工具复验单店

https://search.google.com/test/rich-results

怎么算真的好了,看的是同一批现象。地图定位回到门店所在城市,抽查三家店的坐标与后台一致,富媒体开始出现。

经纬度对调不会报语法错,只会把位置指到地球另一端,批量生成时尤其要抽查。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189