網站收錄

抓取频次一直上不去:從配額、结构到頁面價值的三层排查

抓取频次常被当成可以手動調的參數,其實它是服務器稳定性與頁面價值共同作用的结果。本文把抓取能力與抓取需求拆開,给出服務器、無效 URL、站内结构三层排查顺序,並列出几類基本無效的操作,供站点运营者按顺序自查。

網站收錄

抓取频次一直上不去:從配額、结构到頁面價值的三层排查

先把两件事分開:抓取能力與抓取需求

很多运营者把“抓取频次”当成一個可以調的參數,實际它是搜尋引擎根據站点情况给出的结果。粗略拆開,它由两部分决定:抓取能力,也就是爬虫在你的站点上單位時間能安全抓多少;抓取需求,也就是爬虫判断有多少 URL 值得抓、值得重抓。

這两件事的解法完全不同。抓取能力受服務器响應速度、错誤率、超时比例影响;抓取需求受站内 URL 數量、頁面更新频率、頁面之間互相引用的密度影响。只盯着其中一項調,往往看不到變化。

第一层:服務器是不是在劝退爬虫

爬虫降频的第一個原因通常是站点自身不稳定,這属于它的自我保護。日誌里重点看這几類信号:

  • 5xx 比例:持續返回服務器错誤,抓取量會被主動压低
  • 429:明确表示請求過于密集,處理方式是削峰和加快响應,而不是換 IP
  • 响應時間:TTFB 長期偏高,抓取並發上不去
  • 连接中断與超时:大量失敗會让爬虫减少同时請求數

這一层的顺序是先修稳定性,再谈優化。服務器不稳时,改内鏈、調结构的收益會被掩盖掉,日誌也讀不出真實结构問题。

第二层:配額花在了哪些 URL 上

抓取量有限时,更常见的問题不是“抓得少”,而是“抓得不值”。以下几類 URL 最容易被反复抓取,却對收錄几乎没有贡献:

  1. 带大量參數的篩選、排序、對比 URL
  2. 站内搜尋结果頁
  3. 软 404 頁面:返回 200 但没有實质内容
  4. 翻得很深的列表頁,例如第 10 頁之後

處理方式不是一刀切屏蔽,而是先判断哪些 URL 本身有獨立搜尋需求、哪些只是给用戶浏览路径服務。前者可以用 canonical 收敛,後者可以考虑在 robots.txt 中禁止抓取,或加 noindex。這里要留意两者的差別:如果先禁止抓取,noindex 也就無法被抓到並生效。

先让爬虫把時間花在唯一且有價值的 URL 上,再谈抓更多,顺序反了容易白做工。

第三层:站内结构與頁面價值

URL 的發現路径要短

新頁面如果只能靠 sitemap 被發現,抓取優先級通常低于從首頁两三次点击就能到達的頁面。检查方法很朴素:從首頁出發,看重要頁面需要点几次能到,是否只挂在一個長期不更新的栏目下面。

内鏈密度影响重抓

一個頁面如果長期没有新的内鏈指向,内容也不更新,爬虫没有理由频繁回訪。反過来,被多個頁面引用的热点内容,重抓频率自然會高一些。這不是技巧,而是站点结构的自然结果。

更新频率要真實

把 sitemap 里的 lastmod 設定成每天自動變化,並不會換来更高频的抓取,反而會让這個字段失去參考價值。搜尋引擎對“假更新”的容忍度有限,長期如此,字段本身就不被采信了。

哪些操作基本無效

  • 在 robots.txt 里寫 crawl-delay:各家支持情况不一致,也不解决根因
  • 反复提交 sitemap:重复提交不會改變抓取需求的判断
  • 用第三方工具“强制推送”:外部工具無法改變爬虫的調度逻辑
  • 短期内批量生成新頁面:只會让有限的配額更分散

一個可以照着做的自查顺序

  1. 拉最近 30 天日誌,統計各狀態碼占比與平均响應時間
  2. 列出被抓取量最高的 100 個 URL,看有多少是參數頁、搜尋頁、软 404
  3. 從首頁出發画一遍重要頁面的点击路径,标出超過四次点击的頁面
  4. 確認 sitemap 里的 URL 都是規范形式、能返回 200 且确實值得收錄
  5. 记錄頁面真實的更新节奏,據此調整 sitemap 字段

抓取频次的提升,通常是上面這些動作做完之後的结果,而不是原因本身。把稳定性、URL 卫生和站点结构處理好,爬虫對站点的判断會逐步變化,這個過程一般以周為單位,而不是以天為單位。