大型網站擁有者的檢索預算管理指南
本指南說明如何為規模龐大且更新頻繁的網站進行 Google 檢索最佳化調整。
如果您的網站沒有大量會經常變動的網頁,或者網頁檢索作業看起來都是在發布網頁的同一天完成,那就不需要閱讀這份指南,只需要隨時保持 Sitemap 為最新狀態,並定期檢查索引涵蓋範圍即可。
如果您的內容已上線一段時間,但卻從未編入索引,這屬於不一樣的問題,請改用網址檢查工具找出網頁未編入索引的原因。
本指南適用對象
這份進階指南適用於下列網站:
- 擁有超過 100 萬個不重複網頁,且內容變動頻率適中 (每週一次) 的大型網站
- 擁有超過 1 萬個不重複網頁,且內容變動極為頻繁 (每天) 的中型或大型網站
- 網站中有大量網址在 Search Console 中分類為「已找到 - 目前尚未建立索引」
檢索基本原理
網海無垠,即使是 Google 也無法探索每個可用網址,並為其一一建立索引。因此,Googlebot 檢索每個網站所能用的時間有限,而 Google 針對檢索一個網站所能投入的時間和資源,通常就稱為「檢索預算」。請注意,不是網站上所有「完成檢索」的內容都一定能「建立索引」;Google 必須對每個網頁進行評估與整合,才能確認是否要在檢索網頁後建立索引。
檢索預算多寡取決於兩個主要元素:「檢索容量上限」和「檢索需求」。
檢索容量上限
Googlebot 檢索網站時,並不希望對伺服器造成負擔。為了達成這項目標,Googlebot 會計算「檢索容量上限」,這是指 Googlebot 在檢索網站時可以使用的最大同時連線數量,以及擷取作業之間的延遲時間。計算出來的容量上限要能讓 Googlebot 為所有重要內容建立索引,但又不會讓伺服器超過負荷。
檢索容量上限可能因下列因素而有所起伏:
- 檢索健康狀態:如果網站連續一陣子的回應速度都很快,檢索容量上限就會提高,讓 Googlebot 可使用更多連線進行檢索。如果網站的回應速度變慢或出現伺服器錯誤,檢索容量上限則會降低,Googlebot 的檢索次數也會隨之減少。
- Google 的檢索能力上限:Google 擁有許多硬體資源,但數量並非無限,我們仍然需要依據現有資源取捨分配。
檢索需求
一般來說,Google 會將要檢索的網站與其他網站進行比較,依據網站規模、更新頻率、網頁品質和關聯性,分配檢索需要的時間。
以下是決定檢索需求的幾項重要因素:
- 系統對網址庫的判斷:Googlebot 會在未經您說明的情況下,嘗試檢索您網站上所有或大部分的已知網址;如果這當中存在許多重複網址,或者因為其他原因根本不需要檢索 (例如網址已移除、內容不重要等等),等於 Google 浪費許多時間檢索您的網站。這也是您最能主動控制的因素。
- 熱門程度:為了盡可能在索引中提供最新的資訊,在網際網路上越熱門的網址,其檢索頻率也會越高。
- 過時程度:我們的系統希望能以足夠的頻率重新檢索文件,以便及時反映任何變更。
此外,關聯到整個網站的事件 (例如網站遷移) 可能會使檢索需求增加,因為我們需要為新網址中的內容重新建立索引。
總結
綜合檢索容量和檢索需求兩個層面來看,Google 會將網站檢索預算視為「Googlebot 有能力且想要檢索的網址數量集合」。假如檢索需求較低,即使未達檢索容量上限,Googlebot 也會降低對網站的檢索頻率。
最佳做法
請遵循下列最佳做法,盡可能提升檢索效率:
- 管理網址庫:使用適當的工具告訴 Google 要檢索哪些網頁,以及不要檢索哪些網頁。如果 Google 花費太多時間檢索不適合建立索引的網址,Googlebot 可能會判定網站的其他部分不值得花時間查看,也不會提高預算來檢索網站。
- 整合重複的內容。排除重複內容,讓系統能著重於檢索獨特的內容,而不只是網址不重複而已。
- 透過 robots.txt 禁止系統檢索網址。 有些網頁對使用者而言可能很重要,但您並不希望這些網頁出現在搜尋結果中,例如會重複連結網頁資訊的無限捲動頁面,或是相同網頁的不同排序版本。如果無法依照清單第一條所說的方式進行整合,請使用 robots.txt 封鎖這些對搜尋而言不重要的網頁。透過 robots.txt 封鎖網址會大幅降低系統為網址建立索引的機率。
-
如果網頁已永久移除,請傳回
404
或410
狀態碼。 Google 不會忘記已知的網址,但404
狀態碼是很強烈的信號,會告訴 Google 不要再檢索該網址。相較來說,系統會在檢索佇列中將遭到封鎖的網址保留較長一段時間,並在解除封鎖後重新進行檢索。 - 排除
soft 404
錯誤。系統會繼續檢索soft 404
網頁,白白浪費你的預算。請查看索引涵蓋範圍報表是否有soft 404
錯誤。 - 隨時保持 Sitemap 為最新狀態。Google 會定期讀取 Sitemap,因此請務必在其中納入您希望 Google 檢索的所有內容。如果網站內容已經更新,建議加入
<lastmod>
標記。 - 避免使用過長的重新導向鏈結,因為這種做法會對檢索造成負面影響。
- 確保網頁擁有良好的載入效率。 如果 Google 能夠以更快的速度載入並轉譯網頁,或許就能讀取網站中的更多內容。
- 監控網站的檢索作業。 請監控網站在檢索期間是否有任何可用性問題,並設法讓檢索作業更有效率。
監控網站的檢索和索引作業
以下幾個重要步驟可協助監控網站的檢索情形:
查看 Googlebot 是否在網站上遇到可用性問題
改善網站可用性不一定能提高檢索預算,Google 會依據前述的檢索需求決定最佳檢索頻率。不過,可用性問題確實會造成 Google 無法依據需求檢索您的網站。
診斷方式:
透過檢索統計資料報告查看網站的 Googlebot 檢索記錄。這份報告會顯示 Google 在網站上遇到可用性問題的時間。如果報告顯示網站出現可用性錯誤或警告,請查看「主機可用性」圖表,找到 Googlebot 要求次數超過紅色限制線的部分,然後按一下圖表,查看無法檢索的網址,嘗試找出這些網址與網站發生的問題之間有何關聯。
此外,您也可以使用網址檢查工具測試網站上的幾個網址。如果該工具傳回「超過主機負載」的警告,表示 Googlebot 在您網站上找到的網址過多,無法全部檢索。
處理方式:
- 請參閱檢索統計資料報告的說明文件,瞭解如何找出並解決部分可用性問題。
- 封鎖不希望受到檢索的網頁 (請參閱管理網址庫一節)。
- 加快網頁的載入和轉譯速度 (請參閱改善網站的檢索效率一節)。
- 提升伺服器負載量。如果覺得 Google 在檢索網站時已持續觸及伺服器負載量的上限,但卻還有其他重要網址尚未受到檢索或更新,那麼增加伺服器資源或許能讓 Google 檢索您網站上的更多網頁。請查看檢索統計資料報告中的主機可用性記錄,瞭解 Google 的檢索頻率是否經常超出上限。如果是的話,請先提高伺服器資源一個月,並觀察這段期間的檢索要求數量是否有所提升。
查看網站中是否有應檢索而未檢索的部分
Google 會盡可能在網站上停留足夠的時間,以便找到所有優質且對使用者有價值的內容,並為這些內容建立索引。如果您認為 Googlebot 漏掉某個重要內容,可能是因為 Googlebot 不知道該內容存在、該內容已對 Google 封鎖,或者是網站的可用性限制了 Google 的存取 (也有可能是因為 Google 試圖避免您的網站超載)。
診斷方式:
Search Console 不會針對您的網站提供可依據網址或路徑進行篩選的檢索記錄,但您可以檢查網站記錄,確認 Googlebot 是否已檢索某個特定網址。不過,這些完成檢索的網址是否已建立索引,則不在本文的討論範圍。
提醒您,對大部分網站而言,Googlebot 至少要花上數天的時間才會注意到新網頁的存在。除了新聞網站這類有時效性的網站之外,大部分網站都不應預期新網址能在發布的同一天受到檢索。
處理方式:
當網頁新增至網站後,如果未在合理的時間內受到檢索,可能是因為:Google 不知道這些網頁存在、網頁內容遭到封鎖、網站已達到伺服器負載量上限,或者您用完了檢索預算。
- 告訴 Google 您增加了新網頁:更新 Sitemap 以反映這些新的網址。
- 檢查 robots.txt 規則,確認你並未意外封鎖了網頁。
- 重新審視檢索的優先順序 (也就是謹慎使用檢索預算)。請妥善管理網址庫,並提升網站的檢索效率。
- 確認伺服器負載量並未用盡。 如果 Googlebot 偵測到伺服器無法回應檢索要求,便會縮減檢索次數。
請注意,如果網頁的內容價值低落或者沒有使用者要求存取該類內容,那麼即使網頁已檢索完成,也不會顯示在搜尋結果中。
查看檢索更新內容的速度是否夠迅速
如果我們遺漏了網站上的新網頁或更新後的網頁,可能是因為我們尚未發現這些網頁,或是還未注意到網頁已經更新。您可以採取下列方式,協助我們注意到網頁的更新內容。
請注意,Google 致力於以合理且及時的方式查看網頁並建立索引,對大多數網站而言這些作業至少需要三天的時間。除非是新聞網站,或者網站擁有其他高價值的時效性內容,否則 Google 不會在網頁發布的同一天為其建立索引。
診斷方式:
請檢查網站記錄,查看 Googlebot 檢索特定網址的時間。
如要瞭解索引的建立日期,請使用網址檢查工具,或透過 Google 搜尋您所更新的網址。
處理方式:
建議做法:
- 如果網站有新聞內容,請使用新聞 Sitemap。
- 在 Sitemap 中使用
<lastmod>
標記,指出已建立索引的網址在什麼時候更新了內容。 - 使用簡單的網址架構,協助 Google 順利找到您的網頁。
- 提供標準的可檢索
<a>
連結,協助 Google 順利找到您的網頁。 - 如果網站使用行動版和電腦版的獨立 HTML,請在行動版上提供與電腦版相同的連結組合。如果無法在行動版上提供相同的連結組合,請務必將這些連結納入 sitemap 檔案。Google 只會將行動版網頁編入索引,如果行動版網頁中顯示的連結受限,可能會減緩新網頁的發現速度。
請避免:
- 每天多次提交相同且無變動的 Sitemap。
- 預期 Googlebot 會檢索 Sitemap 中的所有內容或立即進行檢索。 Sitemap 是向 Googlebot 提出實用的建議做法,但並非必要。
- 在 Sitemap 中加入不想在 Google 搜尋中顯示的網址。 這麼做可能會讓檢索預算浪費在您不希望建立索引的網頁上。
改善網站的檢索效率
提升網頁載入速度
Google 的檢索成效受限於頻寬、時間和 Googlebot 執行個體的可用性。 如果您的伺服器能更迅速地回應要求,或許我們就能在您的網站上檢索更多網頁。話雖如此,由於 Google 只希望檢索優質的網頁內容,因此單方面加快劣質網頁的載入速度,也無法讓 Googlebot 在網站上檢索更多網頁;相反地,如果我們認為您的網站還有其他優質內容,也可能會提高檢索預算來檢索這些內容。
您可以透過以下方式為網頁和資源進行檢索作業的最佳化調整:
- 使用 robots.txt 禁止 Googlebot 載入不重要的大型資源。 請務必只封鎖非關鍵性的資源,也就是不影響瞭解網頁意義的資源 (例如裝飾性的圖片)。
- 確保網頁能迅速載入。
- 留意不要使用過長的重新導向鏈結,這會對檢索作業造成負面影響。
- 回應伺服器要求所花費的時間以及轉譯網頁所需的時間,兩者都相當重要,這其中也包括圖片和指令碼等內嵌資源的載入和執行時間。請特別留意需要建立索引的大型資源或慢速資源。
使用 HTTP 狀態碼指定內容變更
一般來說,Google 支援使用 If-Modified-Since
和 If-None-Match
HTTP 要求標頭進行檢索。Google 檢索器不會隨著所有檢索嘗試傳送標頭;會視要求的用途而定 (舉例來說,AdsBot 較有可能設定 If-Modified-Since
和 If-None-Match
HTTP 要求標頭)。如果檢索器傳送 If-Modified-Since
標頭,標頭值就是上次檢索內容的日期和時間。根據這個值,伺服器可能會選擇傳回沒有回應主體的 304 (Not Modified)
HTTP 狀態碼,在這種情況下,Google 會重複使用上次檢索的內容版本。如果內容晚於檢索器在 If-Modified-Since
標頭中指定的日期,伺服器會傳回含有回應主體的 200 (OK)
HTTP 狀態碼。
如果 Googlebot 上次造訪網址後內容並未變更,那麼不論要求標頭為何,您都可以為任何 Googlebot 要求傳送 304 (Not Modified)
HTTP 狀態碼及無回應主體。這樣可以節省伺服器處理時間和資源,進而間接提高檢索效率。
隱藏不想在搜尋結果中顯示的網址
如果將伺服器資源浪費在不必要的網頁上,會使得真正有價值的網頁錯失檢索機會,導致 Googlebot 發掘網站上優質新內容或更新版內容的進度嚴重延遲。
如果 Google 搜尋服務檢索到網站上有許多您不希望檢索的網址,可能會對網站的檢索和索引成效產生負面影響。一般來說,這類網址有以下幾種:
- 多面向導覽和工作階段 ID:多面向導覽通常是網站內的重複內容;而工作階段 ID 和其他只會排序或篩選網頁的網址參數一樣,都不會提供新內容。瞭解如何管理多面向導覽頁面的檢索。
- 重複的內容:請協助 Google 識別重複的內容,避免不必要的檢索作業。
soft 404
網頁:如果網頁已不存在,請傳回404
錯誤碼。- 遭入侵的網頁:請務必查看安全性問題報告,如果找到任何遭入侵網頁,請加以修正或移除。
- 無限空間網址和 Proxy:請使用 robots.txt 禁止 Google 檢索這些網址。
- 劣質內容和垃圾內容:顯然地,避免這類內容沒有壞處。
- 這類內容包括購物車頁面、無限捲動頁面,以及會執行動作的網頁 (例如「註冊」頁面或「立即購買」頁面)。
建議做法:
- 如果完全不希望 Google 檢索某個資源或網頁,請使用 robots.txt 加以封鎖。
- 如果有多個網頁都重複使用相同的資源 (例如共用圖片或 JavaScript 檔案),請在每個網頁中以相同網址參照該資源,以便 Google 能快取同樣的資源並重複使用,不必對同一個資源發出多次要求。
請避免:
- 請勿定期新增或移除 robots.txt 中的網頁或目錄,試圖藉此重新分配網站的檢索預算。robots.txt 只應用來封鎖您希望 Google 永遠不要顯示的網頁或資源。
- 請勿透過輪流抽換 Sitemap 內的項目或其他暫時隱藏機制,試圖重新分配預算。
處理網站的過度檢索問題 (緊急情況時)
Googlebot 會採用演算法來避免過度檢索您的網站。 不過,如果發現 Googlebot 的檢索要求已讓網站不堪負荷,建議試試以下應對方式。
診斷方式:
監控伺服器,確認 Googlebot 對你的網站是否提出過多檢索要求。
處理方式:
在情況緊急時,建議按照下列步驟減緩 Googlebot 的檢索頻率:
- 在伺服器超載時,「暫時」針對 Googlebot 要求傳回
503
或429
HTTP 回應狀態碼。Googlebot 會在接下來的 2 天內持續嘗試重新檢索這些網址。請注意,執行傳回這類「無法使用」代碼的時間如果超過數天,會導致 Google 永久降低網站上網址的檢索頻率,甚至永久停止檢索您的網站,因此,請一併執行其他後續步驟。 -
一旦檢索頻率降低,請停止針對檢索要求傳回
503
或429
HTTP 回應狀態碼;如果執行傳回503
或429
的時間超過 2 天,會導致 Google 從索引中移除這些網址。 - 長期監控網站的檢索狀況和主機的負載量。
- 如果出現問題的檢索器是其中一個 AdsBot 檢索器,那麼起因很可能是您之前曾為網站建立的動態搜尋廣告目標,而 Google 正試圖檢索這個網站。這項檢索作業每 3 週會進行一次,如果伺服器負載量不足以處理這些檢索要求,建議限制廣告目標數量,或是增加伺服器負載量。
關於檢索的迷思與正確資訊
測試看看您是否瞭解 Google 檢索網站及建立網站索引的方式。
nofollow
規則會影響檢索預算。noindex
控制檢索預算。4xx
HTTP 狀態碼的網頁會浪費檢索預算。