蜘蛛不會凭空知道一個 URL 存在。它要么顺着已有的連結走過去,要么通過某個資料源被告知。理解這一点,就能明白為什么有的頁面發布後几小时就被抓,有的放了几周還在等。差別通常不在頁面本身,而在于有多少條路通向它。
URL 發現的本质:從已知走到未知
爬虫的工作方式是從一批已知 URL 出發,抓取頁面,提取其中的連結,把新發現的地址放進待抓队列。所以一個新 URL 被發現,前提是它出現在某個已经被抓取過的頁面上,或者被某個資料源直接提交给了搜尋引擎。
這說明两件事:第一,孤立頁面几乎没有入口,基本只能靠 Sitemap 或主動提交被看到;第二,入口的數量和位置,决定了蜘蛛走到它的概率。
站内通路:最可控的一层
内鏈與列表頁
首頁、栏目頁、最新内容列表,是蜘蛛在站内移動的主要通道。新頁面如果能從這些位置拿到一個連結,通常是最快被發現的方式。連結位置比連結數量更重要——正文里的連結近乎總能被讀到,頁脚那種大批量堆叠的連結優先級就低很多。
Sitemap
Sitemap 相当于给蜘蛛一份已知清單。它不保證被抓,但能补上内鏈覆盖不到的死角,比如深层頁、活動頁、分頁後面的内容。保持 lastmod 真實,不要每次更新都把全站刷成同一個時間,否則這個信号會很快失去參考價值。
站外通路:不可控但有效
外鏈依然是發現新站、新内容的重要入口。蜘蛛在外站爬到你的連結,等于從一條完全不同的路径進入。除此之外,社交平台、問答、论坛、行业目錄里的提及,有时也會成為發現线索。這部分不好控制,但只要保持一定量的自然提及,新内容的冷啟動會快不少。
主動提交:把等待變成告知
搜尋引擎提供的提交入口、Sitemap 提交,以及 IndexNow 這類协议,本质上是跳過等蜘蛛爬過来這一步,直接把 URL 告诉引擎。它對时效敏感的内容帮助明顯,但提交只解决知道,不解决愿意抓和值得留。頁面质量差、站点整体信誉低,提交了也照样排在队列後面。
几條通路的时效差异
- 站内新增連結:取决于该頁面被重新抓取的频率,快的几小时,慢的几天到几周。
- Sitemap 更新:通常在下次讀取时被發現,讀取频率和站点整体更新节奏相關。
- 外鏈引入:取决于外站本身被抓的频率,被抓得勤的站点上的連結往往更快生效。
- 主動提交:反馈最快,但只是進入队列,不代表立刻抓取。
几個容易被忽略的细节
第一,入口頁面本身要能被抓。如果新内容只從站内搜尋頁、脚本渲染出来的推荐位、或者被 robots.txt 挡住的列表里露出,蜘蛛實际上看不到這條路。
第二,連結要指向最终地址。如果新頁面刚從 A 改成 B,而入口還指着 A,蜘蛛顺着走到的是一條重定向鏈,等于多绕一步。
第三,別在一個頁面上一次性堆几百個新連結。分散、分批地放出,比集中灌進去更容易被完整走一遍。
URL 發現解决的是蜘蛛知不知道你,抓取和收錄解决的是蜘蛛愿不愿意来、值不值得留。前者是门槛,不是结果。
日常可以做的几件事
- 新内容發布後,在相關的已有頁面里补一條自然的内鏈。
- 保持 Sitemap 與實际内容一致,及时剔除已刪除的 URL。
- 把重要頁面放在离首頁更近的位置,压缩点击深度。
- 必要时用提交工具做补充,但別把它当成主要手段。
- 定期看服務器日誌,確認新頁面到底有没有被爬過,而不是只看提交回执。
總结下来,URL 發現不是單一動作,而是多條通路共同作用的结果。通路的數量、位置和更新频率,决定了新内容被看见的速度。與其纠结某一次提交有没有生效,不如把站点整体的發現路径做顺。