问题出现得很突然,日志倒是留得挺全。站点既有响应式模板又保留了 m.example.com,百度移动适配里同时提交了对应关系和自适应声明,移动搜索摘要里显示的标题有时来自 m 站有时来自主站。

真正麻烦的地方在于,几个原因的现象几乎一样。两套移动方案同时上线,蜘蛛无法判断以哪套为准。少数情况下是m 站页面没有指向主站的 canonical,被当成独立页面。

不容易想到的是,适配关系里提交的 URL 对里有一部分已 301。

先判断移动端实际返回的是哪套

curl -sA "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" https://www.example.com/post/1 | grep -iE "viewport|canonical"

保留一套方案并给 m 站加 canonical

add_action('wp_head', function(){ if (wp_is_mobile()) { echo '<link rel="canonical" href="' . get_permalink() . '">'; } });

m 站整体跳转到主站对应地址

server { server_name m.example.com; return 301 https://www.example.com$request_uri; }

别只看报错消失,验证要多做一步。移动端 UA 请求返回的 HTML 与桌面同源且 canonical 指向主站地址,适配工具里的对应关系数量归零,移动摘要标题统一。

补一句。两套方案并行是最常见的迁移遗留问题,留哪套要看主站模板的移动体验,别为了保留历史投入硬撑。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189