404狀態碼

404狀態碼

404狀態碼:所請求的頁面不存在或已被刪除!

基本介紹

  • 中文名:404狀態碼
  • 外文名:404 Not Found
  • 類別:網頁代碼
  • 含義:無法訪問
  • 內容:特點及解決
定義,http狀態碼,返回狀態碼,返回錯碼後果,302問題,確保返回方法,

定義

404狀態碼是一種http狀態碼,其意思是: 所請求的頁面不存在或已被刪除!通俗的講就是當用戶輸入了錯誤的連結時,返回的頁面。

http狀態碼

什麼是http狀態碼呢?當用戶試圖通過HTTP或檔案傳輸協定(FTP)訪問一台正在運行Internet信息服務(IIS)的伺服器上的內容時,IIS返回一個表示該請求的狀態的數字代碼。該狀態代碼記錄在IIS日誌中,同時也可能在Web瀏覽器或FTP客戶端顯示。狀態代碼可以指明具體請求是否已成功,還可以揭示請求失敗的確切原因。

返回狀態碼

404錯誤頁面返回“200”或“302”狀態碼?
從嚴格的技術角度,網站對404錯誤的處理策略,並不是一個SEO方面的工作,而屬於網站可用性(usability)方面的問題。——當然,如果從廣義的SEO範疇來看,提高網站可用性也屬於SEO的基本操作。——但是,如果自定義404錯誤頁面設定不當,則會極大地影響網站的SEO效果。
在許多朋友的印象中,自定義404錯誤頁面只要能正確顯示,只要能輸入網站內某個並不存在的網頁地址,在瀏覽器中能看到自定義的錯誤信息,便說明設定沒問題。一個正確設定的404頁面,不僅應當正確地顯示,同時,應該能夠正確返回“404”錯誤代碼,而不是“200”或“302”。雖然對訪問的用戶而言,HTTP狀態碼究竟是“404”還是“200”來說並沒有什麼區別,但對搜尋引擎而言,這則是相當重要的。
為什麼這么說呢?讓我們先來回顧一下搜尋引擎收錄與索引網頁的過程:搜尋引擎的Spider向網站伺服器傳送請求,要求讀取某個網頁,網站伺服器接到請求後返回HTTP狀態碼回響請求,這些返回的HTTP狀態碼決定著搜尋引擎的下一步行動:將該網頁收錄到索引資料庫或者將其從索引資料庫刪除等。
當然,HTTP狀態碼有很多種,分別對應不同的情況,下面就與本文內容相關的幾種作一簡單介紹,更詳細的信息可參考W3C規範:
404:請求的網頁不存在(不排除日後該連結有效的可能性);
410:請求的網頁不存在(永久);
200:伺服器成功返回網頁
302:網址臨時重定向(跳轉
301:網址永久重定向
需要說明的是,大部分搜尋引擎將“404”與“410”狀態同等對待,如Google。(參見MattCutts的說明
當搜尋引擎在請求某個Url時得到“404”狀態回應時,便會知道該網頁在網站內不復存在,從而在索引資料庫中將其刪除,——當然,這個刪除過程有可能需要很長時間——而當搜尋引擎得到“200”狀態回應時,則會認為該url是有效的,並將其回到到索引資料庫中。

返回錯碼後果

404頁面返回“200”狀態碼的後果
如果網站的自定義404錯誤頁面在url無效時不返回“404”狀態碼而代之以“200”,會發生什麼情況呢?很明顯,搜尋引擎會認為這個“根本不存在的”網頁在網站內是存在的,這會導致很多問題,影響網站的最終SEO效果。
舉例來說,比如說對“”、“”這兩個在IT技術點評網站內並不存在的url而言,如果搜尋引擎得到的回應狀態碼是“200”,那么,便會將其收錄到索引資料庫,這樣的結果便是這兩個不同的url具有完全相同的內容:自定義404錯誤頁面的內容,這類重複文本(DuplicateContent)的現象對許多搜尋引擎而言都是大忌。尤其是考慮到網站中不可能只有這兩個無效連結,畢竟在網站建設中,無論網站的內部連結還是外部連結,總會不可避免地出現許多比如說拼寫錯誤的情況,類似的重複內容會更多。這樣,對搜尋引擎而言,特別是Google,不但很難獲得理想的網站信任指數,也會大大降低Google對網站質量的評定。
404錯誤頁使用Meta Refresh帶來的302問題 常常看到許多網站的自定義404錯誤頁面採取類似這樣的形式:首先顯示一段錯誤信息,然後,通過MetaRefresh將頁面跳轉到網站首頁、網頁地圖或其他類似頁。根據具體實現方式不同,這類404頁面可能返回“200”狀態碼,也可能返回“302”,但不論哪種,從SEO的角度看,均不是一種合適的選擇。

302問題

404錯誤頁使用Meta Refresh帶來的302問題
對“200”狀態的情況我們上面已經談過,那么,當404頁面返回“302”時,搜尋引擎會怎么對待呢?從理論上說,對“302”錯誤,搜尋引擎認為該網頁是存在的,只不過臨時改變了地址,仍然會索引收錄該頁,這樣,同樣會出現類似於“200”狀態碼時的重複文本問題;其次,以google為代表的主流搜尋引擎對302重定向的適用範圍要求越來越嚴格,這類不當使用302重定向的情況存在很大的風險。
因此,儘量不要在404錯誤頁中使用這類MetaRefresh方法。如果實現希望實現類似的功能,即讓顯示錯誤信息幾(十)秒後跳轉到首頁或其他頁面,可以考慮在404錯誤頁中使用JavaScript跳轉。——JavaScript對搜尋引擎而言是無益同時也無害的。
確保404錯誤頁面能夠返回“404”狀態碼.

確保返回方法

確保404錯誤頁面能夠返回“404”狀態碼.
在自定義404錯誤頁面設定完畢後,一定要檢查一下其是不是能夠正確地返回“404”狀態碼。
檢查的方法也相當簡單,使用本站提供的ServerHeader檢查工具,或其他類似工具如這個,輸入一個網站內不存在網頁的url,查看一下HTTPHeader的返回情況,確信其返回的是“404Notfound”。

相關詞條

熱門詞條

聯絡我們