移動優先索引並不是说桌面版不重要,而是搜尋蜘蛛在评估和抓取时,會優先采用移動端用戶代理看到的頁面。對站点运营来说,這意味着 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,但頁面体积異常小,或者重定向鏈很長,就要回到模板和缓存配置上排查。
用日誌核驗移動抓取路径
- 在日誌中過滤移動端搜尋蜘蛛 UA,確認它抓取的是移動地址還是桌面地址。
- 抽样對比同一頁面在桌面 UA 和移動 UA 下的 HTML,看主要連結是否一致。
- 检查 Sitemap 中的 URL 在移動 UA 請求时是否返回正常内容和正确狀態碼。
- 观察新頁面從發布到被移動蜘蛛首次抓取的時間,判断路径是否通畅。
移動優先抓取不是額外加一套移動站就完事,關键是让蜘蛛在移動端也能走到和用戶一样的 URL 發現路径。路径對不上,再多的 Sitemap 声明也只是多一個入口,不一定能补回内鏈断掉的部分。
如果站点同时存在桌面和移動地址,建议定期用移動 UA 做一次小規模抓取測試,重点看導航、列表頁、詳情頁和 Sitemap 是否都能连通。抓取路径稳定之後,URL 發現和後續的抓取安排才有讨论的基础。