想像你的網站有一萬個頁面,搜尋引擎的爬蟲每天只願意造訪其中幾百個,結果這幾百個名額裡有一大半被排序、篩選產生的重複網址吃掉,真正該被看到的新產品頁和剛更新的內容反而排不上。這就是爬取預算沒管好的現場。說穿了,爬取預算就是搜尋引擎願意花在你網站上的抓取力氣,這份力氣有限,你把它浪費在沒價值的頁面上,重要的頁面就得排隊。這篇我們談爬取預算到底是什麼、哪些頁面在偷偷吃掉它,以及我們怎麼用 robots、參數處理和內部連結,把預算留給值得的頁面。這套做法到 2026 年仍是我們處理大型網站的第一線工具。

1. 怎麼跟客戶解釋爬取預算這件事

面對非技術背景的客戶,我們不談演算法,我們談力氣分配。爬取預算的核心概念,用生活化的方式反而講得更清楚,一旦對方抓到「力氣有限、別浪費」這個直覺,後面的優化就好溝通了。很多客戶一聽到「預算」就以為要花錢買抓取量,其實它指的是搜尋引擎願意投入的力氣,不是你能加購的東西;先把這個誤會講開,討論才走得下去。

1.1 爬取預算不是每個網站都要煩惱

先講清楚門檻:幾百頁、幾千頁的中小型網站,通常不必為爬取預算焦慮,搜尋引擎的抓取量足夠涵蓋。真正需要在意的,是頁面數量以萬計、或頁面更新頻繁的大型網站。如果你的網站規模不大卻覺得頁面老是抓不完,問題多半不在預算,而在內容或技術阻礙,像是伺服器太慢、大量重複內容,或根本沒有好的內部連結把頁面串起來。把力氣花對地方,比空談預算重要,這也是我們盤點時第一個會幫客戶釐清的事。

1.2 它由兩件事決定,我們分開看

搜尋引擎願意抓多少,大致取決於兩個面向。一是你的伺服器能承受多少抓取而不變慢,這關乎網站的健康與速度;二是你的內容有多少值得抓取的價值,這關乎需求。伺服器又慢又常出錯,抓取量會被壓低,因為爬蟲不想拖垮你的站;內容大量重複、更新停滯,抓取意願也會下降,因為抓了也沒新東西。我們做診斷時會分開檢查這兩面,因為它們的解法不同:一邊是技術與效能問題,一邊是內容與結構問題,混在一起談只會愈談愈亂。

1.3 浪費預算的代價,我們用一句話講白

代價就是重要頁面被延後發現、延後更新。當爬蟲把有限的抓取次數用在一堆沒價值的網址上,你剛上線的產品頁、剛更新的內容,可能要等更久才被看到。對時效性強或更新頻繁的網站,這個延遲直接影響成效。我們常跟客戶說,爬取預算不是要你去「增加」搜尋引擎的抓取量,那不在你掌控範圍;你能做的是「省」,把原本被浪費掉的抓取次數,重新分配給真正該被看到的頁面。所以優化爬取預算的目標很單純:讓爬蟲少走冤枉路,把力氣留在刀口上。

2. 哪些頁面在偷吃我的預算

要省預算,得先知道錢花到哪去。我們稽核時有一份固定的嫌疑清單,這些頁面往往數量龐大又沒有索引價值,卻實實在在佔用著抓取次數。它們有一個共同特徵:單獨看每一頁好像沒什麼,但數量一乘起來,就成了吃掉大半抓取力氣的主因。所以盤點時我們看的不只是單頁價值,更是整類頁面的總量。

2.1 參數衍生的無限變體

排序、篩選、追蹤參數會讓同一份內容長出無數個網址。一個商品列表加上幾種排序、幾種篩選、幾種來源標記,組合起來可能是成千上萬個網址,內容卻幾乎一樣。這是我們看過最會吃預算的類型。爬蟲一個一個去抓這些變體,抓完發現都是同樣的東西,力氣就這樣沒了。更麻煩的是,這類變體會隨著使用者的操作不斷新生,若不從源頭處理,數量幾乎沒有上限。

2.2 低價值與重複的頁面

