404錯誤的處理方式及對SEO的影響 更新

2021-09-05 18:57:52 字數 3172 閱讀 4112

在「

通過http狀態碼檢視搜尋引擎蜘蛛如何爬行你的**」一文中,我介紹了一些經常涉及到的http狀態碼及含義,譬如大家經常**並且與本文相關的http狀態碼:

410:請求的網頁不存在(注意:410表示永久性,而404表示臨時性);

200:伺服器成功返回請求的網頁;

301:**永久性重定向

302:**臨時性重定向

注意:大部分搜尋引擎將「404」與「410」狀態同等對待,如google。(參見

matt cutts的說明)

對http404狀態碼的理解

匯入鏈結拼寫錯誤等,導致原來的url位址無法訪問;當web 伺服器接到類似請求時,會返回乙個404 狀態碼,告訴瀏覽器要請求的資源並不存在。但是,web伺服器預設的404錯誤頁面,無論apache還是iis,均十分簡陋、呆板且對使用者不友好,無法給使用者提供必要的資訊以獲取更多線索,無疑這會造成使用者的流失。

因此,很多**均使用自定義404錯誤的方式以提供

使用者體驗避免使用者流失。一般而言,自定義404頁面通用的做法是在頁面中放置**快速導航鏈結、搜尋框以及**提供的特色服務,這樣可以有效的幫助使用者訪問站點並獲取需要的資訊。

http404對seo的影響

自定義404錯誤頁面是提供使用者體驗的很好的做法,但在應用過程中往往並未注意到對搜尋引擎的影響,譬如:錯誤的伺服器端配置導致返回「200」狀態碼或自定義404錯誤頁面使用meta refresh導致返回「302」狀態碼。正確設定的自定義404錯誤頁面,不僅應當能夠正確地顯示,同時,應該返回「404」錯誤**,而不是「200」或「302」。雖然對訪問的使用者而言,http狀態碼究竟是「404」還是「200」來說並沒有什麼區別,但對搜尋引擎而言,這則是相當重要的。

(一)自定義404錯誤頁返回「200」狀態碼

當搜尋引擎蜘蛛在請求某個url時得到「404」狀態回應時,即知道該url已經失效,便不再索引該網頁,並向資料中心反饋將該url表示的網頁從索引資料庫中刪除,當然,刪除過程有可能需要很長時間;而當搜尋引擎得到「200」狀態回應時,則會認為該url是有效的,便會去索引,並會將其收錄到索引資料庫,這樣的結果便是這兩個不同的url具有完全相同的內容:自定義404錯誤頁面的內容,這會導致出現複製網頁問題。對搜尋引擎而言,特別是google,不但很難獲得

信任指數trustrank,也會大大降低google對**質量的評定。(為什麼會出現返回「200」狀態碼的情況??請參看下面內容「自定義404錯誤頁面的基本原則」)

(二)自定義404錯誤頁使用meta refresh返回「302」狀態碼

常常看到許多**的自定義404錯誤頁面採取類似這樣的形式:首先顯示一段錯誤資訊,然後,通過meta refresh將頁面跳轉到**首頁、網頁地圖或其他類似頁。根據具體實現方式不同,這類404頁面可能返回「200」狀態碼,也可能返回「302」,但不論哪種,從

seo技術角度看,均不是一種合適的選擇。

對「200」狀態的情況我們上面已經談過,那麼,當404頁面返回「302」時,搜尋引擎會怎麼對待呢?從理論上說,對「302」錯誤,搜尋引擎認為該網頁是存在的,只不過臨時改變了位址,仍然會索引收錄該頁,這樣,同樣會出現類似於「200」狀態碼時的重複文字問題;其次,以google為代表的主流搜尋引擎對302重定向的適用範圍要求越來越嚴格,這類不當使用302重定向的情況存在很大的風險。

確保自定義404錯誤頁面能夠返回「404」狀態碼

