问题出现得很突然,日志倒是留得挺全。主题和 SEO 插件各输出了一份 Article,页面里出现两段 JSON-LD,字段内容还不完全一致。

这类报错背后常见的原因有几处,逐个排除就行。主题自带结构化数据,插件也默认开启。还有一种是子主题重复注册了同一个 hook。

另外,页面构建器又额外插入了一段。

第一件事是统计页面里 Article 出现次数

curl -s https://www.example.com/a/ | grep -c '"Article"'

然后关掉其中一处输出

add_filter('wpseo_json_ld_output', '__return_false');

等前面都确认过,再确认只剩一份且字段完整

curl -s https://www.example.com/a/ | python -m json.tool

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

怎么算真的好了,看的是同一批现象。页面里只剩一份 Article,字段不再冲突,富媒体报告恢复正常。

两份标记字段冲突时,蜘蛛可能两份都不采信,先统一到一处输出,再补齐字段,比两边各改一半省事得多,也更容易长期维护。改完用富媒体报告确认只剩一个实体。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189