站內搜尋的結果頁、空的標籤頁、只有一兩筆內容的分類頁、大量雷同的模板頁,這些都是預算黑洞。我們遇過一個匿名的內容型網站,光是自動產生的標籤頁就有好幾萬個,多數只掛著一兩篇文章,爬蟲卻得逐一造訪。這類頁面對使用者沒幫助,對索引也沒貢獻,卻實實在在佔用抓取次數,屬於清掉之後幾乎沒有副作用的類型,通常是我們最先處理的對象。

2.3 技術性的浪費

還有一類是技術面造成的:過長的轉址鏈、指向已失效頁面的內部連結、大量的軟性 404。爬蟲順著一條轉了三四次的轉址鏈走,或反覆撞上該回 404 卻回了 200 的空頁面,都是白費力氣。這類浪費比較隱蔽,不盤點不容易發現,卻會持續耗損抓取力氣。下面這張表整理我們盤點時的主要嫌疑對象,方便對照著查。

浪費來源 典型樣貌 對預算的影響
參數變體 排序、篩選、追蹤參數組合 同內容衍生大量網址
低價值頁 站內搜尋頁、空標籤頁 抓了也沒有索引價值
技術浪費 轉址鏈、軟性 404 抓取力氣耗在無效路徑

3. 把預算留給好頁面的三個工具

找出浪費之後,接下來是動手止血。我們主要靠 robots、參數處理和內部連結這三件事,各有各的適用時機,用錯了反而幫倒忙,所以先釐清它們各自擅長什麼很重要。

3.1 robots.txt:擋住不該被抓的路徑

對於整批確定不需要被抓的路徑,例如站內搜尋結果、後台、購物車,我們用 robots.txt 直接封鎖。這是最省事的方式,能讓爬蟲根本不去碰這些區域。但我們會提醒兩件事:被 robots 擋住的頁面,搜尋引擎連內容都讀不到,所以想被索引的頁面絕對不能擋;另外 robots 擋的是「抓取」不是「索引」,若某頁已經被收錄,光靠 robots 擋反而讓它無法讀到你後來加的 noindex,這種情況要改用別的做法。先分清楚要的是不抓還是不收錄,工具才不會選錯。

