合肥市高新區(qū)長(zhǎng)江西路與科學(xué)大道交口5F創(chuàng)業(yè)園A座309
136 5560 1775

如何正確處理HTTP404錯(cuò)誤頁面

發(fā)表日期:2010-01-06 瀏覽次數(shù):5274次

    關(guān)于處置 404 錯(cuò)誤頁面有不少方法。這里主要講的處置這個(gè)問題的時(shí)候不只考慮用戶還有考慮到搜索引擎,也是 seo 正確處置方式;以下是從網(wǎng)絡(luò)上整理出來的信息。希望對(duì)大家有所幫助。

對(duì) HTTP404 狀態(tài)碼的理解

    HTTP 404 錯(cuò)誤意味著鏈接指向的網(wǎng)頁不存在即原始網(wǎng)頁的 URL 失效,這種情況經(jīng)常會(huì)發(fā)生,很難避免,比如說:網(wǎng)頁 URL 生成規(guī)則改變、網(wǎng)頁文件更名或移動(dòng)位置、導(dǎo)入鏈接拼寫錯(cuò)誤等,導(dǎo)致原來的 URL 地址無法訪問;當(dāng) Web 服務(wù)器接到類似請(qǐng)求時(shí),會(huì)返回一個(gè) 404 狀態(tài)碼,告訴瀏覽器要請(qǐng)求的資源并不存在但是 Web 服務(wù)器默認(rèn)的 404 錯(cuò)誤頁面,無論 Apach 還是 IIS 均十分簡(jiǎn)陋、呆板且對(duì)用戶不友好,無法給用戶提供必要的信息以獲取更多線索,無疑這會(huì)造成用戶的流失。

    因此,很多網(wǎng)站均使用自定義 404 錯(cuò)誤的方式以提供用戶體驗(yàn)防止用戶流失。一般而言,自定義 404 頁面通用的做法是頁面中放置網(wǎng)站快速導(dǎo)航鏈接、搜索框以及網(wǎng)站提供的特色服務(wù),這樣可以有效的協(xié)助用戶訪問站點(diǎn)并獲取需要的信息。

HTTP404 對(duì) SEO 影響

    自定義 404 錯(cuò)誤頁面是提供用戶體驗(yàn)的很好的做法,但在應(yīng)用過程中往往并未注意到對(duì)搜索引擎的影響,譬如:錯(cuò)誤的服務(wù)器端配置導(dǎo)致返回 “ 200 狀態(tài)碼或自定義 404 錯(cuò)誤頁面使用 Meta Refresh 導(dǎo)致返回 “ 302 狀態(tài)碼。正確設(shè)置的自定義 404 錯(cuò)誤頁面,不只應(yīng)當(dāng)能夠正確地顯示,同時(shí),應(yīng)該返回 “ 404 錯(cuò)誤代碼,而不是 200 或 “ 302 雖然對(duì)訪問的用戶而言, HTTP 狀態(tài)碼究竟是 404 還是 200 來說并沒有什么區(qū)別,但對(duì)搜索引擎而言,這則是相當(dāng)重要的

一 ) 自定義 404 錯(cuò)誤頁返回 “ 200 狀態(tài)碼

    當(dāng)搜索引擎蜘蛛在請(qǐng)求某個(gè) URL 時(shí)得到 404 狀態(tài)回應(yīng)時(shí),即知道該 URL 已經(jīng)失效,便不再索引該網(wǎng)頁,并向數(shù)據(jù)中心反饋將該 URL 表示的網(wǎng)頁從索引數(shù)據(jù)庫中刪除,當(dāng)然,刪除過程有可能需要很長(zhǎng)時(shí)間;而當(dāng)搜索引擎得到 200 狀態(tài)回應(yīng)時(shí),則會(huì)認(rèn)為該 url 有效的便會(huì)去索引,并會(huì)將其收錄到索引數(shù)據(jù)庫,這樣的結(jié)果便是這兩個(gè)不同的 url 具有完全相同的內(nèi)容:自定義 404 錯(cuò)誤頁面的內(nèi)容,這會(huì)導(dǎo)致出現(xiàn)復(fù)制網(wǎng)頁問題。對(duì)搜索引擎而言,特別是 Googl 不但很難獲得信任指數(shù) TrustRank 也會(huì)大大降低 Googl 對(duì)網(wǎng)站質(zhì)量的評(píng)定。為什么會(huì)出現(xiàn)返回 “ 200 狀態(tài)碼的情況?請(qǐng)參看下面內(nèi)容 “ 自定義 404 錯(cuò)誤頁面的基本原則 ”

    一直在使用 Google Sitemap 當(dāng)我提交 XML 格式網(wǎng)站地圖文件時(shí), Google 會(huì)驗(yàn)證我身份以確保是網(wǎng)站合法的管理者。驗(yàn)證方式有兩種:上傳指定名稱的 html 頁到網(wǎng)站根目錄或者在網(wǎng)頁 meta 區(qū)域添加一個(gè)標(biāo)識(shí)身份的 meta 標(biāo)簽。通常是使用上傳 html 網(wǎng)頁的方式,但 Google 卻提示我網(wǎng)站根目錄下找不到這個(gè)網(wǎng)頁(實(shí)際上我已上傳,并且通過瀏覽器可以訪問)這是一個(gè)很可怕的問題 .

