搜索引擎抓取页面时,默认以移动端 UA 为主。蜘蛛看到的,往往就是你在手机屏幕上呈现的那一版。如果移动版内容比桌面版少、正文被折叠、或者跳到一个空壳页,蜘蛛对这一页的判断也会跟着打折。下面几件事,适合放进站点运营的例行检查里。
先确认蜘蛛抓到了哪一版
与其凭感觉猜,不如直接从服务器日志入手。筛选移动端 UA 的记录,把状态码、响应体大小、最终 URL 三项拉出来,和桌面端 UA 的记录做对照。如果同一篇文章在移动 UA 下返回的字节数明显偏小,通常说明移动版砍掉了正文或列表内容。
同时看一眼抓取频率的分布:如果移动 UA 的请求量远低于桌面 UA,可能只是抓取尚未完全切换,也可能站点在 robots 或服务器层面对移动 UA 做了区别对待。这两种情况的处理方式完全不同。
移动端内容要能撑起这一页
- 正文是否完整呈现,还是只留了摘要、必须点按钮才展开;
- 价格、参数、联系方式等关键信息是否只在桌面版出现;
- 图片在移动端是否仍然保留了 alt 描述,而不是被换成背景图;
- 正文里的内链是否被大量删减,只剩下一套导航;
- 评论区、表格、代码块这类内容是否被整体隐藏。
用 CSS 隐藏内容并不等于蜘蛛看不到,但隐藏后的内容在页面中的权重通常会被压低。如果某些内容对用户和蜘蛛都重要,最好让它默认可见,而不是折叠起来。
三种常见做法各自的注意点
响应式
同一套 URL、同一份 HTML,靠媒体查询适配。这种结构对蜘蛛最友好,只要确认没有用 CSS 或 JS 把正文在窄屏下移除即可。检查时把浏览器窗口拖窄,看正文是否还在 DOM 里可见。
独立移动站
常见形式是 m 开头的子域或子目录。这种情况下,移动版页面的 canonical 应指向自己,桌面版页面的 canonical 也指向自己,两者之间用等价关系说明。不要互相指成闭环,也不要把移动版的 canonical 全部指向桌面版,那会让移动版页面失去独立身份,也让蜘蛛摸不清到底以谁为准。
按 UA 动态返回
服务器根据 UA 返回不同 HTML,共用同一个 URL。这种做法的风险在于缓存:如果 CDN 或反向代理把移动版页面缓存后返回给了桌面 UA,或者反过来,就会出现移动版内容出现在桌面访问里的情况。确认缓存键里包含了 UA 或设备类型,必要时对两类请求做区分。
容易被忽略的几处
- 视口 meta 缺失,移动端按桌面宽度渲染,用户需要缩放,蜘蛛拿到的布局同样是错的;
- 首屏弹出全屏插屏广告或 App 下载引导,把主要内容压在下面;
- 移动端单独做了一套跳转规则,桌面访问被强行跳到移动版,形成来回跳;
- 字体过小、点击目标过密,这属于体验层面的问题,但会一并反映在页面质量评估里;
- 移动版的 CSS、JS、图片资源加载失败,导致页面渲染不完整。
一份可以照着做的自查流程
- 用移动 UA 抓取几个代表性页面,记录状态码和 HTML 大小;
- 把移动版 HTML 与桌面版 HTML 对比,看正文、内链、结构化数据的差异;
- 检查视口设置,以及首屏是否被弹窗遮挡;
- 如果是独立移动站,核对两侧 canonical 与等价关系;
- 如果是动态返回,确认缓存策略不会把两版内容串味;
- 把发现的问题按影响面排优先级,先修内容缺失,再修细节体验。
移动优先不等于桌面版可以放着不管。用户仍然会在电脑上访问,蜘蛛也只是把移动版当作主要参考。两边内容保持一致,才是最省事的状态。
这件事不需要一次做到完美。先把正文完整性、canonical 关系和缓存串味这三类问题解决掉,剩下的细节可以随内容更新一起慢慢补。