移动优先索引并不是说桌面版不重要,而是搜索蜘蛛在评估和抓取时,会优先采用移动端用户代理看到的页面。对站点运营来说,这意味着 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,但页面体积异常小,或者重定向链很长,就要回到模板和缓存配置上排查。
用日志核验移动抓取路径
- 在日志中过滤移动端搜索蜘蛛 UA,确认它抓取的是移动地址还是桌面地址。
- 抽样对比同一页面在桌面 UA 和移动 UA 下的 HTML,看主要链接是否一致。
- 检查 Sitemap 中的 URL 在移动 UA 请求时是否返回正常内容和正确状态码。
- 观察新页面从发布到被移动蜘蛛首次抓取的时间,判断路径是否通畅。
移动优先抓取不是额外加一套移动站就完事,关键是让蜘蛛在移动端也能走到和用户一样的 URL 发现路径。路径对不上,再多的 Sitemap 声明也只是多一个入口,不一定能补回内链断掉的部分。
如果站点同时存在桌面和移动地址,建议定期用移动 UA 做一次小规模抓取测试,重点看导航、列表页、详情页和 Sitemap 是否都能连通。抓取路径稳定之后,URL 发现和后续的抓取安排才有讨论的基础。