先把当时的情况摆出来。移动站独立部署在 m.example.com,桌面首页用 302 跳到 /m/。百度移动适配工具里提交了三个月,适配关系一直是 0 条,移动搜索结果仍指向桌面版。试过重新提交、换 sitemap,没有变化。

原因不止一个,得分开看。用 302 做跳转,百度不把它当成稳定的移动版本入口。还有一种是移动页没有输出指向桌面版的 link,双向注解缺一半。

还有一种情况,桌面页也没有 alternate 指向移动页,两边全靠跳转维系。另外,适配关系提交用的地址是跳转前的首页,不是最终移动页。

第一件事是确认跳转的响应码和落点

curl -sI https://www.example.com/ -A 'Mozilla/5.0 (iPhone)' | grep -i -E 'HTTP/|location'

接着在桌面页补上指向移动版的注解

curl -s https://www.example.com/p/1024 | grep -o 'rel="alternate" media="only screen[^>]*'

然后在移动页补上指回桌面版的注解

curl -s https://m.example.com/p/1024 | grep -o 'rel="canonical"[^>]*'

等前面都确认过,再用最终移动地址重新提交适配关系

恢复的判定其实很直接。两边注解齐全,适配工具里的对应关系开始出现条目,两周后移动搜索结果指向移动版页面。

这里还有个坑。跳转只解决用户访问,适配关系要的是稳定的地址对应,注解比 302 更可靠,两者别混为一谈。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189