记录一下那天晚上的排查过程。文章页模板升级后,head 里的 canonical 指向带 www 的地址,JSON-LD 里的 url 却还是旧的裸域。富媒体报告一切正常,但网址检查里的规范网址和结构化数据对不上,排名一直不稳。
刚开始盯着「迁移时只改了主题配置,插件里的旧域名没动」,折腾了半个多小时,排掉了。
把日志和配置对完,能解释这个现象的基本就这几处。结构化数据由插件输出,域名取自数据库里的 siteurl。另一种情况是canonical 由主题模板拼装,用的是当前 Host。
还有一种情况,两个模块各自缓存了不同版本的页面。
同时抓取两处地址做对比
curl -s https://www.example.com/article/1 | grep -E 'canonical|"url"'
随后把结构化数据的 url 改成同一来源
"url": "https://www.example.com/article/1"
接着清掉插件与页面缓存
wp cache flush
等前面都确认过,再用富媒体测试工具复验
https://search.google.com/test/rich-results
怎么算真的好了,看的是同一批现象。两处地址完全一致,网址检查里的规范网址与结构化数据 url 相同,重复组不再新增。
canonical 和结构化数据描述的是同一个实体,两处地址不一致时,蜘蛛会降低对整页信号的信任。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
