搜尋抓取

移動優先抓取:蜘蛛拿到的是移動版還是桌面版頁面

主流搜尋引擎的蜘蛛以移動 UA 為主進行抓取,移動版頁面的正文、内鏈和结构化資料直接决定抓取结果。本文梳理响應式、動態服務、獨立移動域名三種做法下抓取路径的差异,列出常见的版本不一致問题,並给出一份可执行的移動 UA 對比自查清單。

搜尋抓取

移動優先抓取:蜘蛛拿到的是移動版還是桌面版頁面

不少站点同时存在桌面版和移動版頁面,而且两邊内容並不完全一样。主流搜尋引擎的蜘蛛現在主要以移動用戶代理抓取,也就是说:蜘蛛看到的頁面版本,可能和你用电脑浏览器打開时並不相同。抓取路径、内鏈、正文、结构化資料,都可能因為版本差异而變样。這篇文章讲清楚移動優先抓取下蜘蛛到底拿到了什么,以及怎么自查。

移動優先抓取的基本事實

简單说,抓取與索引的預設版本是移動版頁面。移動版的内容、連結、图片、结构化資料,决定了蜘蛛能發現什么、如何理解頁面。桌面版仍然可能被抓取,但優先級通常較低;如果移動版内容明顯少于桌面版,蜘蛛看到的就是“缩水”的那一份。

Google 的移動優先索引已经全面铺開,Bing 也在往類似方向走。所以別再假设蜘蛛一定看的是桌面版。

三種常见實現方式,抓取路径各不相同

响應式设計

同一套 HTML,靠 CSS 适配屏幕。蜘蛛抓到的版本和桌面版基本一致,内鏈、正文、结构化資料都不缺。這是最省心的做法,出問题通常只在资源被 CSS 或脚本挡住的时候。

動態服務(按 UA 返回不同 HTML)

服務端判断 User-Agent,移動 UA 返回移動版 HTML,桌面 UA 返回桌面版。要点是两邊主体内容必须一致:正文、标题、meta、结构化資料、内鏈都要對齐。只改布局可以,只给移動版“精简”内容不行。

獨立移動域名(m. 或單獨子域)

移動頁面在另一個地址上。這时需要交代清楚两個版本的關系:互相声明對應的桌面版與移動版,各自 canonical 指向自己,Sitemap 里也把两套地址列清楚。移動版頁面本身要有完整内容,不能只留摘要加一個“查看完整版”的入口。

最容易踩的几個坑

移動版砍掉正文和内鏈

常见做法是把長文拆成多屏、把侧邊導航收進汉堡菜單、把頁脚連結删掉。视觉上更干净,但蜘蛛拿到的内鏈數量可能少了一大截——抓取路径變窄,深處 URL 更容易被漏掉。

结构化資料只挂在桌面版

如果移動版 HTML 里没有這些标记,蜘蛛就認為頁面没有它們。评分、面包屑、FAQ 之類的信息會随之丢失。

動態服務判断出错

UA 判断寫错、CDN 缓存把移動版 HTML 返回给桌面 UA(或反過来),都會造成版本混乱。表現是同一個 URL 抓取到的内容忽而完整忽而残缺,這類問题在缓存策略改動後最容易出現。

移動版内容依赖脚本渲染

如果移動版内容全靠前端渲染,而脚本或接口又被 robots.txt 挡住,蜘蛛可能只看到一個空壳。

自查清單

  1. 用移動 UA 抓取一次頁面,和桌面 UA 的结果逐項對比:标题、正文、内鏈數量、结构化資料。
  2. 检查移動版是否包含完整的導航和頁脚連結,不能只靠汉堡菜單里的脚本連結。
  3. 獨立移動域名时,確認两邊互指關系、canonical 和 Sitemap 标注都保持一致。
  4. 確認 CSS、JS 與接口没有被 robots.txt 或 WAF 挡住。
  5. 在服務器日誌里核對移動 UA 抓到的响應碼,看有没有異常分组。

给小站的實际建议

如果维護两套 HTML 的成本已经很高,優先考虑响應式,把精力放在内容和内鏈结构上。确實需要動態服務时,让移動版與桌面版共享同一份内容源,只替換模板层,减少两邊漂移。

蜘蛛不在乎你的頁面在手机上好不好看,它在乎的是:這一版里有没有完整的正文、連結和标记。移動版做成“阉割版”,损失的是抓取和發現能力,而不只是样式。

最後提醒一句:移動優先抓取的检查不是一次性的。模板改版、CDN 缓存策略調整、前端框架升級之後,都值得重新跑一遍上面的對比,確認蜘蛛拿到的仍然是完整的那一份。