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