搜尋抓取

蜘蛛從哪里知道一個新 URL:Sitemap 之外的几條递线索通道

新頁面上线後迟迟没被抓,很多时候不是服務器的問题,而是地址根本没递到蜘蛛眼前。本文把常见的 URL 發現入口梳理一遍:Sitemap、站内連結、列表與归档頁、RSS、站長平台提交和外鏈,並說明怎么用日誌確認线索有没有被走到,以及几個容易走偏的做法。

搜尋抓取

蜘蛛從哪里知道一個新 URL:Sitemap 之外的几條递线索通道

發現和抓取,是前後两步

站点新頁面出来之後,蜘蛛不會自動知道它存在。它得先發現這個地址,把地址放進待抓队列,之後才谈得上抓取。所以当頁面迟迟没有出現在抓取记錄里,第一步要排查的往往不是服務器配置,而是:這個地址有没有被递到蜘蛛能看见的地方。

發現渠道越多、越稳定,新 URL 進入队列的速度就越可控。但任何渠道都只是递线索,不等于一定被抓、更不等于被收錄。

常见的几個發現入口

Sitemap

Sitemap 是最直白的清單,把 URL 集中列出来,蜘蛛不需要顺着一层层連結去走就能拿到全貌。它适合批量交接新栏目、歷史归档這類结构規整的頁面。使用时注意几点:只放能返回 200 的地址;分片文件里的 URL 數量別超出上限;更新字段按實际情况填,不要為了催抓把時間寫成当下,長期對不上,這個字段就失去參考意义了。

站内連結

真正的主干道還是内鏈。蜘蛛顺着連結走,比讀清單更符合它的日常习惯,也更容易判断頁面之間的關系。新頁面至少要有一條從首頁可以点到的路径,哪怕要经過两三层。如果它只挂在某個冷门頁面上,或者只能靠站内搜尋触發,被發現的時間就會被拉長。

列表頁與归档頁

很多站点的“最新”“归档”“标簽”頁面天然是 URL 的集散地。让這類頁面正常訪問、分頁可達,把新内容及时挂上去,比額外做別的動作更有效。反過来,如果列表頁本身被 robots 挡了、或者翻頁按钮是纯 JS 跳轉且蜘蛛走不到,新頁面就會一起被埋住。

RSS / Atom

如果站点有订阅源,它也是蜘蛛會讀的入口之一。更新内容时源文件同步刷新,能起到提示作用。不過並非所有搜尋引擎都會規律轮询订阅源,它更适合当成补充渠道,而不是主力。

站長平台提交

多數搜尋引擎提供手動提交單個 URL 或提交 Sitemap 的入口。新頁面上线後提交一次,作為加速手段没問题。它不保證立刻抓取,只是把线索放進了渠道;反复提交同一個地址並不會让它来得更快。

外部連結

別人引用你的新頁面,相当于從站外递了一條线索進来。這部分不可控,但能主動做的是:把重要頁面放在结构清晰、容易被引用和分享的位置,別让它們藏在深层目錄里。

递了线索之後,怎么確認有没有被走

最直接的办法是看服務器日誌,重点看這几項:

  • 日誌里有没有出現蜘蛛标识,請求的是哪個具体地址;
  • 新 URL 首次被抓的時間,距离上线隔了多久;
  • 這個地址是從哪條路径進来的,是 Sitemap 直接抓取,還是從列表頁点進来;
  • 返回狀態碼是不是 200,中途有没有被重定向、被限速或被安全策略拦下。

如果日誌里完全没有這條地址,基本說明卡在發現环节,這时候改服務器參數意义不大;如果日誌里有請求但狀態碼異常,那就是抓取环节的問题,得換個方向排查。

几個容易走偏的做法

  • 把 Sitemap 当成唯一手段,站内却不给新頁面留入口;
  • 為了催抓频繁改動 Sitemap 的更新時間字段;
  • 新頁面上线时正好被登入墙、驗證碼或临时規則挡住;
  • 把大量低质、重复的地址塞進清單,稀释了真正需要被抓的那部分。
把發現渠道想成几條並行的路:能顺連結走通的,就不要只依赖清單;能稳定更新的列表頁,就不要让它断在第二頁之後。线索递到位,剩下的交给抓取节奏。