问题出现得很突然,日志倒是留得挺全。站点换插件时没有停用旧的,两个 SEO 插件同时启用,页面源码里出现两条 description 和两组 og 标签。搜索结果里的描述时好时坏,编辑也不知道以哪条为准。
这类报错背后常见的原因有几处,逐个排除就行。两个插件都挂了 wp_head 钩子,各自输出一套 meta 标签。少数情况下是设置项互不感知,标题模板各算各的,谁也不让谁。
不容易想到的是,编辑只在新插件里改,旧插件的残留值还留在数据库里。
先停用其中一个插件再对比源码
wp plugin deactivate wordpress-seo
然后确认页面里只剩一组描述
curl -s https://www.example.com/a/ | grep -c 'name="description"'
剩下的就是把旧插件的设置导出一份留档
wp db export old-seo.sql
别只看报错消失,验证要多做一步。源码里只保留一组 meta,搜索结果中的描述稳定下来,编辑改一次就能生效。
提醒一点。停用插件不会删除它写入的选项,残留的 canonical 和 noindex 仍可能生效,切换前先导出数据库,改完逐项对照。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。