问题出现得很突然,日志倒是留得挺全。资讯栏目同时输出了 Article 和 NewsArticle 两个类型,工具没有报错,富媒体展示却时有时无。
真正麻烦的地方在于,几个原因的现象几乎一样。同一页面重复声明两个相似类型。另一种情况是两个类型分别由主题和插件输出。
不容易想到的是,NewsArticle 的时效字段缺失。
动手时先查看页面里的类型数量
curl -s https://www.example.com/news/1 | grep -o '"@type": "[A-Za-z]*"' | sort | uniq -c
只保留更具体的一种类型
"@type": "NewsArticle"
补齐发布时间与修改时间
curl -s https://www.example.com/news/1 | grep -c 'dateModified'
我习惯把每一步的执行时间和结果记在一边,后面复盘省事。
怎么算真的好了,看的是同一批现象。页面里只剩一种类型,富媒体展示稳定,报告里不再有类型冲突。
这里还有个坑。NewsArticle 比 Article 更具体,但要求内容确实是新闻,普通教程页标成新闻反而会被判为类型不符,不如老实写 Article,稳定拿到基础展示,同一页只留一种。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。