移动优先索引已经不是新话题,但不少站点仍在跑两套代码:一套给桌面浏览器,一套给手机。问题在于,搜索引擎抓取现在主要使用移动端 UA。如果移动版本里的内容比桌面版少,或者要用户点一下切换到完整版才看得到正文,那么蜘蛛拿到的就是那个精简版本。
先搞清楚蜘蛛拿到的是哪个版本
- UA 判断跳转:按 User-Agent 把移动端请求 302 到 M 站,这是常见做法,但跳转层数不宜太多,也不建议用 JS 跳转。
- 响应式:同一个 URL 一套 HTML,只用 CSS 控制布局,维护成本最低,两套内容天然同步。
- 独立域名并存:m.example.com 与 www 同时存在时,要确认两边互相标注 alternate 与 canonical,并且内容对得上。
这三种做法没有绝对优劣,关键是你得知道当前站点属于哪一种,以及蜘蛛实际落在了哪个 URL 上。
内容一致性:别让移动端少一半
把桌面版和移动版的同一个地址并排打开,逐项比对下面这些内容:
- 正文文字与标题层级,移动版是否把长段落截断成展开阅读全文。
- TDK、canonical、结构化数据是否两边都完整。
- 图片 alt、表格、列表、内链是否被删掉。
- 分页、筛选、参数表、评论等模块是否在移动版被整块隐藏。
如果确实因为屏幕尺寸做了取舍,至少保证主体内容、主要内链和结构化数据不要丢。这几样丢了,同一个 URL 在两套版本里就相当于两份不同的页面。
隐藏内容要分清藏和删
折叠面板、Tab 切换、点击加载更多这类交互,在多数情况下内容仍然写在 HTML 里,可以被抓取到,不必过度紧张。真正要避免的是:关键信息只有点击之后才通过接口异步拉取,而初始 HTML 里什么都没有。判断方法很简单,把页面源码抓下来,禁用 JS 再看一遍正文还在不在。
另外要注意,同一段文字不要在两套版本里给出不同的表述。比如移动版为了简短把价格、规格改写成另一句话,两边对不上,容易让页面之间的关系变得模糊。
移动端体验也会影响抓取表现
- 首屏插屏广告、全屏弹窗盖住内容,用户要等几秒才能关掉。
- viewport 没设置或写死宽度,页面在手机上被缩小成细长一条。
- 正文字号偏小、行高拥挤,点击区域不足。
- 移动端图片没做尺寸适配,一张原图好几 MB,首屏加载很慢。
这些不直接决定是否被索引,但会影响打开速度和用户停留,进而影响抓取资源的分配和页面的整体表现。
一次可执行的自查流程
- 从服务器日志里筛出移动端蜘蛛的 UA,看它抓的是哪套 URL、有没有发生 302 跳转。
- 用移动 UA 访问 10 到 20 个代表性页面,把返回的 HTML 存下来。
- 禁用 JS 再打开一次,对比正文、内链、结构化数据的差异。
- 把差异列成清单,按栏目分派给对应负责人处理。
- 改完之后隔两三周再看一次日志,确认跳转和落点稳定下来。
几个常见误区
- 只测首页。首页通常维护得最好,栏目页和详情页才是重灾区。
- 以为用了响应式就万事大吉。响应式也可能用 CSS 把某些模块在窄屏下直接 display:none。
- 用 JS 做 UA 跳转。蜘蛛不一定执行这段脚本,容易出现两边都抓不到完整内容的情况。
- M 站的 canonical 指向自己。两套内容等价时,应该有一个明确的主版本。
同一份内容,最好只对应一个正式地址。多一套版本,就多一份需要同步维护的成本。
这件事不需要一次性全站推平,先从流量占比高的栏目开始,把两套版本对齐,再逐步扩展到其余页面,比大改版要稳妥得多。