搜索抓取

移动版砍掉的那些链接:蜘蛛抓的是哪一版页面

主流搜索引擎的爬虫默认以移动端身份抓取,移动版 HTML 才是蜘蛛真正看到的页面。本文梳理响应式、动态服务、独立移动域名三种做法下链接图的差异,说明移动版做减法时最容易被砍掉的导航与正文内链,并给出用两种 UA 对比自查的方法和常见的拦截误判。

搜索抓取

移动版砍掉的那些链接:蜘蛛抓的是哪一版页面

现在主流搜索引擎的爬虫,默认以移动端身份发起抓取。Googlebot Smartphone 早已是主力,百度、必应也在往移动端信号倾斜。这意味着:你在桌面浏览器里看到的那个页面结构,蜘蛛很可能根本没看到——它拿到的是移动版 HTML。如果移动版为了“轻量”砍掉了导航、页脚、相关推荐和正文内链,蜘蛛的 URL 发现路径就会跟着变窄。

移动化有三种做法,链接图完全不同

响应式:一套 HTML 服务所有设备

响应式站点靠 CSS 做适配,HTML 只有一份。对蜘蛛最友好:链接、锚文本、canonical 完全一致,抓取路径和你在桌面看到的没有差别。唯一要留意的是别用脚本在窄屏下把某些 DOM 节点删掉,那样两版结构就不一致了。

动态服务:同一个 URL,两套 HTML

服务器按 UA 返回不同 HTML。只要链接集合一样,问题不大。但现实中常见的做法是:移动版把侧栏、页脚、标签云整块去掉,于是蜘蛛在同一个 URL 上只看到桌面版一半的链接,URL 发现能力实打实地缩水。

独立移动域名:最容易形成两套割裂的链接图

m.example.com 这类做法问题最多。桌面版链接指向 www,移动版链接指向 m,如果两边不做配对标注,就会形成两张互不相通的链接图。移动爬虫在 m 站内部绕圈,桌面 URL 长期得不到新链接补充;反过来,移动 URL 也可能只靠 Sitemap 才能被想起来。

移动版做减法时,最先丢的是链接

  • 导航折叠进汉堡菜单,并且菜单内容由脚本在点击时插入,HTML 源文件里没有链接。
  • 页脚导航整块不下发,尤其是“全站栏目”“热门标签”这类高价值链接区。
  • 正文相关推荐只在宽屏断点输出,窄屏直接不渲染。
  • 分页在移动端换成“加载更多”按钮,后续页面的 URL 不再出现在 HTML 里。
  • 面包屑为了省空间被隐藏,层级关系只剩一个返回按钮。

这些改动的出发点都是体验,但结果是把站内可爬的路径砍掉了一截。蜘蛛不是靠猜来找页面的,路径少了,发现就慢了。

怎么自查:用两种 UA 各抓一遍

拿一个普通工具,分别用移动端 UA 和桌面 UA 抓同一批页面的 HTML 源码,然后对比三件事:内部链接的数量、锚文本是否一致、canonical 是否都指向同一个首选 URL。差异集中在导航和页脚,就说明结构被砍了;差异出现在正文,就要看看是不是模板做了条件输出。

移动版如果要精简,比较稳妥的顺序是:先保留链接,再压缩展示形式。菜单用 CSS 收起而不是用脚本生成,页脚链接保留在源文件里,分页继续输出可爬的 URL,这些都不影响视觉上的简洁。

别把移动端 UA 当成异常流量拦掉

还有一个容易被忽略的环节:服务器和 WAF 的规则。有些站点把移动端 UA 与“模拟器、采集器”归到一类直接拦截,或者给移动路径配了更严格的限流。蜘蛛连续拿到 403 或超时,抓取安排就会被推后,严重时干脆放弃这批 URL。上线任何 UA 匹配规则前,确认自己没有误伤主流搜索引擎的移动爬虫。

移动优先不是“移动端随便做做就行”。蜘蛛看到的那个版本,才是你真正提交给搜索引擎的站点。