搜尋抓取

移動優先抓取下的两套地址:搜尋蜘蛛按哪條路径發現 URL

移動優先索引下,搜尋蜘蛛常以移動端 UA 抓取頁面。如果桌面版和移動版使用两套地址、Sitemap 只提交一套、移動端内鏈又被隐藏,URL 發現就容易断档。本文從地址對齐、Sitemap、内鏈和日誌核驗几個角度,梳理移動抓取路径的检查方法。

搜尋抓取

移動優先抓取下的两套地址:搜尋蜘蛛按哪條路径發現 URL

移動優先索引並不是说桌面版不重要,而是搜尋蜘蛛在评估和抓取时,會優先采用移動端用戶代理看到的頁面。對站点运营来说,這意味着 URL 發現的路径也要跟着移動端走一遍:蜘蛛能不能在移動端拿到同样的連結、同样的 Sitemap 入口、同样的服務器响應,决定了新頁面能不能顺利進入抓取队列。

两種常见结构:响應式與獨立移動站

响應式站点通常只有一套 URL,移動端和桌面端共用地址,抓取路径最简單。真正容易出問题的是獨立移動站,比如桌面用 www.example.com,移動用 m.example.com。两套地址並存时,如果處理不当,蜘蛛可能只發現其中一套,或者把两套当成不同頁面反复抓取。

  • 桌面頁和移動頁互相指向时,尽量保持一對一關系,不要让移動頁只鏈到桌面首頁。
  • 如果使用跳轉,桌面 UA 和移動 UA 的跳轉目标要稳定,避免同一地址在两種 UA 下返回完全不同的入口。
  • 移動頁的 canonical 指向要明确:通常指向自身或桌面版本,但不要两套地址互指,形成循环。

Sitemap 里该放哪一套地址

Sitemap 是 URL 發現的重要补充,但它的價值在于和實际可抓取地址一致。如果 Sitemap 只提交桌面 URL,而移動端另有地址,蜘蛛仍然可能從 Sitemap 進入桌面路径,再被跳轉到移動路径。更稳妥的做法是让 Sitemap 覆盖主要地址,並保證這些地址在移動 UA 下能正常返回内容,而不是把用戶或蜘蛛引到一個空壳頁或拦截頁。

当站点 URL 數量較多、做了分片时,也要检查分片索引是否在移動端可訪問。有些站点在移動端對 XML 文件做了限制訪問,结果 Sitemap 虽然在 robots.txt 里声明了,蜘蛛却拿不到内容。

内鏈要在移動端真的可见

移動端為了排版,常把導航折叠進菜單、把侧栏隐藏、把分頁改成“加载更多”。這些交互對用戶没問题,但如果連結只存在于 JavaScript 点击之後,或者被 CSS 隐藏,蜘蛛在移動 UA 下就可能看不到這條路径。URL 發現依赖連結,連結不可见,新頁面就只能等 Sitemap 或其他入口。

  • 主導航、面包屑、文章底部的相關連結,尽量用可抓取的 a 标簽輸出。
  • “加载更多”如果只是按钮事件,最好保留一個可訪問的分頁地址,或者让首屏包含足够多的連結。
  • 移動端隐藏的連結,不要只在桌面版存在,否則移動優先抓取时會丢失這部分路径。

服務器响應與 UA 差异

有些站点會根據 User-Agent 返回不同内容。正常的内容适配可以接受,但要避免移動蜘蛛拿到 403、空頁面或大量無内容的结构。另一個常见問题是移動端 CDN 或缓存节点對搜尋蜘蛛 UA 返回了缓存中的错誤頁,導致抓取路径在邊缘节点就被截断。

检查时可以從服務器日誌里篩選移動蜘蛛 UA,看它請求的地址、返回狀態碼和响應体积。如果移動蜘蛛拿到的狀態碼大多是 200,但頁面体积異常小,或者重定向鏈很長,就要回到模板和缓存配置上排查。

用日誌核驗移動抓取路径

  1. 在日誌中過滤移動端搜尋蜘蛛 UA,確認它抓取的是移動地址還是桌面地址。
  2. 抽样對比同一頁面在桌面 UA 和移動 UA 下的 HTML,看主要連結是否一致。
  3. 检查 Sitemap 中的 URL 在移動 UA 請求时是否返回正常内容和正确狀態碼。
  4. 观察新頁面從發布到被移動蜘蛛首次抓取的時間,判断路径是否通畅。
移動優先抓取不是額外加一套移動站就完事,關键是让蜘蛛在移動端也能走到和用戶一样的 URL 發現路径。路径對不上,再多的 Sitemap 声明也只是多一個入口,不一定能补回内鏈断掉的部分。

如果站点同时存在桌面和移動地址,建议定期用移動 UA 做一次小規模抓取測試,重点看導航、列表頁、詳情頁和 Sitemap 是否都能连通。抓取路径稳定之後,URL 發現和後續的抓取安排才有讨论的基础。