現在搜尋引擎主要以移動端 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 抓一次。