搜索抓取

移动端与桌面端两套 URL:蜘蛛的分流抓取路径怎么理清

很多站点同时存在移动端和桌面端两套 URL,蜘蛛在发现和抓取时会因此多出一层选择。本文梳理两套 URL 的常见形式、跳转与抓取预算的影响,以及 Sitemap 标注、内链指向和服务器一致性上的处理方式,帮助把分散的抓取路径逐步收敛到规范版本。

搜索抓取

移动端与桌面端两套 URL:蜘蛛的分流抓取路径怎么理清

同一份内容在移动端和桌面端各有一套 URL,是很多站点长期存在的状态。m 站、独立子域、路径前缀,或者同一域名下靠 User-Agent 判断返回不同模板,都会让蜘蛛在发现 URL 时多出一层选择。这层选择如果没理顺,URL 发现速度和抓取节奏都会被拖慢。

两套 URL 是怎么冒出来的

常见形式有几种:m.example.com 这类独立子域,example.com/m/ 这类路径前缀,wap 子域,以及同一个 URL 根据请求头输出不同 HTML。前几种在蜘蛛眼里是两组完全独立的网址,最后一种蜘蛛只看到一个网址,但抓到的内容可能并不一致。

蜘蛛在分流页面上的实际动作

先看跳转,再看内容

桌面 URL 用 302 跳到 m 站,蜘蛛通常会在一定范围内跟着跳。但如果每次访问的跳转目标不稳定,跳转链上还叠加了地区判断、Cookie 判断,抓取就会在这条路径上反复消耗,真正落到内容页的请求变少。

抓取预算被摊薄

两套 URL 意味着 URL 总量接近翻倍,抓取请求也接近翻倍,而内容只有一份。站点规模小的时候感受不明显,一旦列表页、标签页、筛选参数多起来,重复部分占用的抓取量就会变得显眼,新内容的发现和复查都会被挤到后面。

Sitemap 里怎么写更清楚

  • 优先只提交规范版本的那一套 URL,另一套通过 alternate 或 hreflang 关系说明,不要两边都塞进同一个 Sitemap。
  • 如果业务上确实要保留两套,建议分片提交并标注清楚,不要把两套混在一个文件里靠 lastmod 区分。
  • lastmod 用内容真实更新时间,不要因为模板改版就整站刷新,否则蜘蛛的复查节奏会被打乱。

内链该指向哪一端

站内链接应统一指向规范版本。导航、面包屑、正文内的链接如果一半指 m 站、一半指桌面站,蜘蛛会把两套 URL 都当成入口,URL 发现来源变多,收敛速度变慢。移动端页面上出现的链接,建议直接写规范 URL,而不是再跳一次。

服务器与渲染的一致性

移动端和桌面端经常部署在不同环境里。如果 m 站所在服务器响应偏慢、容易返回 5xx,蜘蛛在那条路径上的抓取成功率就会下降,进而影响整站后续的复查频率。同一内容的两个版本,返回的状态码、缓存协商头、主体内容应当尽量一致,避免一端 200、另一端超时。

自查顺序

  1. 用不同 UA 请求同一个 URL,确认返回的 HTML 主体内容是否一致。
  2. 检查跳转链,看是否存在与 UA 相关的多级跳转。
  3. 查看 Sitemap,确认是否同时存在两套 URL。
  4. 抽查站内链接,大致统计指向 m 站和桌面站的比例。
  5. 对比两端服务器的响应时间和错误率,找出较慢的一侧。
两套 URL 本身不是问题,问题在于蜘蛛无法判断哪一套才是你希望被收录和抓取的版本。把规范版本、跳转关系、Sitemap 标注和内链指向统一起来,抓取路径会慢慢收敛。