移动优先之后,蜘蛛先看哪一版
现在主流搜索引擎基本按移动优先处理:抓取与渲染时优先使用移动端用户代理,也就是手机版页面。桌面版的抓取并没有完全消失,但它更多是补充和比对,页面的主要内容、链接和结构化数据以移动端呈现的版本为准。
这带来一个很直接的结果:如果你只在桌面版上维护了完整内容,而移动版是简化过的,那么蜘蛛看到的就是被简化过的那一版。
三种常见的页面组织方式
响应式:一套 HTML,多个断点
同一个 URL、同一份 HTML,靠 CSS 适配屏幕宽度。这是最省心的做法,不存在两版内容不一致的问题,也不需要在 robots.txt、canonical 上做额外处理。只要别用 JS 在移动端隐藏大段正文,通常不会出问题。
独立移动站:m 子域或独立域名
桌面与移动各有一套 URL。这时要保证两边内容等价,并用 alternate 与 canonical 互相指向,对应关系要一一清晰。常见问题是移动站只放摘要、去掉分页、砍掉内链,结果蜘蛛在移动站上走不到列表深处。
按 UA 动态返回不同 HTML
同一个 URL 根据 UA 返回不同内容。这种做法最容易出错:一旦移动 UA 拿到的是缺少正文或链接的版本,蜘蛛就按这个版本理解页面。如果必须这样做,务必让两版的正文、标题、重要内链保持一致。
两版之间必须对齐的东西
- 正文与标题:移动版不能只留摘要,也不能把正文做成图片。
- 结构化数据:两边都应有,且描述同一个实体。
- 内链:移动端导航可以简化,但通向栏目和重要详情页的链接不能消失。
- 图片与视频:用能被抓取的 img 或视频标签,而不是纯 CSS 背景图。
- canonical 与 alternate:指向关系要稳定,不要出现 A 指向 B、B 又指向 C。
移动端最容易被挡掉的资源
渲染要靠 CSS 和 JavaScript,如果这些资源对移动 UA 不可访问,蜘蛛渲染出的页面可能是一堆没有样式的文本,甚至内容为空。
- robots.txt 里禁止了样式或脚本目录,只对桌面 UA 放行。
- 服务器或防护策略对移动 UA 做了限速、验证码,或直接返回 403。
- 懒加载用 JS 占位,移动端没有滚动就不会替换成真实图片地址。
- CDN 按 UA 缓存,把移动版页面返回给桌面抓取,或者反过来。
一套可以执行的自查流程
- 用移动端 UA 抓取几个代表性 URL,把返回的 HTML 保存下来。
- 与桌面 UA 抓到的 HTML 对比正文长度、标题、内链数量、结构化数据。
- 检查 CSS、JS、图片是否都能正常返回,有没有 403、429。
- 在日志里按 UA 分组,看移动 UA 的抓取量、状态码分布和抓取深度是否正常。
- 修正差异后,先提交少量 URL 观察日志,再逐步放开。
要点不是给蜘蛛准备一个特殊版本,而是让移动版和桌面版传达同样的信息。任何只在其中一版存在的内容,都可能被忽略。
最后提醒一句:抓取和渲染是两个阶段,先能取到、再能渲染出来,才轮到后续处理。与其在伪装和参数上花心思,不如把两版页面对齐,把 CSS 与 JS 放开,把内链留在移动端。