發現和抓取,是前後两步
站点新頁面出来之後,蜘蛛不會自動知道它存在。它得先發現這個地址,把地址放進待抓队列,之後才谈得上抓取。所以当頁面迟迟没有出現在抓取记錄里,第一步要排查的往往不是服務器配置,而是:這個地址有没有被递到蜘蛛能看见的地方。
發現渠道越多、越稳定,新 URL 進入队列的速度就越可控。但任何渠道都只是递线索,不等于一定被抓、更不等于被收錄。
常见的几個發現入口
Sitemap
Sitemap 是最直白的清單,把 URL 集中列出来,蜘蛛不需要顺着一层层連結去走就能拿到全貌。它适合批量交接新栏目、歷史归档這類结构規整的頁面。使用时注意几点:只放能返回 200 的地址;分片文件里的 URL 數量別超出上限;更新字段按實际情况填,不要為了催抓把時間寫成当下,長期對不上,這個字段就失去參考意义了。
站内連結
真正的主干道還是内鏈。蜘蛛顺着連結走,比讀清單更符合它的日常习惯,也更容易判断頁面之間的關系。新頁面至少要有一條從首頁可以点到的路径,哪怕要经過两三层。如果它只挂在某個冷门頁面上,或者只能靠站内搜尋触發,被發現的時間就會被拉長。
列表頁與归档頁
很多站点的“最新”“归档”“标簽”頁面天然是 URL 的集散地。让這類頁面正常訪問、分頁可達,把新内容及时挂上去,比額外做別的動作更有效。反過来,如果列表頁本身被 robots 挡了、或者翻頁按钮是纯 JS 跳轉且蜘蛛走不到,新頁面就會一起被埋住。
RSS / Atom
如果站点有订阅源,它也是蜘蛛會讀的入口之一。更新内容时源文件同步刷新,能起到提示作用。不過並非所有搜尋引擎都會規律轮询订阅源,它更适合当成补充渠道,而不是主力。
站長平台提交
多數搜尋引擎提供手動提交單個 URL 或提交 Sitemap 的入口。新頁面上线後提交一次,作為加速手段没問题。它不保證立刻抓取,只是把线索放進了渠道;反复提交同一個地址並不會让它来得更快。
外部連結
別人引用你的新頁面,相当于從站外递了一條线索進来。這部分不可控,但能主動做的是:把重要頁面放在结构清晰、容易被引用和分享的位置,別让它們藏在深层目錄里。
递了线索之後,怎么確認有没有被走
最直接的办法是看服務器日誌,重点看這几項:
- 日誌里有没有出現蜘蛛标识,請求的是哪個具体地址;
- 新 URL 首次被抓的時間,距离上线隔了多久;
- 這個地址是從哪條路径進来的,是 Sitemap 直接抓取,還是從列表頁点進来;
- 返回狀態碼是不是 200,中途有没有被重定向、被限速或被安全策略拦下。
如果日誌里完全没有這條地址,基本說明卡在發現环节,這时候改服務器參數意义不大;如果日誌里有請求但狀態碼異常,那就是抓取环节的問题,得換個方向排查。
几個容易走偏的做法
- 把 Sitemap 当成唯一手段,站内却不给新頁面留入口;
- 為了催抓频繁改動 Sitemap 的更新時間字段;
- 新頁面上线时正好被登入墙、驗證碼或临时規則挡住;
- 把大量低质、重复的地址塞進清單,稀释了真正需要被抓的那部分。
把發現渠道想成几條並行的路:能顺連結走通的,就不要只依赖清單;能稳定更新的列表頁,就不要让它断在第二頁之後。线索递到位,剩下的交给抓取节奏。