站点規模上去以後,常會听到一個说法:蜘蛛每天只来抓几十個、几百個頁面,新頁面排队排很久。這背後说的是抓取预算——搜尋引擎愿意在一個站点上花掉的抓取资源。它不是一個固定數字,也没有地方能查到配額,只能從服務器日誌里反推。
先確認:你的站真的需要關心抓取预算吗
抓取预算這件事,對小站基本不成立。几百個頁面的站点,蜘蛛来一趟就能掃完,新頁面迟迟不進索引,原因通常在別處:内容质量、頁面响應、内鏈太浅。只有当頁面數量明顯超過蜘蛛單次抓取能力时,讨论抓取分配才有意义。
判断方法很直接:把最近 30 天的日誌按蜘蛛 UA 拉出来,看三件事——每天抓取的總請求數、其中成功返回 200 的比例、新 URL 第一次被抓到距离被發現(比如 sitemap 提交或内鏈上线)隔了多久。如果第三個數字持續超過一两周,才值得往下查。
抓取预算容易被浪費的几個地方
1. 重定向鏈
每次跳轉都要多消耗一次抓取。http 跳到 https,再跳到 www,再补一個尾部斜杠,一串下来一個頁面要抓三四次才拿到内容。站内連結尽量直接寫最终地址,不要经過跳轉。
2. 參數與篩選頁
排序、篩選、分頁、會话 ID 這類參數,很容易组合出成千上萬個 URL。它們大多内容重复、價值低,却會被内鏈带出来。處理顺序是先看日誌里這些 URL 被抓的比例,再决定用 robots.txt 屏蔽、用 canonical 收口,還是干脆不生成可爬的連結。
3. 软 404 與空頁面
返回 200 但内容是「没有找到结果」「该商品已下架」的頁面,蜘蛛會当成正常頁面抓取,並可能收進索引。這類頁面對用戶和搜尋引擎都没有價值。能返回 404/410 的就返回,不能的至少加上 noindex。
4. 無限分頁與归档
归档頁、标簽頁、日歷翻頁,很容易形成几乎無穷的组合。保留真正有聚合價值的頁面,其余收窄入口,別让蜘蛛在里面绕圈。
按什么顺序排查
- 看日誌:確認浪費發生在哪類 URL 上,不要凭感觉改配置。
- 看 robots.txt:被屏蔽的目錄是否還在被内鏈大量引用;被屏蔽的 URL 會占用發現名額,却拿不到内容。
- 看内鏈结构:重要頁面离首頁几步,有没有頁面完全没有内鏈指向。
- 看响應時間:平均响應拉長,蜘蛛會自動降速,抓取量自然下降。
- 看重复 URL:同一内容存在多個地址,先合並,再谈抓取分配。
顺序很重要。先把日誌看清楚,效果往往胜過盲改 robots 和參數規則。
能做的几件實事
- 给重要頁面补内鏈,尤其是從首頁和栏目頁出發的路径;
- sitemap 只放希望被收錄的 URL,並保持更新;
- 站内連結指向最终地址,减少跳轉;
- 同一内容合並到一個主地址;
- 清理無價值頁面,让蜘蛛把時間花在有内容的地方。
這些動作都不會立刻见效,通常要观察几周,看日誌里有效抓取的比例是否上升,而不是盯着某一天的抓取總量。
不建议做的事
有人會用蜘蛛池、批量外鏈之類的方式「引蜘蛛」。這類做法改變的是請求来源,不是站点本身的可抓取程度。短時間内日誌可能變好看,但對收錄没有稳定帮助,也可能带来風險。抓取分配的改善,最终還是落在站内结构、頁面质量和响應速度上。
最後提醒一句:抓取量和收錄量不是一回事。抓取變多不等于收錄變多,還要看頁面本身是否值得進索引。抓取只是把頁面送到门口,進不進是另一道判断。