搜索引擎以移动端为主要抓取视角,这件事已经被讲了很多年,但真正落到自查上,不少团队仍然只看一句“手机打开是否正常”。而蜘蛛看到的移动版本,和你用手机看到的,未必是同一套东西。
移动优先抓取,抓的到底是什么
简单说,当蜘蛛访问一个 URL 时,会优先采用移动端 UA 获取页面,并以这份内容作为索引的主要依据。桌面版本仍会被参考,但主版本是移动版。这意味着桌面版写得再完整,如果移动版少了一半内容,进入索引的可能就是少掉的那部分。
三类容易被忽略的差异
一、内容差异:隐藏不等于不存在
移动端为了排版,很多站点会把侧栏、相关推荐、甚至部分正文折叠或收起。折叠本身不是问题,但如果被收起的内容是通过 JS 动态删除的,或者根本没有输出到 HTML 里,蜘蛛在移动视角下就拿不到。
常见的坑还有:桌面显示完整参数表,移动端只留一个标题;桌面正文分段展示,移动端改成图片形式。这类差异一旦涉及核心内容,建议以移动端的输出为准做统一,用 CSS 控制展示形态,而不是在服务端按 UA 返回两套完全不同的正文。
二、独立移动域与跳转
一些老站点仍然保留 m. 开头的移动域。这种结构不是不能维护,但有几件事必须处理清楚:
- 移动域与主域的 URL 对应关系要明确,尽量一对一,避免多个桌面 URL 指向同一个移动 URL
- 移动域上的 canonical 指向桌面版,桌面版按需配置 alternate,方向不要写反
- 移动域不要设置成几秒后自动跳回桌面版,尤其是用 JS 判断 UA 触发的跳转
如果已经改用响应式方案,就别留下残留的移动域跳转规则,否则蜘蛛可能在两套域名之间来回折返。
三、缓存与 Vary 响应头
如果服务器按 UA 返回不同的 HTML,却没有设置 Vary: User-Agent,CDN 很可能把为移动端准备的页面缓存下来,再发给桌面用户,反之亦然。结果就是蜘蛛这次拿到移动版、下次拿到桌面版,同一个 URL 出现两种内容。要么不做 UA 分流,要么把缓存策略配正确。
可执行的移动端自查清单
- 用移动 UA 抓取一次目标页,确认返回的 HTML 中核心正文、标题、主要链接都在
- 对比移动版与桌面版的 H1、正文段落、内链数量,差异是否在可解释范围内
- 检查 viewport 设置是否正常,有没有阻止缩放导致内容被截断
- 检查移动端弹窗、浮层是否覆盖首屏内容,大范围遮挡可能被判定为内容不可见
- 确认没有占满屏幕的引导下载 App 横条长期挂在页面顶部
- 确认图片使用响应式尺寸,而不是把桌面大图硬缩到手机上
- 检查 Vary 响应头与 CDN 缓存规则,有 UA 分流的站点尤其要核对
- 测试分页、筛选等交互是否纯依赖手势,蜘蛛能否以普通链接方式触达
几个常见误区
- “桌面版内容齐全就可以了”——主版本是移动版
- “display:none 的内容也算存在”——要看是 CSS 隐藏,还是压根没输出
- “移动域跳转是小问题”——多余的跳转链会拉低抓取效率
自查的目的不是让移动版和桌面版一模一样,而是保证核心内容、可抓链接和清晰结构在任何视角下都成立。
小结
移动端适配不是把页面缩到手机上能看就行。把移动版当作主版本,检查内容完整度、链接可达性和缓存行为,才是这一轮自查真正要回答的问题。发现差异时,优先统一输出,而不是在旧结构上打补丁,长期维护成本会低很多。