做蜘蛛池入口页时,很多人的注意力都在链接数量、更新频率和抓取日志上,却容易漏掉一件事:现在的搜索蜘蛛抓取入口页时,用的往往是移动端 UA。如果入口页只在桌面版里放了目标链接,移动版是一套被精简过的页面,那蜘蛛看到的可能就是一个没有任何外链的空壳。
为什么移动端 UA 值得单独确认
主流搜索引擎的移动优先索引已经运行多年。简单说,同一个 URL,搜索引擎更倾向于用移动端 UA 去抓取和评估内容。对蜘蛛池入口页来说,这意味着决定目标 URL 能不能被发现的,往往是移动版 HTML 里有没有这些链接,而不是你在桌面浏览器里看到了什么。
入口页本身没什么真实访问量,所以这个问题在人工检查时几乎不会暴露——你用电脑打开一切正常,但蜘蛛拿到的页面可能完全不是一回事。
三种常见做法,风险不一样
1. 响应式同一套页面(最省事)
桌面和移动共用同一份 HTML 和同一个 URL,链接在两种设备下都完整存在。不需要额外维护,也不存在某个版本漏了链接的问题。对以链接引导为目的的入口页来说,这是最稳妥的选择。
2. 独立移动站或单独的移动版页面
如果你的入口页本身有 m 子域或单独的移动模板,需要确认移动版里目标链接是否完整。常见的问题是:移动版为了轻量把侧栏、页脚、相关推荐都砍掉了,而链接恰好都放在这些位置。
- 移动版和桌面版的链接清单保持一致
- 移动版能正常返回 200,不要出现 403 或者跳回首页
- 桌面版与移动版之间用 rel=alternate 和 rel=canonical 正确互指,别互相矛盾
3. 靠 UA 判断,给不同设备返回不同内容
这种做法风险最高。如果服务端识别到蜘蛛 UA 就返回一份带链接的页面,普通移动用户拿到的是另一份,这在搜索引擎的规则里属于需要谨慎对待的行为,容易被当作隐藏内容处理。即使没有主观恶意,出了问题也很难解释清楚。
如果确实需要跳转,用 301 跳到对应的移动版本,比用 JS 判断 UA 再跳转要清晰得多。
用移动 UA 自测的排查清单
- 用手机 UA 请求入口页,把返回的 HTML 存下来,数一数目标链接的数量,再和桌面 UA 的结果对比
- 确认移动版没有被 CDN 或 WAF 拦成 403、503
- 确认链接是写在 HTML 源码里,而不是靠 JS 二次渲染或点击菜单才加载
- 翻抓取日志,看移动 UA 抓完入口页之后,有没有出现对目标 URL 的请求
- 如果两步之间隔了很久,先排除入口页本身响应慢或超时的问题
几个容易被忽略的细节
- 折叠菜单里的链接:只要在 HTML 源码中存在,通常仍能被解析到;但如果内容是点击后才由 JS 加载的,就要打上问号
- 简版或 AMP 页面:确认里面的链接没有被模板逻辑吃掉
- 移动版只放一个跳转按钮:等于把入口页变成纯跳转页,原本靠它做链接发现的作用基本就没了
给移动端单独做一套页面并不是必须的。多数情况下,把入口页做成响应式、保证两种 UA 拿到的链接一致,就已经解决了问题。真正要避免的,是桌面版有链接、移动版没链接这种无声的漏抓。
抓取和索引最终由搜索引擎决定,我们能做的是把人为设置的障碍清掉。移动端这一环,花十分钟用手机 UA 抓一次页面,往往比反复调整链接数量更有用。