自定義404錯誤頁面是增強用戶體驗的很好的做法,但在應用過程中往往并未注意到對搜索引擎的影響,譬如:錯誤的服務器端配置導緻返回“404”狀态碼或自定義404錯誤頁面使用Meta Refresh導緻返回“302”狀态碼。正确設置的自定義404錯誤頁面,不僅應當能夠正确地顯示,同時,應該返回“404”錯誤代碼,而不是“200”或“302”。雖然對訪問的用戶而言,HTTP狀态碼究竟是“404”還是“200”來說并沒有什麼區别,但對搜索引擎這則是相當重要的。
搜索引擎蜘蛛在請求某個URL時得到“404”狀态回應時,即知道該URL已經失效,便不再索引該網頁,并向數據中心反饋将該URL表示的網頁從索引數據庫中删除,當然,删除過程有可能需要很長時間;而當搜索引擎得到“200”狀态碼時,則會認為該url是有效的,便會去索引,并會将其收錄到索引數據庫,這樣的結果便是這兩個不同的url具有完全相同的内容:自定義404錯誤頁面的内容,這會導緻出現複制網頁問題。輕則被搜索引擎降權,重則會K掉網站。
實現
改變服務器默認錯誤頁面就可以達到效果。下面是一些可以使得訪客輕松實現正常訪問的建議。
遵循的理念:
提供簡明的問題描述,消除訪客的挫敗感。提供合理的解決方案,輔助訪客完成訪問目标。提供個性化的友好界面,提升訪問體驗。
實現方式(按照從簡單到複雜的順序排列):
使得訪客轉到某個地方而不是後退。
頁面包含該站點重要部分的鍊接,如主頁或站點地圖。不要僅僅告訴他們檢查拼寫。使用文本的鍊接替代圖片,因為有許多訪客不會想到點擊這個圖片。
例子:我們的站點有一個主頁的返回鍊接。這是實現友好反饋的最低限度。此外,我們還會考慮,在有效的幫助信息不足的情況下,如何通過訪客的反饋彌補錯誤。
需要包括一個指向網站管理員的email鍊接,或者一個用于提交丢失鍊接的表格。
相對于發送email,訪客更喜歡使用提交表格。
加入一個搜索框用于搜索站點。
例:MSN在所有頁面的底部都有一個搜索框,同時也鍊向站點的重要部分。
在站點中列出接近于訪客期望頁面的鍊接,用于推測訪客正在尋找的頁面。你不需要采納上述所有的建議,但是這些建議一緻服務于使得訪客更願意停留在你的站點的目的。
合理的404錯誤頁面至此即可以完成了,這将給訪客提供許多有價值的信息。
設置
1.對于存在的網頁内容由于路徑改變而導緻訪問不了時,可在IIS中定義404錯誤指向一個動态頁面,在頁面裡面使用301永久重定向跳轉到新的地址,此時服務器返回301狀态碼。
2、設置404指向一個設計好的html文件,此時頁面返回的404狀态碼。idc提供商基本都提供404設置的功能,直接上傳文件設置即可。在IIs中設置方法:打開IIS管理器-->點擊要設置自定義404的網站的屬性-->點擊自定義錯誤選項-->選中404頁-->選中并打開編輯屬性-->設置成URL-->URL裡填寫“/err404.html”-->按确定退出再把做好的err404.html頁面上傳到網站根目錄下。此處在“消息類型”中一定要選擇“文件”或“默認值”,而不要選擇“URL”,不然,将導緻返回“200”狀态碼。
3、404指向一個動态頁面,比如error.asp,如果不在頁面裡面進行設置,僅僅是返回提示的HTML代碼,将導緻頁面返回200狀态碼,這是不正确的,我們可以在顯示完提示内容後,增加語句:Response.Status="404 Not Found",這樣就保證頁面返回404狀态碼。
4、Apache下設置404錯誤頁面。為Apache Server設置404錯誤頁面的方法很簡單,隻需在.htaccess文件中加入如下内容即可,ErrorDocument 404 /notfound.php。



















