搜索引擎现在以移动端用户代理为主来抓取和建立索引,桌面版页面在很多场景下只是辅助。这意味着同一套 URL 之下,蜘蛛看到的 HTML 究竟是哪一份,会直接影响它对内容完整度和站内链接的判断。
先弄清楚蜘蛛拿到的是哪一版
如果站点用的是响应式设计,桌面和手机共用同一份 HTML,靠 CSS 和视口调整显示,那么蜘蛛拿到的就是同一份内容,差异只存在于渲染结果里。如果用的是独立移动站,比如 m 子域或者另一套模板,情况就复杂:蜘蛛可能按移动规则抓移动站,也可能把两边当成不同来源的内容,需要额外做对应关系。
两套 HTML 之间常见的差异
- 移动版正文被截断,只留摘要,全文藏在“展开阅读”之后
- 移动版导航折叠进汉堡菜单,链接不写进 HTML,靠脚本展开
- 移动端分页改成“加载更多”,第二页的链接根本不在源码里
- 桌面版有的大段内链,比如侧栏推荐、相关阅读,移动版直接删掉
- 移动版为了速度去掉了结构化数据、图片 alt 或者部分正文图片
这些差异里,对抓取影响最大的是链接不再出现在 HTML 中。蜘蛛走不到,后面的内容做得再好也没有入口。
移动端容易踩的几个点
- 用 display 隐藏的链接:虽然源码里有,但渲染后可能不被当成可见链接,稳妥做法还是输出可点击的 a 标签
- 用脚本拼接的导航链接,要确认渲染后确实可点击、可跟随
- 移动站与桌面站 URL 不一致,又没有做对应的版本标注,容易被当成两套内容各自处理
- m 站的 robots.txt 或访问控制写得比主站更严,把一部分目录挡在了外面
一套可执行的自查顺序
- 分别用手机 UA 和桌面 UA 抓取首页与几个关键页面,把返回的 HTML 做对比
- 数一数源码里的链接数量和渲染后的链接数量,差值往往就是问题所在
- 比较正文长度,确认移动版有没有被折叠或截断
- 检查 sitemap 中的 URL 是否与移动端实际返回的版本一致
- 翻服务器日志,看蜘蛛用的 UA 和它访问的路径,判断它主要抓的是哪一版
一些稳妥的做法
能响应式就响应式,一套 HTML 解决问题,不必额外维护两套模板。如果确实要拆开,两边正文尽量保持一致,不要删减,内链该保留的都保留,并按主流搜索引擎支持的移动版标注方式做好对应关系。定期用两套 UA 抓取对比,把差异当成缺陷来修,而不是当成可以省下来的优化空间。
蜘蛛看到的那一版,才是你的站点对它而言真实的样子。