不少站点在桌面端看着挺完整,用手机打开却换了一副面孔:导航折叠、正文缩水、图片撑破布局,甚至关键内容全藏在弹窗后面。现在搜索引擎基本以移动端版本作为主要索引依据,也就是说,蜘蛛看到的那一版,很可能就是你手机上打开的那一版。桌面端做得再漂亮,移动端过不了关,收录和展示都会打折扣。
移动端与桌面端,内容应当一致
最常见的坑是「移动端少给一点」:桌面端有的参数表、价格说明、规格列表,移动端为了页面轻快就砍掉了。如果这些内容对页面主题重要,砍掉就等于告诉搜索引擎这页没那么多信息。比较稳妥的做法是:核心正文、标题、主要链接保持一致,只在展示形式上做取舍。
- H1 与主标题一致,不要移动端换成一句营销口号;
- 正文主体(含关键表格、列表)两边都要有,可以折叠,但别删除;
- 结构化数据、canonical、meta 描述两边保持同一套。
几种移动化做法,各有代价
响应式设计
同一套 URL、同一份 HTML,靠 CSS 适配屏幕。维护成本最低,也是目前最省心的选择。需要注意的是别用 JS 按屏幕宽度替换正文,那会让蜘蛛拿到两种内容。
独立移动域名或子域
m.example.com 这类结构,需要做好双向标注:移动页指向桌面页,桌面页也要指回移动页,同时保证移动端能正常被抓取,别把 m 站整段挡在 robots.txt 里。历史上常见的错误就是移动站不让抓,结果索引里一直是老的桌面版。
动态返回不同 HTML
同一个 URL 根据 UA 返回不同内容,理论上可行,但容易出问题。如果一定要做,务必保证两边内容等价,并且不要对搜索引擎的 UA 返回与普通用户不同的版本,那属于另一类风险。
移动端自己的抓取障碍
- 弹窗与浮层遮挡:首屏被优惠券弹窗盖住,蜘蛛解析到的正文位置很靠后;
- 懒加载没兜底:图片、长列表滚动才加载,没有 noscript 或预渲染,蜘蛛可能只拿到占位图;
- 视口缺失:没有 viewport 声明,移动端被当成 980px 宽渲染,内容被压缩成一小块;
- 拦截滚动:为了做全屏体验锁死滚动,反而让内容无法展开;
- 字体与脚本阻塞:移动端先加载一个大字体文件,首屏 HTML 迟迟不完整。
上线前后可以这样自查
- 用手机真机打开核心页面,看首屏有没有正文,而不是只有导航和 banner;
- 查看页面源代码(不是开发者工具渲染后的 DOM),确认正文是否在初始 HTML 里;
- 检查移动页与桌面页的标题、canonical、robots 指令是否一致;
- 用搜索引擎官方的移动端测试工具或抓取工具跑一遍核心 URL;
- 从服务器日志里筛选移动蜘蛛的 UA,看看它抓的是不是关键页面。
把它放进日常巡检
移动端的问题往往是渐进出现的:改了一次模板、上了一套新组件、接入了一个第三方脚本,都可能让首屏变空。与其等收录掉了再回头查,不如把移动端检查固定成模板改版后的一个动作。
判断标准其实很简单:手机打开这页,不用滚动、不用点开任何东西,能不能看到这页在讲什么。蜘蛛的判断和你的第一眼,差不太多。