User-agent: *
Disallow: /search
Disallow: /cart
Disallow: /*?sort=

3.2 參數處理:讓變體收斂回主網址

對付參數衍生的變體,我們的主力是 canonical。讓帶參數的網址 canonical 指向乾淨的主網址,等於告訴搜尋引擎這些變體都以主網址為準,權重集中、也減少被當成獨立頁面重複抓取。同時我們會在網站內部避免主動連向帶參數的網址,從源頭減少爬蟲發現這些變體的機會。對於純粹的追蹤參數,能不在站內連結使用就不用。這兩手並用,才能把參數變體的數量壓下來,光靠其中一個往往堵不住。

3.3 內部連結:把權重和抓取引導到重要頁

內部連結是我們最重視、也最常被低估的工具。爬蟲主要靠連結發現頁面,你在網站內部大量連向哪些頁面,就等於在告訴它哪些頁面重要。我們的做法是確保重要頁面從首頁三次點擊內可達、用具描述性的錨文字連向它們,同時砍掉指向低價值頁的內部連結,別再主動把爬蟲往黑洞裡帶。相較於 robots 和 canonical 是事後的圍堵,內部連結是正面的引導,它不只省預算,還能把權重集中到你最想排名的頁面上,一舉兩得。這也是為什麼我們把它排在三個工具的最後講,因為它的效果最全面,需要的規劃也最細。下面這張表對照三個工具的分工,幫你在不同情況下選對手段。

工具 適合處理 要注意的地雷
robots.txt 整批不需被抓的路徑 擋了就讀不到,想索引的頁別擋
canonical 與參數處理 同內容的參數變體 指向的主網址要能正常開啟
內部連結 引導抓取到重要頁 別把連結權重浪費在低價值頁

4. 我優化爬取預算的實際節奏

工具知道了,怎麼有條理地執行也很重要。我們不會一次亂改一通,而是按步驟來,每一步都能觀察到效果,也方便出問題時往回追。爬取預算的調整有一個特性:改動會連鎖影響到爬蟲對整站的判斷,所以更要按部就班,一次動太多,萬一某個封鎖設定下錯,可能連帶把該被抓的頁面也擋掉,那就得不償失。

4.1 先看紀錄,確認爬蟲把時間花在哪

我們會從伺服器的存取紀錄下手,看搜尋引擎的爬蟲實際上都在抓哪些網址。這一步常常會嚇到客戶,因為爬蟲花最多力氣的地方,往往是那些他們根本不在乎的參數網址或低價值頁。用真實紀錄說話,比憑感覺猜有說服力得多,也讓後續要砍哪些頁面有依據,而不是拍腦袋決定。沒有這份紀錄,所謂的優化很容易變成想當然耳,改了半天卻沒動到真正的浪費。

4.2 從影響最大的浪費先動手

盤點出浪費之後,我們按「數量乘上無價值程度」排序,先處理那種數量龐大又完全沒價值的類型,通常就是參數變體和自動產生的空頁。這類一處理,抓取次數馬上省下一大塊。至於零星的小問題,我們放到後面再收,避免一開始就陷在細節裡。這個先後順序很重要,把力氣先投在回收最大的地方,才能在最短時間內看到整體抓取分配的改善。

我們用一個匿名的例子說明這個排序怎麼跑。一個頁面數量以萬計的電商站,我們撈了兩週的存取紀錄,發現爬蟲有將近六成的造訪落在排序與篩選產生的參數網址上,真正的商品頁只分到不到三成。順序因此很清楚:先從參數變體下手,把帶排序、篩選參數的網址統一以 canonical 指回主網址,站內連結也不再指向它們。大約三到四週後再撈一次紀錄,參數網址的造訪比例掉到兩成上下,商品頁的造訪明顯回升。我們沒有去要更多抓取量,只是把原本被浪費掉的那幾成力氣挪回刀口上,剛上架的商品被抓到的速度就跟著變快了。

4.3 改完之後我們怎麼確認有效

我們不靠感覺判斷成效,而是回頭比對兩個訊號:站長工具回報的抓取統計有沒有把力氣挪回有價值的頁面、重要頁面被重新抓取和更新的速度有沒有變快。若爬蟲對低價值路徑的造訪明顯下降、對重要頁面的關注上升,就代表預算的分配確實被導正了。這是一個持續觀察、逐步調整的過程,不是改一次就結束,也不會改完隔天就翻盤,需要給搜尋引擎一段重新評估的時間。我們通常會把每次調整和觀察到的抓取變化記下來,累積幾輪之後,就能大致掌握這個網站對哪種調整反應最快,下次處理類似問題時更有把握。

5. 抓取、收錄、索引要分清楚才不會用錯工具

優化爬取預算時,最容易出錯的地方不是不夠努力,而是把三個概念混在一起:抓取、收錄、索引其實是三件事,對應的工具也不同。搞混它們,常常出現「想省抓取卻動到索引」或「想移除收錄卻只擋了抓取」的誤操作。我們看過不少網站在這裡栽跟頭,設定下得很勤,結果方向整個弄反,反而製造出新的問題。把這三者拆清楚,是避免白忙一場的前提。

5.1 三個動作發生在不同階段

抓取是爬蟲把頁面的內容讀進來;索引是搜尋引擎決定要不要把這頁納入它的資料庫;收錄則是這頁實際出現在搜尋結果裡。一個頁面要先被抓取,才談得上索引與收錄。爬取預算管的是第一步「抓取」這個環節的力氣分配,和後面的索引、收錄不是同一回事。把這個順序想清楚,你就能判斷某個問題該在哪一階段處理,而不是一律拿同一個工具硬套。

5.2 每個工具各管一段,別張冠李戴

robots.txt 管的是抓取,擋住它爬蟲就不去讀;noindex 管的是索引,告訴搜尋引擎讀到了也別收錄;canonical 則是處理重複,把權重集中到主網址。這三者對應到不同階段,也因此不能互相替代。想省抓取卻用 noindex,省不到;想移除收錄卻只用 robots 擋,反而讓搜尋引擎讀不到 noindex。我們在動手前一定先問:這個問題是出在抓取、索引還是重複,答案決定了該拿哪一個工具。

5.3 一個常見的誤操作組合

最典型的錯誤,是把一個已經被收錄的低價值頁同時加上 noindex 又用 robots 擋住。結果是爬蟲因為被 robots 擋住,根本讀不到那頁上的 noindex,這頁反而可能繼續留在搜尋結果裡,變成你想移除卻移不掉。正確的順序是先讓它能被抓取、讀到 noindex、確認退出收錄之後,再視情況決定要不要用 robots 省抓取。先後弄反,兩個工具都白費。這類細節看似瑣碎,卻是大型網站清理時最常踩的雷。

6. 常見問題

6.1 我的網站只有幾百頁,要優化爬取預算嗎

多半不用。小型網站的頁面量在搜尋引擎的抓取能力範圍內,通常不會有預算不足的問題。若你覺得頁面抓不完,先檢查是不是伺服器太慢、或有大量重複與技術阻礙,那才是真正的原因。把力氣花在內容品質和基本的技術健康上,對小網站的回報遠比鑽研爬取預算實際。

6.2 用 robots.txt 擋住的頁面會從搜尋結果消失嗎

不一定,而且這是常見誤解。robots.txt 擋的是抓取,不是索引。如果某頁在被擋之前已經被收錄,它可能還會留在搜尋結果裡,只是搜尋引擎讀不到最新內容。想讓頁面確實不被收錄,要用 noindex,而且那頁不能同時被 robots 擋住,否則搜尋引擎讀不到這個指令。先想清楚目的是不抓還是不收錄,再選工具。

6.3 把低價值頁全部 noindex 就能省預算嗎

幫助有限。noindex 是告訴搜尋引擎不要收錄,但爬蟲還是得先抓取這頁、讀到 noindex 才知道。所以 noindex 省的是索引空間,不是抓取次數。要真正減少抓取,得靠減少這些頁面的存在,或不在站內連向它們,讓爬蟲根本不容易發現它們。noindex 和省預算是兩回事,別混為一談。

6.4 我怎麼知道爬蟲到底把時間花在哪

最直接的是看伺服器存取紀錄,篩出搜尋引擎爬蟲的造訪,就能看到它實際抓了哪些網址、多常抓。站長工具的抓取統計也提供概況,可以看到每天的抓取量和回應狀況。兩者搭配,你會清楚看到力氣的分配,而且往往跟你以為的不一樣,很多被大量抓取的都是你根本沒注意過的角落。我們建議至少撈一段時間的紀錄來看,單日資料容易被偶發情況帶偏,拉長區間才看得出爬蟲真正的習慣。

6.5 加快網站速度對爬取預算有幫助嗎

有幫助。伺服器回應愈快、愈穩定,搜尋引擎愈敢提高抓取量而不怕拖垮你的網站。相反地,網站常變慢或出錯,抓取量會被保守地壓低。所以效能優化不只影響使用者,也間接影響爬蟲願意花多少力氣,這兩件事其實是連動的,一起顧通常比分開處理更划算。實務上我們常看到,一個網站在改善伺服器回應時間之後,抓取量自然往上走,根本不必特別去做什麼,這就是健康度影響抓取意願的直接例子。

6.6 優化爬取預算多久能看到效果

沒有固定時間,取決於搜尋引擎重新評估你網站的節奏。通常你會先在存取紀錄看到爬蟲對低價值路徑的造訪下降,接著才慢慢反映在重要頁面被更快抓取上。這是漸進的過程,需要持續觀察,不會改完隔天就翻盤。與其盯著短期數字起伏,不如確認大方向對了,再給它一段時間發酵。對頁面數量以萬計的大型網站來說,整體抓取分配的改善往往要以週甚至月為單位來看,心裡先有這個預期,比較不會因為短期沒動靜就急著推翻設定。

6.7 分頁的第二頁、第三頁會吃掉很多爬取預算嗎

會,尤其是列表很長、分頁動輒上百頁的網站。我們的處理原則是:分頁本身要能被抓、讓爬蟲順著走下去發現底層內容,所以不建議直接用 robots 擋掉,那會連帶讓深層的商品或文章失去被發現的路徑。真正該省的,是分頁又疊加排序、篩選參數之後長出來的組合,那才是數量爆炸的來源。我們會讓每一頁分頁維持乾淨的網址、彼此用上一頁與下一頁串好,同時把參數組合收斂掉,這樣分頁該有的發現功能保住了,多餘的變體也不會白白耗掉抓取力氣。