先看现象。搜索结果标题显示成「502 排查 - 技术站 - 技术站」,站点名被拼了两遍,原因是插件拼了一次,主题的 wp_title 过滤器又拼了一次。

原因不止一个,得分开看。两个钩子都往标题末尾追加站点名,没有人做去重。另一种情况是插件升级后新增了标题拼接,与主题逻辑冲突。

还有一种情况,只在首页抽查看不出问题,内页才重复。

动手时先抓一个内页看实际标题

curl -s https://www.example.com/post/1 | grep -o '<title>[^<]*'

定位两个拼接点

grep -rn 'bloginfo(.name.)' wp-content/themes/yourtheme/ wp-content/plugins/ | head

去掉主题侧的拼接

add_filter('wp_title', function($t){ return $t; }, 99);

当时还开着另一个排查窗口,两边日志对照着看才定位到。

同一份数据我导出了两份,一份留底,一份拿来试。

改完先别撤,确认这几项。去掉重复拼接后标题恢复成「页面名 - 站点名」,搜索结果截断问题一起消失。

补一句。标题拼接是插件与主题最容易打架的地方,装一个新插件后先抽查内页标题。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189