搜尋抓取

内鏈、Sitemap 與推送:URL 發現渠道的分工與核對

同一批新 URL,為什么有的很快被抓,有的長期没有訪問记錄?本文把 URL 發現拆成内鏈、Sitemap 與其他入口三條渠道,說明各自的时延與适用范围,並给出一套按渠道核對首次抓取時間的流程,帮助把發現环节的問题落到具体改動上。

搜尋抓取

内鏈、Sitemap 與推送:URL 發現渠道的分工與核對

很多站点把「被蜘蛛發現」当成一次性的事:發了 Sitemap,提交了連結,就觉得剩下的交给搜尋引擎。實际排查时常见的現象是,同一批新 URL 里,一部分第二天就被抓了,另一部分過了几周仍然没有訪問记錄。原因往往不在蜘蛛本身,而在于這些 URL 是通過不同渠道暴露出去的,每條渠道的可靠性和延迟都不一样。

URL 發現的三條主要渠道

把發現渠道拆開看,逻辑會清楚很多:

  • 站内連結:蜘蛛顺着已有頁面上的 a 标簽往上爬,這是最稳定、最持續的發現方式,也最容易被你控制。
  • Sitemap 文件:批量声明 URL 清單,适合數量大、层級深的頁面,但它只是声明,不等于被抓取。
  • 其他入口:外鏈、主動提交接口等,通常量小、时效性强,适合少量重要 URL。

内鏈是根基,但要看位置

同样是連結,出現在導航、正文、頁脚,被跟随的概率並不相同。導航連結稳定但數量有限;正文里的連結與内容相關,蜘蛛顺着语义走的机會更大;頁脚連結數量多,容易被当成模板,價值被稀释。如果一個新頁面只在頁脚某個折叠区块里出現,它被重新發現的周期通常比放在正文推荐位的頁面長得多。

核對时可以關注:

  • 重要頁面是否至少有一條来自高频抓取頁面的正文連結;
  • 同一頁面上指向不同 URL 的連結數量是否過多,導致注意力分散;
  • 連結文字是否能說明目标頁面内容,而不是清一色的「点击查看」「更多」。

Sitemap 解决的是「有没有」,不是「抓不抓」

Sitemap 的價值在于给出一份完整清單,让蜘蛛不必完全依赖内鏈去推断。但清單里的 URL 依然要排队。真正影响它是否被優先處理的,還是頁面的更新频率、在站内的位置以及服務器响應是否稳定。所以 Sitemap 應该和狀態报告、抓取日誌一起看:声明了多少、被抓了多少、差集里是什么類型的頁面。

多入口並行时,容易踩的坑

  • 只改 Sitemap,不同步内鏈:新 URL 在文件里,但站内没有入口,抓取後缺少後續路径。
  • 舊 URL 刪除後仍留在 Sitemap:产生大量 404 或跳轉,浪費抓取額度。
  • 推送接口一次性提交大批低價值 URL:短期抓取量上升,長期看有效抓取比例下降。
  • 不同渠道的 URL 寫法不一致:带參數、大小寫差异,被当成多個頁面。

按渠道核對的一個简單流程

  1. 從日誌里筛出目标 URL 類別的抓取记錄,记下首次抓取時間。
  2. 對照 Sitemap 声明時間、内鏈上线時間、推送提交時間,看哪個時間点最接近首次抓取。
  3. 把長時間未被發現的 URL 單獨列出,检查站内是否真的存在指向它的連結,連結是否可正常渲染。
  4. 對反复抓取但價值低的 URL(篩選參數、站内搜尋结果頁)做收敛,把机會让给有效頁面。
發現渠道越多越好是一種誤解。渠道應该和頁面類型匹配:批量頁靠 Sitemap 和内鏈,时效性强的少量頁面靠推送和外鏈。

把结论落到改動上

核對的目的不是解释過去,而是指導下一次改動。如果發現新頁面長期只靠 Sitemap 被發現,就该给它补一條正文内鏈;如果發現某些分類頁每天被抓但内容長期不變,就该考虑降低它在内鏈中的曝光。抓取本身無法被承诺控制,但入口是否通畅、路径是否清晰,是站点可以自己掌握的部分。