站点运营

站点运营:移动端与桌面端的两套 URL,蜘蛛该抓哪个版本

移动端与桌面端两套 URL 时,蜘蛛可能抓到重复内容或漏掉入口。本文梳理响应式、独立移动域名、动态服务三种适配方式,说明 canonical、alternate 标注、robots.txt、sitemap 与日志检查的注意点,帮助站点减少重复抓取和版本混乱。

站点运营

站点运营:移动端与桌面端的两套 URL,蜘蛛该抓哪个版本

移动端流量占了大头,很多站点会准备两套页面:桌面版和移动版。对用户来说,切换通常无感;但对搜索蜘蛛来说,两套 URL 意味着两套抓取路径。如果处理不好,蜘蛛可能反复抓取重复内容,或者只抓到一个版本。

常见的三种移动适配方式

  • 响应式设计:同一套 URL,用 CSS 媒体查询适配屏幕。蜘蛛只需要抓一个地址,权重集中,维护成本低。这是目前比较省心的做法。
  • 独立移动域名:比如 m.example.com,移动端和桌面端各有 URL。需要做好对应关系,告诉蜘蛛两个版本的关系。
  • 动态服务:同一个 URL,根据 User-Agent 返回不同 HTML。服务器要做内容协商,风险是蜘蛛可能只看到其中一套,缓存和 CDN 也可能把版本搞混。

两套 URL 时,蜘蛛会怎么发现

蜘蛛通常从桌面版开始抓,也有的蜘蛛会带移动 User-Agent 访问。如果移动版没有正确的入口,或者只在移动端展示某些链接,桌面版蜘蛛就可能发现不了这些 URL。

常见的问题包括:

  • 移动版页面没有 canonical,或者 canonical 指向自己,导致两个版本都被当成独立页面。
  • 桌面版用 301 跳到移动版,移动版又跳回桌面版,形成循环。
  • 移动版屏蔽了搜索蜘蛛,但桌面版没有对应内容,造成内容缺失。
  • 移动版 sitemap 和桌面版 sitemap 混在一起,URL 重复提交。

URL 对应关系要明确

如果使用独立移动域名,建议在移动版页面加上指向桌面版的 canonical,或者在桌面版加上指向移动版的 alternate 标注。两种方式选一种,保持全站一致。不要一边用 canonical 一边用 JS 跳转,规则太乱容易让蜘蛛判断困难。

核心原则:一个内容尽量对应一个主 URL。如果必须有两个地址,就明确告诉蜘蛛哪个是主版本。

动态服务与缓存注意事项

动态服务依赖 User-Agent 判断。如果 CDN 或反向代理缓存了移动版页面,桌面用户可能拿到移动版 HTML,蜘蛛也可能抓到错误版本。检查响应头里的 Vary 是否包含 User-Agent,缓存策略是否区分了设备。服务器日志里可以观察同一个 URL 是否出现多种 User-Agent 抓取,以及返回内容是否一致。

检查与维护清单

  1. 确认移动版和桌面版的 URL 对应关系,列一张映射表。
  2. 检查 canonical、alternate 标注是否自洽,全站是否统一。
  3. 用移动 User-Agent 模拟抓取,看返回的 HTML 和状态码是否正常。
  4. 检查 robots.txt 是否误屏蔽移动端资源,比如 CSS、JS、图片。
  5. 观察服务器日志,看蜘蛛是否在两个版本之间反复抓取或陷入重定向。
  6. 如果改过适配方式,及时更新 sitemap 和内部链接,避免旧地址残留。

小结

移动适配不是单纯的前端问题,它也影响 URL 发现和抓取效率。响应式最省心;用独立域名或动态服务,就要把对应关系和 canonical 规则写清楚。定期用日志和模拟抓取检查,能减少重复抓取和内容错乱。