蜘蛛池知识

蜘蛛池入口页的移动端视图:蜘蛛用手机 UA 抓到时看到的可能不是这一版

搜索引擎普遍以移动端为主评估页面,蜘蛛抓取入口页时也常带手机 UA。同一份页面在移动端被折叠、裁剪或被 robots 屏蔽,都会让蜘蛛拿到一份残缺的 HTML。本文梳理移动端常见的几种翻车方式、用手机 UA 自查的顺序,以及入口页在移动端该怎么简化处理。

蜘蛛池知识

蜘蛛池入口页的移动端视图:蜘蛛用手机 UA 抓到时看到的可能不是这一版

做蜘蛛池入口页的时候,很多人只在自己电脑的浏览器里看一眼,觉得页面能打开、文字都在,就当作没问题了。但搜索引擎现在普遍以移动端为主来评估页面,蜘蛛抓取时带的 User-Agent 也常常是手机浏览器。也就是说,你在宽屏下看到的那个排版整齐的入口页,蜘蛛未必能看到同一版。

为什么蜘蛛会带着手机 UA 来

抓取端的选择通常有三种实现方式:响应式布局、独立移动站、以及按 UA 动态返回不同 HTML。前两种比较常见,第三种在过去几年被大量使用,也是问题最集中的一种。它意味着同一个 URL,用桌面 UA 和手机 UA 请求,服务器可能返回两套完全不同的内容。

移动端常见的三种翻车方式

  • 内容被折叠。移动端为了首屏好看,把正文和一部分链接塞进「展开全文」,必须点击或滚动到底才加载。如果展开逻辑依赖 JS,蜘蛛很可能只拿到标题和一句摘要。
  • 内容被裁剪。模板在移动端直接删掉侧栏、相关阅读、分页导航。入口页本来靠这些位置把链接铺出去,裁掉之后蜘蛛能顺着走的路径就少了。
  • 移动版被屏蔽。m 站单独配了一份 robots.txt,或者移动版模板里带着 noindex。桌面版能抓,移动版反而拒之门外。

用自己的手机 UA 自查一遍

  1. 用命令行带上手机 UA 请求一次入口页,直接看返回的 HTML 源码,而不是看渲染后的画面。
  2. 把移动版和桌面版的正文文字量做个对比。差的不是排版,是内容本身少了多少。
  3. 记录跳转链:入口页是否跳到 m 站,m 站是否又跳回来。301、302 跳个两三次还不落地,抓取端容易中途放弃。
  4. 看移动版上的 canonical 指向哪里。桌面版和移动版各自指向自己、或者一方指向另一方,都是常见写法,但至少要一致,别两边互相打架。
  5. 检查首屏有没有遮挡式弹窗、浮层或下载引导。这类元素会盖住正文和链接。

两套站还是一套模板

如果维护成本允许,优先用响应式。一套 HTML、一套链接结构,蜘蛛无论带什么 UA 拿到的都是同一份内容,你也不用去对齐两个版本的 canonical。确实要分站的话,把移动版当成正式版本对待:正文完整、链接完整、允许抓取,然后和桌面版做一次交叉核对。

入口页的核心价值是让蜘蛛发现并走到下游链接,正文短一点不可怕,可怕的是移动端把链接一并藏了起来。

几条省事的做法

  • 正文和链接在两种 UA 下都完整输出,折叠只影响视觉呈现,不影响 HTML 里有没有。
  • 折叠、选项卡优先用 CSS 或原生 HTML 实现,少依赖点击后才发起请求的脚本。
  • 移动端的弹窗做成可关闭、可延后出现的,不要一进页面就糊在正文上。
  • 改动模板后,隔一段时间再用手机 UA 抓一次,确认返回的仍是完整版本。

把移动端当成主版本来看待,而不是桌面版的附属品,很多「蜘蛛来了却什么都没抓到」的疑问,会自然少一大半。