很多站点在桌面端和移动端展示的内容并不完全一致:桌面版有完整导航和侧栏推荐,移动版为了首屏速度把一部分模块折叠甚至不渲染。蜘蛛抓取时以哪一版为准,直接决定它能沿着哪些链接往下走。
移动优先抓取,抓的是哪一版
现在主流搜索引擎以移动端用户代理来抓取页面,并把它作为主要的索引依据。也就是说,蜘蛛通常带着移动 UA 请求你的 URL,拿到的是移动版返回的 HTML,再以这份 HTML 为起点继续发现链接、判断内容。
这带来一个容易被忽略的后果:抓取路径是由移动版的链接结构决定的。桌面版页脚里那几十条分类链接、侧栏里的相关推荐,如果移动版没有输出到 HTML 里,蜘蛛就不会沿着它们走。
三种站点形态,路径各不相同
- 响应式设计:同一套 HTML,靠 CSS 适配。这是最省事的一种,移动端和桌面端链接基本一致,抓取路径没有明显分叉。注意别指望用 CSS 隐藏内容来影响蜘蛛——隐藏的内容仍在 HTML 里,照样能被读到。
- 独立移动域名(m. 或单独子域):蜘蛛抓 m 站,桌面站靠 alternate 标注关联。此时 m 站的导航、内链、Sitemap 才是蜘蛛的主路径。桌面站的链接改得再好,对移动抓取帮助有限。
- 动态服务(同一 URL 返回不同 HTML):靠 UA 判断返回哪一版。这种最容易出问题,因为两版的链接差异完全由后端模板决定,稍不注意移动版就少了一批入口。
移动版少的不只是内容,还有链接
为了首屏速度,移动版经常砍掉:页脚的整站导航、面包屑、相关文章列表、分页入口。这些恰恰是蜘蛛往下走的主要通道。砍掉之后问题不一定立刻显现,但抓取覆盖会慢慢变浅——深处页面回访间隔被拉长,新页面被发现的速度也变慢。
更麻烦的是内容不一致:移动版只显示摘要、把正文放在 JS 里异步加载,或者干脆返回一段提示语。蜘蛛拿到的是一个信息量很低的页面,既判断不出主题,也找不到继续走的理由。
移动版可以更简洁,但不能只剩一副骨架。蜘蛛需要的是可读的内容和可跟随的链接,而不是一个只有标题和按钮的壳。
自查清单
- 用移动 UA 请求关键页面,看返回的 HTML 里有多少条内链,和桌面版对比差多少。
- 关掉 JS 再看一遍,确认主要内容与链接是服务端直接输出的。
- 检查 m 站的 Sitemap 是否完整,是否存在指向桌面版的无效跳转。
- 核对两版的 canonical 与 alternate 标注是否互相指向、成对出现。
- 抽查移动版正文长度,是否明显短于桌面版。
怎么调整
优先保证移动版的服务端 HTML 里保留核心导航和分页入口,哪怕在样式上折叠起来。独立移动域名要维护好自己的内链和 Sitemap,别把它当成桌面站的附属品。如果短期内做不到两版一致,至少要保证正文主体和主要入口在移动版里能拿到。
另外,改动移动版模板后,观察一段时间蜘蛛在移动 UA 下的抓取量与命中分布,比只看桌面版日志更能反映真实情况。