很多站点把 URL 發現押在單一渠道上:要么只提交 Sitemap,要么只等蜘蛛顺着連結自己走。實际執行中,這几條路径的覆盖面並不相同,也各有断点。把它們当成互相备份的入口,比指望某一條“足够快”更現實。
Sitemap:解决“存在性”,不解决“重要性”
Sitemap 的價值在于把 URL 清單直接摆到蜘蛛面前,尤其适合新站、层級較深的頁面,以及内鏈暂时覆盖不到的内容。它不负责說明哪條更重要,priority 和 changefreq 的參考價值有限,真正影响抓取顺序的往往是站内结构和外部信号。
使用时有几個细节值得注意:Sitemap 里只放能返回 200 且允许被抓取的 URL;不要把重定向鏈、404、被 robots 屏蔽的地址混進去。URL 數量多时按類型分片,並保持索引文件本身可正常訪問。
内鏈:解决“路径”與“相對重要性”
蜘蛛在站内主要靠連結移動。一個頁面如果没有任何站内連結指向它,即便寫進了 Sitemap,被持續發現的概率也會低不少。内鏈的作用有两层:一是给出到達路径,二是通過連結位置和數量表達相對權重。
常见問题不是連結太少,而是連結都堆在頁脚或全站導航里,正文区域缺少指向深层的連結。正文中的上下文連結、分類頁到詳情頁的列表連結、面包屑,這几類位置對抓取路径的帮助更直接。
外鏈:從站外带来第一次拜訪
對于全新域名或長期没有抓取记錄的頁面,外鏈常常是最初的發現入口。外鏈不需要多,几條来自可抓取頁面的真實連結,就可能让蜘蛛首次到達。之後是否繼續抓取,取决于站内结构能否让它找到更多 URL。
三條路径的交集與断点
把三條路径放在一起看,能看到一些典型断点:
- Sitemap 有 URL,但頁面缺少内鏈入口,被抓一次後没有後續抓取。
- 内鏈结构完整,但 Sitemap 長期不更新,新頁面要等較久才被顺带發現。
- 外鏈引来了蜘蛛,落地頁却是软 404 或需要登入,抓取在入口處就停住了。
逐項對照排查,通常比笼统地说“抓取慢”更有方向。
服務器與响應:所有路径的底座
無论蜘蛛從哪條路径進来,後續動作都依赖服務器能稳定响應。同一個小時間窗内反复超时或返回 5xx,會让這次發現路径的價值打折。检查时看三件事:狀態碼是否稳定在 200、响應時間是否波動過大、是否存在對蜘蛛的限速或驗證拦截。
一段可执行的检查顺序
- 拉取最近一周的服務器日誌,過滤蜘蛛 UA,看它主要落在哪些目錄。
- 對比 Sitemap 中的 URL 與實际被抓取的 URL,找出“只提交不抓取”的部分。
- 抽查這些 URL 是否有正文内鏈入口,頁面层級是否過深。
- 確認返回碼、canonical、robots meta 三者是否一致。
- 對外鏈来源做一次抽样,看落地頁是否仍可正常訪問。
URL 發現是多條路径共同作用的结果,没有哪一條能單獨完成全部工作。把每條路径的断点找出来,比反复提交 Sitemap 更有意义。