搜索抓取

蜘蛛看到的是手机版还是桌面版:移动优先抓取下的内容与链接差异

搜索引擎现在以移动端为主抓取和索引,同一套 URL 下蜘蛛拿到的 HTML 到底是哪一份,会直接影响它对内容和链接的判断。本文对比响应式与独立移动站的差异,列出移动版常见的正文截断、导航折叠、加载更多等问题,并给出一套用两套 UA 做抓取对比的自查顺序。

搜索抓取

蜘蛛看到的是手机版还是桌面版:移动优先抓取下的内容与链接差异

搜索引擎现在以移动端用户代理为主来抓取和建立索引,桌面版页面在很多场景下只是辅助。这意味着同一套 URL 之下,蜘蛛看到的 HTML 究竟是哪一份,会直接影响它对内容完整度和站内链接的判断。

先弄清楚蜘蛛拿到的是哪一版

如果站点用的是响应式设计,桌面和手机共用同一份 HTML,靠 CSS 和视口调整显示,那么蜘蛛拿到的就是同一份内容,差异只存在于渲染结果里。如果用的是独立移动站,比如 m 子域或者另一套模板,情况就复杂:蜘蛛可能按移动规则抓移动站,也可能把两边当成不同来源的内容,需要额外做对应关系。

两套 HTML 之间常见的差异

  • 移动版正文被截断,只留摘要,全文藏在“展开阅读”之后
  • 移动版导航折叠进汉堡菜单,链接不写进 HTML,靠脚本展开
  • 移动端分页改成“加载更多”,第二页的链接根本不在源码里
  • 桌面版有的大段内链,比如侧栏推荐、相关阅读,移动版直接删掉
  • 移动版为了速度去掉了结构化数据、图片 alt 或者部分正文图片

这些差异里,对抓取影响最大的是链接不再出现在 HTML 中。蜘蛛走不到,后面的内容做得再好也没有入口。

移动端容易踩的几个点

  • 用 display 隐藏的链接:虽然源码里有,但渲染后可能不被当成可见链接,稳妥做法还是输出可点击的 a 标签
  • 用脚本拼接的导航链接,要确认渲染后确实可点击、可跟随
  • 移动站与桌面站 URL 不一致,又没有做对应的版本标注,容易被当成两套内容各自处理
  • m 站的 robots.txt 或访问控制写得比主站更严,把一部分目录挡在了外面

一套可执行的自查顺序

  1. 分别用手机 UA 和桌面 UA 抓取首页与几个关键页面,把返回的 HTML 做对比
  2. 数一数源码里的链接数量和渲染后的链接数量,差值往往就是问题所在
  3. 比较正文长度,确认移动版有没有被折叠或截断
  4. 检查 sitemap 中的 URL 是否与移动端实际返回的版本一致
  5. 翻服务器日志,看蜘蛛用的 UA 和它访问的路径,判断它主要抓的是哪一版

一些稳妥的做法

能响应式就响应式,一套 HTML 解决问题,不必额外维护两套模板。如果确实要拆开,两边正文尽量保持一致,不要删减,内链该保留的都保留,并按主流搜索引擎支持的移动版标注方式做好对应关系。定期用两套 UA 抓取对比,把差异当成缺陷来修,而不是当成可以省下来的优化空间。

蜘蛛看到的那一版,才是你的站点对它而言真实的样子。