很多站長會遇到一種情况:日誌里蜘蛛每天都来,但翻来覆去都是篩選頁、标簽頁、分頁,真正想被收錄的产品頁或文章頁却迟迟没有動静。這通常不是蜘蛛“不喜欢”你的内容,而是抓取量被分配到了別的地方。
抓取预算是什么
搜尋引擎不會無限量地爬一個站点。它會根據服務器响應速度、歷史抓取中的错誤率、内容更新频率、站点規模等因素,估算出一個相對合适的抓取频次和並發量,再把這些額度分配到站内 URL 上。這個額度常被称作抓取预算。
它不是一個固定數字,也没有公開的計算公式,更像是“蜘蛛愿意在你站上花多少時間”的粗略描述。對只有几百上千個 URL 的小站来说,预算基本够用,不必過度纠结;URL 數量上萬、參數组合成倍增長的站点,才更容易看到它的影响。
真正值得警惕的信号不是“蜘蛛来得少”,而是“蜘蛛来了,却把時間花在不重要的 URL 上”。
哪些頁面在消耗抓取量
- 带篩選、排序、分頁、跟踪參數的 URL 组合,數量可能成百上千;
- 站内搜尋结果頁、日歷归档頁、没有實际内容的标簽聚合頁;
- 同一篇内容對應多個 URL 變体,蜘蛛要逐個訪問才能判断是否重复;
- 重定向鏈、软 404、本该返回 404 却返回 200 的空頁面;
- 依赖 JavaScript 渲染才有内容的頁面,單次抓取的成本更高。
這些 URL 本身未必算“错誤”,但当它們的數量遠大于有價值頁面时,就會稀释真正重要頁面被訪問的机會。
把抓取額度留给重要頁面
從源头控制 URL 數量
篩選、排序這類參數,能用 canonical 收敛的就收敛;确實不需要被訪問的组合,可以用 robots.txt 阻止抓取,减少蜘蛛在列表頁上的消耗。要注意的是,robots.txt 只阻止抓取,不阻止该 URL 出現在索引里。如果目标是把頁面彻底移出索引,需要允许抓取後再使用 noindex,两者不建议同时使用。
提高响應速度和稳定性
服務器响應慢、频繁超时或返回 5xx,會让蜘蛛主動降低抓取频率,而且恢复需要時間。把首字节時間控制住、减少不必要的重定向,往往比任何“技巧”都更直接有效。
用内鏈和 sitemap 指路
重要頁面尽量從首頁几次点击就能到達,深层頁面靠合理的内鏈被带出来。sitemap 只放希望被收錄的 URL,不要把全站參數和废弃頁面一股脑塞進去,否則它反而變成蜘蛛的迷宫。
保證狀態碼和 canonical 干净
该 404 的返回 404,该跳轉的用 301,不要用 200 掩盖空頁面。canonical 指向要稳定且自洽,否則蜘蛛會反复訪問多個版本来確認哪一個才是正本,白白消耗抓取量。
自查顺序
- 看抓取統計和服務器日誌,找出蜘蛛訪問量最大的路径;
- 判断這些路径是不是你希望被收錄的頁面;
- 排查响應時間、错誤率和重定向數量;
- 查看“已發現,尚未抓取”清單里有没有重要頁面;
- 做調整後,观察几周的抓取分布變化,而不是一两天就下结论。
別把抓取预算当成萬能解释
如果站点只有几十個頁面,蜘蛛依然不收錄,問题多半出在内容质量、頁面價值或入口结构上,而不是抓取预算。先確認頁面本身是否值得被抓取和索引,再谈分配,顺序反了容易白忙一场。