排解 Google 搜尋檢索錯誤
以下是排解及修正網站 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 內的項目或其他暫時隱藏機制,試圖重新分配預算。
soft 404 個錯誤
soft 404 錯誤是指您的網址所傳回的頁面告知使用者該網頁不存在,但同時又傳回 200 (success) (成功) 狀態碼。在某些情況下,傳回的頁面可能沒有主要內容或空白網頁。
網站的網路伺服器、內容管理系統或使用者的瀏覽器會因為許多原因產生這類網頁。例如:
- 缺少 Server-Side Includes 檔案。
- 與資料庫的連線中斷。
- 內部搜尋結果網頁空白。
- JavaScript 檔案未載入或遺失。
傳回 200 (success) 狀態碼不但會導致使用者體驗不佳,還會在網頁中顯示或建議錯誤訊息或某種錯誤。使用者可能認為網頁是實際上線的網頁,但其實卻是錯誤的網頁。這類網頁已從 Google 搜尋中排除。
如果 Google 的演算法在偵測網頁內容時,發現該網頁實際上是錯誤網頁,Search Console 便會在網站的網頁索引報表中顯示 soft 404 錯誤。
修正 soft 404 錯誤
下列幾種方法都能解決 soft 404 錯誤,要採用哪種方法,則視網頁的狀態和想要的結果而定:
請試著判斷哪一種解決方案最適合您的使用者。
網頁和內容已不存在
如果您已移除網頁,且網站上沒有內容類似的替代網頁,請傳回 404 (not found) (找不到) 或 410 (gone) (不存在) 等回應代碼 (狀態碼)。這些狀態碼會告訴搜尋引擎該網頁不存在,且您不希望搜尋引擎為該網頁建立索引。
如果您能夠存取伺服器的設定檔,可以透過自訂錯誤網頁,提供對使用者有所助益的資訊。良好的自訂 404 網頁可協助使用者找到所需的資訊,同時提供其他實用內容,鼓勵使用者進一步瀏覽網站的其他部分。歡迎參考下列提示設計實用的自訂 404 網頁:
- 明確告訴訪客,系統找不到他們所需的網頁。請使用友善且具吸引力的語句。
-
確認
404網頁與您網站的其餘部分使用相同的風格和外觀 (包括導覽方式)。 - 考慮加入連結,指向網站上最熱門的幾篇文章以及首頁。
- 考慮為使用者提供回報無效連結的方法。
自訂 404 網頁是專為使用者建立的網頁。由於搜尋引擎對這些網頁來說並無用處,因此伺服器必須傳回 404 HTTP 狀態碼,以避免為網頁建立索引。
網頁或內容現已移至其他位置
如果網頁已移到他處,或者有明確的替代網頁,請傳回 301 (permanent redirect) (永久重新導向) 狀態碼,將使用者重新導向。這個方法能夠保持使用者擁有完整的瀏覽體驗,也很適合告訴搜尋引擎網頁的新位置在哪裡。請使用網址檢查工具驗證網址是否確實傳回正確代碼。
網頁和內容仍然存在
如果系統將某個狀態正常的網頁標示為 soft 404 錯誤,可能是因為 Googlebot 無法正確載入該網頁、缺少重要資源,或者轉譯期間顯示醒目的錯誤訊息。請使用網址檢查工具檢查轉譯的內容和傳回的 HTTP 代碼。如果轉譯出來的網頁為空白、幾乎空白或內容顯示錯誤訊息,可能是因為網頁參照的多數資源 (例如圖片、指令碼和其他非文字元素) 無法載入,可以解讀為 soft 404。
至於資源無法載入的原因,則可能是因為資源遭到封鎖 (例如遭 robots.txt 封鎖)、同一網頁上含有過多資源、發生各種伺服器錯誤、載入速度緩慢或資源太大。
處理網站的過度檢索問題 (緊急情況時)
Googlebot 會採用演算法來避免過度檢索您的網站。 不過,如果發現 Googlebot 的檢索要求已讓網站不堪負荷,建議試試以下應對方式。
診斷方式:
監控伺服器,確認 Googlebot 對你的網站是否提出過多檢索要求。
處理方式:
在情況緊急時,建議按照下列步驟減緩 Googlebot 的檢索頻率:
- 在伺服器超載時,「暫時」針對 Googlebot 要求傳回
503或429HTTP 回應狀態碼。Googlebot 會在接下來的 2 天內持續嘗試重新檢索這些網址。請注意,執行傳回這類「無法使用」代碼的時間如果超過數天,會導致 Google 永久降低網站上網址的檢索頻率,甚至永久停止檢索您的網站,因此,請一併執行其他後續步驟。 -
一旦檢索頻率降低,請停止針對檢索要求傳回
503或429HTTP 回應狀態碼;如果執行傳回503或429的時間超過 2 天,會導致 Google 從索引中移除這些網址。 - 長期監控網站的檢索狀況和主機的負載量。
- 如果出現問題的檢索器是其中一個 AdsBot 檢索器,那麼起因很可能是您之前曾為網站建立的動態搜尋廣告目標,而 Google 正試圖檢索這個網站。這項檢索作業每 3 週會進行一次,如果伺服器負載量不足以處理這些檢索要求,建議限制廣告目標數量,或是增加伺服器負載量。