站点运营

站点运营:抓取预算自查,別让低價值頁面占着蜘蛛的時間

網站頁面變多之後,蜘蛛每天抓到的頁面里,真正有價值的可能只占一小部分。本文從服務器日誌出發,讲怎么判断抓取時間被哪些頁面浪費,如何通過 robots.txt、noindex、規范連結和内鏈調整,把抓取集中到重要内容上,並给出合适的复盘频率。

站点运营

站点运营:抓取预算自查,別让低價值頁面占着蜘蛛的時間

站点小的时候,蜘蛛每天来几次,頁面少,基本都抓得完,很少需要考虑抓取预算這件事。等站内頁面上到几千、几萬,尤其是加上篩選、排序、分頁、日歷這類會批量生成 URL 的功能之後,問题就會浮現:蜘蛛每天都来,但抓的都是些没流量的頁面,真正想被收錄的新内容反而排不上队。

抓取预算到底是什么

它不是搜尋引擎给每個站点發的固定配額,而是一個相對结果。站点速度、内容更新频率、頁面质量、連結结构,都會影响蜘蛛愿意在你這儿花多少時間。可以粗略理解成:蜘蛛每天能在你的站点上走多少步,這些步數用在了哪些頁面上

预算被浪費,通常不是因為頁面太多,而是因為值得抓的頁面和不值得抓的頁面混在一起,蜘蛛分不出来。

常见的浪費来源

  • 站内搜尋结果的 URL 被大量生成,每個關鍵詞一個地址,内容稀薄。
  • 篩選、排序、视图切換參數叠加,同一批商品能拼出几十上百個網址。
  • 日歷、日期归档頁只翻頁不更新,内容長期没有變化。
  • 分頁翻到很深的位置,後面的頁碼几乎没人訪問,也没有獨立價值。
  • 站点地图里塞進了本来不希望被收錄的頁面。
  • 5xx 和長時間無响應的地址被反复重试,占掉大量請求次數。

怎么自查

第一步:看日誌,而不是只看报表

後台統計工具给的是抽样结果,服務器日誌才是原始记錄。可以按蜘蛛 UA 過滤,統計一段時間内的請求總數、URL 分布和返回碼分布。重点看两件事:哪些目錄被抓得最多,以及這些目錄带来了多少自然流量。抓取量和流量嚴重不成比例的地方,就是浪費最集中的地方。

第二步:統計返回碼

  • 大量 404:說明站内還在指向已经刪除的頁面。
  • 大量 301、302:跳轉鏈太長,蜘蛛要多花几步才能到正文。
  • 大量 5xx 或超时:服務器扛不住,整体抓取量會被压缩。
  • 大量 200 但内容重复:多半是參數和規范連結没處理好。

第三步:核對 sitemap 與 noindex

站点地图里列出的 URL,應当是你希望被收錄的那一批。如果里面混着搜尋结果頁、购物车、用戶中心、已下线的活動頁,等于主動把蜘蛛引到低價值位置。反過来,已经用 noindex 标记的頁面,就不要再寫進 sitemap,两個信号互相打架,只會让判断變得更慢。

處理思路

發現問题之後,處理方式大致分三類:

  1. 挡住不该抓的:對參數頁、搜尋结果頁、没有價值的排序视图,用 robots.txt 屏蔽抓取,或者用 noindex 让已收錄的頁面慢慢登出。注意两者用途不同:robots.txt 能减少抓取,但被屏蔽的頁面如果已经被收錄,搜尋引擎看不到頁面上的 noindex 标记;對已经收錄的頁面,優先用 noindex。
  2. 合並重复的:參數只保留必要的那几個,其余通過規范連結指向主版本,内部連結统一指向規范地址,不要再往參數版本上加權。
  3. 把重要的推上去:核心栏目减少点击层級,從首頁和上級栏目给出稳定入口;新内容發布後第一時間在站内被連結到,並让 sitemap 的 lastmod 如實反映更新。
抓取预算是相對的。你把低價值頁面清理掉,蜘蛛自然會把時間挪到有價值的頁面上;但如果站点本身响應慢、经常报错,清理得再干净,也没多少請求可用。

多久看一次

頁面規模不大时,半年看一次日誌足够了。如果站点在持續上新,或者刚上线了會批量生成 URL 的功能(篩選、站内搜尋、多語言、地区切換),建议上线後两周内就看一次日誌,確認新生成的地址没有失控。

把日誌分析当成固定動作,而不是出問题才临时翻记錄,很多抓取上的異常,在演變成事故之前其實都能被看出来。