二 ) 自定義 404 錯(cuò)誤頁使用 Meta Refresh 返回 “ 302 狀態(tài)碼

    經(jīng)常看到許多網(wǎng)站的自定義 404 錯(cuò)誤頁面采取類似這樣的形式:首先顯示一段錯(cuò)誤信息,然后,通過 Meta Refresh 將頁面跳轉(zhuǎn)到網(wǎng)站首頁、網(wǎng)頁地圖或其他類似頁。根據(jù)具體實(shí)現(xiàn)方式不同,這類 404 頁面可能返回 “ 200 狀態(tài)碼,也可能返回 “ 302 但不論哪種,從 SEO 技術(shù)角度看,均不是一種合適的選擇。

    對(duì) “ 200 狀態(tài)的情況我上面已經(jīng)談過,那么,當(dāng) 404 頁面返回 “ 302 時(shí),搜索引擎會(huì)怎么對(duì)待呢?從理論上說,對(duì) “ 302 錯(cuò)誤,搜索引擎認(rèn)為該網(wǎng)頁是存在只不過臨時(shí)改變了地址,仍然會(huì)索引收錄該頁,這樣,同樣會(huì)出現(xiàn)類似于 “ 200 狀態(tài)碼時(shí)的重復(fù)文本問題;其次,以 google 為代表的主流搜索引擎對(duì) 302 重定向的適用范圍要求越來越嚴(yán)格,這類不當(dāng)使用 302 重定向的情況存在很大的風(fēng)險(xiǎn)。

確保自定義 404 錯(cuò)誤頁面能夠返回 “ 404 狀態(tài)碼

    自定義 404 錯(cuò)誤頁面設(shè)置完畢后,一定要檢查一下其是不是能夠正確地返回 “ 404 狀態(tài)碼。可以使用 Server Header 檢查工具,輸入一個(gè)不存在網(wǎng)頁的 url 檢查一下 HTTP Header 返回情況,確信其返回的 404 Not found

404 錯(cuò)誤的處置方式

一 ) 定制 404 錯(cuò)誤頁面的基本原則

    首先應(yīng)明確的 404 錯(cuò)誤應(yīng)工作在服務(wù)器級(jí)而不是網(wǎng)頁級(jí)。對(duì)定制使用動(dòng)態(tài)頁面如 PHP 腳本類型的 404 頁時(shí),必需確保在 PHP 執(zhí)行前服務(wù)器已經(jīng)順利地送出 “ 404 狀態(tài)碼,不然,一旦執(zhí)行到 ISAPI 級(jí)別,返回的狀態(tài)碼便只能是 200 或其他如 “ 302 之類的重定向狀態(tài)碼了

    其次,自定義網(wǎng)站的 404 錯(cuò)誤頁面時(shí),對(duì)設(shè)置的錯(cuò)誤頁面 URL 鏈接應(yīng)使用相對(duì)路徑而不是絕對(duì)路徑,而且自定義 404 頁面應(yīng)該放在網(wǎng)站根目錄下。盡管無效鏈接可能是多種形式的 URL 但當(dāng)發(fā)生 404 訪問錯(cuò)誤時(shí), WEB 服務(wù)器會(huì)自動(dòng)將其轉(zhuǎn)到自定義的當(dāng) 404 錯(cuò)誤頁中,這跟 URL 形似沒有關(guān)系。

二 ) Apach 下設(shè)置 404 錯(cuò)誤頁面

    為 Apach Server 設(shè)置 404 錯(cuò)誤頁面的方法很簡(jiǎn)單,只需在 .htaccess 文件中加入如下內(nèi)容即可:

ErrorDocu 404 /notfound.php

注意:

1. 切記不要將 404 錯(cuò)誤轉(zhuǎn)向到網(wǎng)站主頁,否則可能會(huì)導(dǎo)致主頁在搜索引擎中消失

2. 切記不要使用絕對(duì) URL 例如: http://www.yoursite.com/nofound.php 形式 ) 如果使用絕對(duì) URL 返回的狀態(tài)碼是 302 + 200 已測(cè)試)

三 ) IIS/ASP.net 下設(shè)置 404 錯(cuò)誤頁面

    首先,修改應(yīng)用順序根目錄的設(shè)置,打開 web.config 文件編輯,其中加入如下內(nèi)容:

< configur >

< system.web >

< customError mode= On defaultRedirect= error.asp >

< error statusCode= 404 ″ redirect= notfound.asp / >

< /customError >

< /system.web >

< /configur >

注:上文例中 “ error.asp 為系統(tǒng)默認(rèn)的 404 頁面, notfound.asp 為自定義的 404 頁面,使用時(shí)請(qǐng)修改相應(yīng)文件名。

然后,自定義的 404 頁面 “ notfound.asp 中加入:

< %

Response.Statu = 404 Not Found

% >

這樣,便可以保證 IIS 能夠正確地返回 “ 404 狀態(tài)碼

四 ) IIS/ASP.net 下設(shè)置 404 靜態(tài)頁面

    設(shè)置靜態(tài) 404 錯(cuò)誤頁面的方法則比較簡(jiǎn)單, IIS 管理器中右鍵單擊要管理的網(wǎng)站,打開 “ 屬性 ” 中的自定義錯(cuò)誤信息 ” 頁,為 “ 404 設(shè)定相應(yīng)的錯(cuò)誤信息頁即可。不過,此處在消息類型 ” 中一定要選擇 “ 文件 ” 或 “ 默認(rèn)值 ” 而不要選擇 “ URL 不然,將導(dǎo)致返回 “ 200 狀態(tài)碼。


將文章分享到:

版權(quán)所有:?jiǎn)⑦~科技-合肥網(wǎng)站建設(shè) 皖I(lǐng)CP備19009304號(hào)-1 皖公網(wǎng)安備 34010402702162號(hào)

網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì)公司啟邁科技,為眾多企業(yè)提供網(wǎng)站建設(shè),網(wǎng)站制作,響應(yīng)式網(wǎng)站設(shè)計(jì),手機(jī)網(wǎng)站建設(shè),微網(wǎng)站,模板建站,企業(yè)郵箱等一站式互聯(lián)網(wǎng)解決方案和建站服務(wù)10年。