移动优先索引执行之后,蜘蛛在多数情况下会优先用移动端 UA 抓取和评估页面。如果你的手机版模板为了“轻量”砍掉了正文段落、相关链接或结构化数据,蜘蛛看到的就不是你在桌面端精心准备的那一份内容。这个自查不需要复杂工具,核心是把两端实际输出的内容放在一起对比。
先确认蜘蛛看到的移动端版本长什么样
用移动端 User-Agent 请求页面,拿到的是服务端返回的原始 HTML;再结合渲染后的 DOM 做对照。常用做法有三种:
- 用命令行指定移动 UA 抓取,观察原始 HTML 里有没有正文。
- 用 Search Console 的网址检查,对比“已抓取的页面”和“测试实际网址”,看移动端的渲染结果。
- 本地用浏览器开发者工具切换设备模拟,查看最终 DOM,而不是只看源码。
只看源码容易误判:有些内容在 HTML 里但被 CSS 隐藏,也有内容在 HTML 里根本不存在,靠 JS 才补上。两种情况对抓取的意义并不相同。
最常见的不一致来源
- 用 display:none 隐藏的模块:桌面端显示的相关推荐、参数表、常见问题,移动端直接不输出。隐藏展示和“不渲染内容”是两件事,后者会让这部分文字从索引里消失。
- 正文被裁剪:移动端只展示前几段加一个“展开全文”,而展开动作依赖点击,蜘蛛不一定触发。
- 移动端图片换了地址且缺失 alt:图片地址两套,替代文本只写在桌面模板里。
- 导航只靠脚本:汉堡菜单里的栏目链接写在 JS 数组里,HTML 中没有任何 a 标签,内链结构在移动端等于不存在。
- 独立 m. 域名的标注遗漏:桌面与移动互指的 alternate 或 canonical 写错方向,导致索引版本混乱。
内容一致性不等于两端 HTML 一模一样,而是标题、正文主体、主要内链和结构化数据在两端都真实存在、都可被抓取。
逐项自查清单
- 取同一篇文章,分别在桌面 UA 和移动 UA 下抓取原始 HTML,统计正文段落数、标题层级数量和内链数量,记录差异。
- 对比两端的 canonical 与 JSON-LD,确认指向同一个规范地址、描述同一份内容。
- 检查移动端导航和面包屑,确认不执行脚本也能看到 a 标签。
- 检查移动端图片的地址与 alt,看是否存在只在桌面端出现的替代文本。
- 若使用独立移动域名,确认桌面页有指向移动页的 alternate,移动页有指向桌面页的 canonical,并且互相回指。
- 检查移动端是否有体积过大、阻塞渲染的脚本,导致首屏内容迟迟不出现。
处理原则
- 优先使用响应式模板,两端共用同一份内容数据和同一套 URL,能省掉大部分一致性问题。
- 视觉上的折叠尽量用 CSS 实现,DOM 里保留完整内容,而不是在服务端就不输出。
- 如果确有移动端独立模板,内容字段从同一个数据源取,别让两套模板各自维护一份。
- 不要为了让移动端“更快”而删除正文,速度问题应该从图片压缩、脚本拆分、缓存策略入手解决。
改完之后要复测
调整模板后,用同样的方法再抓一次两端 HTML,确认差异项减少。如果站点有抓取日志,可以观察移动端 UA 抓取的页面返回内容长度是否上升。索引更新需要时间,不必指望改完第二天就看到变化,重点是把结构性问题先消掉。
小结:移动端与桌面端的内容差异,多数来自模板层面的取舍,而不是内容本身。把这一步纳入上线前的常规检查,比事后逐页排查省力得多。