搜索抓取

移动优先抓取下的两套地址:搜索蜘蛛按哪条路径发现 URL

移动优先索引下,搜索蜘蛛常以移动端 UA 抓取页面。如果桌面版和移动版使用两套地址、Sitemap 只提交一套、移动端内链又被隐藏,URL 发现就容易断档。本文从地址对齐、Sitemap、内链和日志核验几个角度,梳理移动抓取路径的检查方法。

搜索抓取

移动优先抓取下的两套地址:搜索蜘蛛按哪条路径发现 URL

移动优先索引并不是说桌面版不重要,而是搜索蜘蛛在评估和抓取时,会优先采用移动端用户代理看到的页面。对站点运营来说,这意味着 URL 发现的路径也要跟着移动端走一遍:蜘蛛能不能在移动端拿到同样的链接、同样的 Sitemap 入口、同样的服务器响应,决定了新页面能不能顺利进入抓取队列。

两种常见结构:响应式与独立移动站

响应式站点通常只有一套 URL,移动端和桌面端共用地址,抓取路径最简单。真正容易出问题的是独立移动站,比如桌面用 www.example.com,移动用 m.example.com。两套地址并存时,如果处理不当,蜘蛛可能只发现其中一套,或者把两套当成不同页面反复抓取。

  • 桌面页和移动页互相指向时,尽量保持一对一关系,不要让移动页只链到桌面首页。
  • 如果使用跳转,桌面 UA 和移动 UA 的跳转目标要稳定,避免同一地址在两种 UA 下返回完全不同的入口。
  • 移动页的 canonical 指向要明确:通常指向自身或桌面版本,但不要两套地址互指,形成循环。

Sitemap 里该放哪一套地址

Sitemap 是 URL 发现的重要补充,但它的价值在于和实际可抓取地址一致。如果 Sitemap 只提交桌面 URL,而移动端另有地址,蜘蛛仍然可能从 Sitemap 进入桌面路径,再被跳转到移动路径。更稳妥的做法是让 Sitemap 覆盖主要地址,并保证这些地址在移动 UA 下能正常返回内容,而不是把用户或蜘蛛引到一个空壳页或拦截页。

当站点 URL 数量较多、做了分片时,也要检查分片索引是否在移动端可访问。有些站点在移动端对 XML 文件做了限制访问,结果 Sitemap 虽然在 robots.txt 里声明了,蜘蛛却拿不到内容。

内链要在移动端真的可见

移动端为了排版,常把导航折叠进菜单、把侧栏隐藏、把分页改成“加载更多”。这些交互对用户没问题,但如果链接只存在于 JavaScript 点击之后,或者被 CSS 隐藏,蜘蛛在移动 UA 下就可能看不到这条路径。URL 发现依赖链接,链接不可见,新页面就只能等 Sitemap 或其他入口。

  • 主导航、面包屑、文章底部的相关链接,尽量用可抓取的 a 标签输出。
  • “加载更多”如果只是按钮事件,最好保留一个可访问的分页地址,或者让首屏包含足够多的链接。
  • 移动端隐藏的链接,不要只在桌面版存在,否则移动优先抓取时会丢失这部分路径。

服务器响应与 UA 差异

有些站点会根据 User-Agent 返回不同内容。正常的内容适配可以接受,但要避免移动蜘蛛拿到 403、空页面或大量无内容的结构。另一个常见问题是移动端 CDN 或缓存节点对搜索蜘蛛 UA 返回了缓存中的错误页,导致抓取路径在边缘节点就被截断。

检查时可以从服务器日志里筛选移动蜘蛛 UA,看它请求的地址、返回状态码和响应体积。如果移动蜘蛛拿到的状态码大多是 200,但页面体积异常小,或者重定向链很长,就要回到模板和缓存配置上排查。

用日志核验移动抓取路径

  1. 在日志中过滤移动端搜索蜘蛛 UA,确认它抓取的是移动地址还是桌面地址。
  2. 抽样对比同一页面在桌面 UA 和移动 UA 下的 HTML,看主要链接是否一致。
  3. 检查 Sitemap 中的 URL 在移动 UA 请求时是否返回正常内容和正确状态码。
  4. 观察新页面从发布到被移动蜘蛛首次抓取的时间,判断路径是否通畅。
移动优先抓取不是额外加一套移动站就完事,关键是让蜘蛛在移动端也能走到和用户一样的 URL 发现路径。路径对不上,再多的 Sitemap 声明也只是多一个入口,不一定能补回内链断掉的部分。

如果站点同时存在桌面和移动地址,建议定期用移动 UA 做一次小规模抓取测试,重点看导航、列表页、详情页和 Sitemap 是否都能连通。抓取路径稳定之后,URL 发现和后续的抓取安排才有讨论的基础。