问题出现得很突然,日志倒是留得挺全。站点既有响应式模板又保留了 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 指向主站地址,适配工具里的对应关系数量归零,移动摘要标题统一。
补一句。两套方案并行是最常见的迁移遗留问题,留哪套要看主站模板的移动体验,别为了保留历史投入硬撑。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
