搜尋抓取

移動端與桌面端两套 URL:蜘蛛的分流抓取路径怎么理清

很多站点同时存在移動端和桌面端两套 URL,蜘蛛在發現和抓取时會因此多出一层選擇。本文梳理两套 URL 的常见形式、跳轉與抓取预算的影响,以及 Sitemap 标注、内鏈指向和服務器一致性上的處理方式,帮助把分散的抓取路径逐步收敛到規范版本。

搜尋抓取

移動端與桌面端两套 URL:蜘蛛的分流抓取路径怎么理清

同一份内容在移動端和桌面端各有一套 URL,是很多站点長期存在的狀態。m 站、獨立子域、路径前缀,或者同一域名下靠 User-Agent 判断返回不同模板,都會让蜘蛛在發現 URL 时多出一层選擇。這层選擇如果没理顺,URL 發現速度和抓取节奏都會被拖慢。

两套 URL 是怎么冒出来的

常见形式有几種:m.example.com 這類獨立子域,example.com/m/ 這類路径前缀,wap 子域,以及同一個 URL 根據請求头輸出不同 HTML。前几種在蜘蛛眼里是两组完全獨立的網址,最後一種蜘蛛只看到一個網址,但抓到的内容可能並不一致。

蜘蛛在分流頁面上的實际動作

先看跳轉,再看内容

桌面 URL 用 302 跳到 m 站,蜘蛛通常會在一定范围内跟着跳。但如果每次訪問的跳轉目标不稳定,跳轉鏈上還叠加了地区判断、Cookie 判断,抓取就會在這條路径上反复消耗,真正落到内容頁的請求變少。

抓取预算被摊薄

两套 URL 意味着 URL 總量接近翻倍,抓取請求也接近翻倍,而内容只有一份。站点規模小的时候感受不明顯,一旦列表頁、标簽頁、篩選參數多起来,重复部分占用的抓取量就會變得顯眼,新内容的發現和复查都會被挤到後面。

Sitemap 里怎么寫更清楚

  • 優先只提交規范版本的那一套 URL,另一套通過 alternate 或 hreflang 關系說明,不要两邊都塞進同一個 Sitemap。
  • 如果业務上确實要保留两套,建议分片提交並标注清楚,不要把两套混在一個文件里靠 lastmod 区分。
  • lastmod 用内容真實更新時間,不要因為模板改版就整站刷新,否則蜘蛛的复查节奏會被打乱。

内鏈该指向哪一端

站内連結應统一指向規范版本。導航、面包屑、正文内的連結如果一半指 m 站、一半指桌面站,蜘蛛會把两套 URL 都当成入口,URL 發現来源變多,收敛速度變慢。移動端頁面上出現的連結,建议直接寫規范 URL,而不是再跳一次。

服務器與渲染的一致性

移動端和桌面端经常部署在不同环境里。如果 m 站所在服務器响應偏慢、容易返回 5xx,蜘蛛在那條路径上的抓取成功率就會下降,進而影响整站後續的复查频率。同一内容的两個版本,返回的狀態碼、缓存协商头、主体内容應当尽量一致,避免一端 200、另一端超时。

自查顺序

  1. 用不同 UA 請求同一個 URL,確認返回的 HTML 主体内容是否一致。
  2. 检查跳轉鏈,看是否存在與 UA 相關的多級跳轉。
  3. 查看 Sitemap,確認是否同时存在两套 URL。
  4. 抽查站内連結,大致統計指向 m 站和桌面站的比例。
  5. 對比两端服務器的响應時間和错誤率,找出較慢的一侧。
两套 URL 本身不是問题,問题在于蜘蛛無法判断哪一套才是你希望被收錄和抓取的版本。把規范版本、跳轉關系、Sitemap 标注和内鏈指向统一起来,抓取路径會慢慢收敛。