现在搜索引擎主要以移动端 UA 抓取页面。如果你的站点把 PC 和移动拆成了两套 URL,比如 www 和 m 两个域名前缀,那么蜘蛛实际看到的、以及最终进入索引的,很可能不是你在 PC 浏览器里反复检查的那个版本。两套 URL 之间的对应关系没理顺,收录数量就会莫名其妙地偏少或者偏多。
先确定自己属于哪种站点结构
三种结构的处理方式差别很大,先对号入座再谈优化。
- 响应式:PC 和移动共用同一套 URL、同一份 HTML,靠 CSS 适配屏幕。这种情况不存在两套 URL 的对应问题,是最省心的一种。
- 动态服务:URL 相同,但服务器根据 User-Agent 返回不同的 HTML。URL 层面是统一的,压力落在内容一致性上。
- 分离式:PC 和移动各有独立 URL,两套页面都能直接访问。需要在页面里显式声明对应关系,问题也大多出在这里。
分离式结构常见的四类坑
只标了一个方向
分离式通常的做法是:PC 页用 rel=alternate 指向移动页,移动页用 rel=canonical 指回 PC 页。如果只做了单向标注,蜘蛛爬到其中一套时就找不到另一套,对应关系直接断掉。两边都要标,而且指向的 URL 必须能正常访问,不要带上多余的跟踪参数。
移动版被削成了缩水版
这是最容易被忽略、也最影响收录的一种。移动版为了加载更快,顺手删掉了大半正文、表格、参数说明和图片描述,只留一个标题和几张图。而在移动优先索引下,蜘蛛抓取的正是这个缩水版,用来评估页面质量的依据也就变成了缩水版。PC 上写了两千字,移动版只剩三百字,收录表现自然对不上。
需要保证两版的核心正文、标题、层级结构、结构化数据基本一致。样式和交互可以简化,但不要让主要内容消失。
移动版被 noindex 或 robots 挡住
有一种老做法是“移动站只给人看,不给搜索引擎看”,在移动版页面上加 noindex,或者在移动版 robots.txt 里直接屏蔽。这在移动优先索引下相当于把主要入口关掉了。如果确实想把两套 URL 合并成一个收录结果,应该用 canonical 或跳转来收口,而不是把移动版整个挡在门外。
两套 URL 被分别索引
对应关系缺失时,PC 和移动两套 URL 可能各自进入索引,同一份内容出现两次,权重被分散。判断方法很简单:到搜索里搜一段正文的独特句子,看返回的是哪一套 URL;也可以用 site 查询粗略观察索引中 URL 的形态分布。
用移动 UA 做一次自查
- 用移动端 User-Agent 抓取几个模板的代表性页面,保存返回的 HTML,和 PC 版逐项对比正文文本量、标题、canonical 与 robots meta。
- 检查移动版页面的 canonical 是否指回对应的 PC 页,PC 版的 alternate 是否指向移动版,两边是否一一对应、有没有指向 404。
- 翻服务器日志,看移动 UA 与 PC UA 的抓取比例。如果移动 UA 几乎不出现,说明移动版可能压根没被发现。
- 搜索正文里一段独特的句子,确认返回的 URL 属于哪一套,两套是否同时存在索引中。
- 检查移动版 robots.txt 是否放行了渲染所需的 CSS、JS 等资源,别让移动版只剩一张空壳。
处理顺序建议
- 能改成响应式或动态服务的,优先统一 URL,从根上消掉对应问题。
- 必须保留分离式的,先补全双向标注,再做两版的内容对齐。
- 内容对齐之后,观察索引里的 URL 形态是否逐渐收敛到一套。
- 如果长期两套并存且内容高度重复,考虑用 301 或 canonical 明确收口,而不是放任两套各自生长。
移动优先索引下,蜘蛛看到的那一版才算数。在 PC 上检查一百遍,不如用移动 UA 抓一次。