搜尋抓取

URL 發現的三條路:外鏈、内鏈與主動提交怎么配合

抓取的前提是發現,發現不了,頁面质量再高也难進入抓取队列。本文拆解外鏈、内鏈與主動提交三條 URL 發現渠道的分工,给出新頁面發布时的配合顺序,以及連結可渲染性、URL 归一、服務器稳定性等容易忽略的检查点。

搜尋抓取

URL 發現的三條路:外鏈、内鏈與主動提交怎么配合

很多站点把精力放在“怎么让蜘蛛多抓”,却忽略了更前置的一步:蜘蛛怎么知道這些 URL 存在。抓取的前提是發現,發現不了,頁面内容再好也没有机會進入抓取队列。URL 發現大致有三條主力渠道:外鏈、站内連結和主動提交。三者分工不同,配合得好,抓取节奏會更稳。

外鏈:發現新域名和新目錄最快的途径

当其他站点連結到你的某個 URL 时,蜘蛛往往是顺着對方頁面的抓取路径過来的。對于刚上线、站内還没有内鏈积累的新頁面,一條真實的外鏈通常比反复提交更有效。要注意的是,外鏈主要解决“發現”,不保證抓取深度:蜘蛛抓到落地頁之後能不能繼續往里走,取决于站内連結是否通畅。

  • 外鏈指向的頁面最好是有實际内容的栏目頁或詳情頁,而不是空壳頁;
  • 同一批新頁面不必刻意制造大量外鏈,几條稳定来源通常就够触發發現;
  • 外鏈所在頁面本身也要能被抓取,被 robots 屏蔽或靠脚本後置加载的連結,蜘蛛可能看不到。

内鏈:决定已發現 URL 能不能被持續回訪

站内連結解决的是“抓得到、抓得下去”的問题。蜘蛛進入站内後,靠連結一层层扩展。如果某些頁面只能通過搜尋框、篩選參數或深层分頁到達,它們很容易長期停留在“已知但未抓”的狀態。梳理内鏈时可以重点看三件事:重要頁面离首頁的点击距离、每個頁面的出鏈是否過密、以及連結是否寫在 HTML 里而不是等脚本执行後才出現。

一個简單的自查方式:從首頁出發,只用鼠标点击,能不能在三次以内到達最重要的那批頁面。

主動提交:把已知清單交代清楚

Sitemap 和提交接口的價值,在于把 URL 清單直接交到抓取系統手上,减少“等着被外鏈發現”的時間成本。它不替代内鏈,但能补上两類场景:一是頁面數量多、层級深,靠爬連結覆盖不全;二是新頁面刚發布,還没有任何外部入口。

  1. Sitemap 只放返回 200 且允许抓取的 URL,重定向、404、被屏蔽的地址不要混進去;
  2. 站点结构大改後及时更新,別让舊清單長期指向已经不存在的路径;
  3. 提交是“告知”,不是“要求”,最终抓不抓、什么时候抓,仍由抓取系統判断。

三者怎么配合:一個可执行的顺序

新頁面發布时,先在站内给它安排位置:從相關栏目頁或詳情頁加一條内容相關的連結,让它至少有一條站内入口。随後更新 Sitemap,让清單保持完整。對于重点頁面,再考虑通過真實的外部引用扩大發現面。新站点或新目錄上线早期,這套顺序比單纯堆外鏈更稳妥,因為蜘蛛進来之後不會立刻遇到死胡同。

几個容易忽略的检查点

  • 連結是否可渲染:完全依赖 JS 生成的連結,可能只有渲染抓取才能發現,覆盖范围會打折;
  • URL 是否归一:带追踪參數、大小寫混用、http 與 https 並存,會把同一頁面拆成多條记錄,分散發現和抓取;
  • 服務器是否稳定:發現過程中频繁超时或返回 5xx,會让蜘蛛降低回訪频率,新的 URL 也难以及时進入队列;
  • 日誌是否在看:只有對照日誌里蜘蛛實际訪問的路径,才能判断是没被發現,還是發現了但没抓。

把 URL 發現理顺之後,抓取量的波動通常會小一些,排查問题也更容易定位:是入口不够、路径断了,還是服務端狀態不稳定。發現、路径、稳定性這三件事按顺序检查,往往比反复調整内容更新频率更有用。