在自定義404錯誤頁面設定完畢後,一定要檢查一下其是不是能夠正確地返回「404」狀態碼。可以使用

server header檢查工具,輸入乙個不存在網頁的url,檢視一下http header的返回情況,確信其返回的是「404 not found」。

404錯誤的處理方式

(一)定製404錯誤頁面的基本原則

首先應明確的是,404錯誤應工作在伺服器級而不是網頁級。對定製使用動態頁面如php指令碼型別的404頁時,必須確保在php執行前伺服器已經順利地送出「404」狀態碼,不然,一旦執行到了isapi級別,返回的狀態碼便只能是「200」或其他如「302」之類的重定向狀態碼了。

其次,在自定義**的404錯誤頁面時,對設定的錯誤頁面url鏈結應使用相對路徑而不是絕對路徑,而且自定義404頁面應該放在**根目錄下。儘管無效鏈結可能是多種形式的url,但當發生404訪問錯誤時,web伺服器會自動將其轉到自定義的當404錯誤頁中,這跟url的形似沒有關係。

(二)apache下設定404錯誤頁面

為apache server設定 404錯誤頁面的方法很簡單,只需在.htaccess 檔案中加入如下內容即可:

errordocument 404 /notfound.php

注意:1.切記不要將404錯誤轉向到**主頁,否則可能會導致主頁在搜尋引擎中消失

2.切記不要使用絕對url(例如:形式),如果使用絕對url返回的狀態碼是「302」+「200」(已測試)

(三)iis/asp.net下設定404錯誤頁面

<configuration>

<system.web>

<customerrors mode=」on」 defaultredirect=」error.asp」>

<error statuscode=」404″ redirect=」notfound.asp」 />

</customerrors>

</system.web>

</configuration>

注:上文例中「error.asp」為系統預設的404頁面,「notfound.asp」為自定義的404頁面,使用時請修改相應檔名。

然後,在自定義的404頁面「notfound.asp」中加入: <%

response.status = 「404 not found」

%>這樣,便可以保證iis能夠正確地返回「404」狀態碼

(四)在iis/asp.net下設定404靜態頁面

設定靜態404錯誤頁面的方法則比較簡單,在iis管理器中右鍵單擊要管理的**,開啟「屬性」中的「自定義錯誤資訊」頁,為「404」設定相應的錯誤資訊頁即可。不過,此處在「訊息型別」中一定要選擇「檔案」或「預設值」,而不要選擇「url」,不然,將導致返回「200」狀態碼。

404錯誤的處理方式及對SEO的影響

在 通過http狀態碼檢視搜尋引擎蜘蛛如何爬行你的 一文中,我介紹了一些經常涉及到的http狀態碼及含義,譬如大家經常 並且與本文相關的http狀態碼 404 伺服器找不到指定的資源,請求的網頁不存在 譬如瀏覽器請求的網頁被刪除或者移位,但不排除日後該鏈結有效的可能性 410 請求的網頁不存在 注意...

404錯誤的處理方式及對SEO的影響 更新

在 通過http狀態碼檢視搜尋引擎蜘蛛如何爬行你的 一文中,我介紹了一些經常涉及到的http狀態碼及含義,譬如大家經常 並且與本文相關的http狀態碼 404 伺服器找不到指定的資源,請求的網頁不存在 譬如瀏覽器請求的網頁被刪除或者移位,但不排除日後該鏈結有效的可能性 410 請求的網頁不存在 注意...

什麼是404錯誤?404的處理方式及對SEO的影響

404 伺服器找不到指定的資源,請求的 網頁不存在 譬如瀏覽器請求的 網頁被刪除或者移位,但不排除日後該鏈結有效的可能性 410 請求的 網頁不存在 注意 410表示永久性,而404表示臨時性 200 伺服器成功返回請求的網頁 301 永久性重定向 302 臨時性重定向 注意 大部分搜尋引擎將 40...