昨天晚上有位在企業當網管的朋友來咨詢小編,說他們的網站原來是Asp的,打算改版為php(使用dedecms)的,但是原來很多URL無法找到了,于是來請教如何處理404的問題,下面我們一起來分析并進行一下相關設置(部分資料來自網絡)
大家都知道,IIS默認的錯誤頁是很不友好的,很多人看到默認的錯誤頁時都會說:網站打不開了!白白損失了這部分流量。而如果錯誤頁直接跳轉到首頁又對搜索引擎很不友好,搞不好首頁還會被封掉。所以根據情況,有兩個方法解決這個問題:如果是博客等內容型的網站,可以返回一個帶有404錯誤的搜索框讓訪客搜索;如果是電子商務型網站,則可以返回一個帶有404錯誤的進度條進行跳轉。這兩種方法即照顧了訪客又顧及到了SEO。
修改默認錯誤頁的方法很簡單:在IIS中右鍵單擊要管理的網站,在自定義錯誤中設置404為相應的錯誤信息頁。這里有兩種方式:
1、如果“消息類型”你選擇的是“文件”,則只能使用.html或htm結尾的文件,否則用戶訪問錯誤頁時會出現代碼。用這種方式設置的錯誤頁,雖然.html文件中沒有輸出404狀態,但IIS執行后會自動輸出404狀態。
2、如果你“消息類型”選擇了“URL”,則必須用asp文件(因為只有在asp文件中才能設置404狀態),否則訪問錯誤頁時會返回200狀態碼。還要在asp文件中加上:
<%Response.Status="404 Not Found"%>
如果你希望定時跳轉到首頁,則也有兩種方法:
1、利用meta標簽的refresh進行跳轉
<meta http-equiv="refresh" content="3;url=http://www.wfuwu.com/?xxx">
2、使用js進行跳轉
<script style="text/javascript">
setTimeout("testTime()",2500);
function testTime(){
location=http://www.liehuo.net;
}
</script>
我感覺使用js的方法好一些,因為meta標簽跳轉擔心搜索引擎會識別為“200”或“302”,見這里的這段話:
常常看到許多網站的自定義404錯誤頁面采取類似這樣的形式:首先顯示一段錯誤信息,然后,通過Meta Refresh將頁面跳轉到網站首頁、網頁地圖或其他類似頁。根據具體實現方式不同,這類404頁面可能返回“200”狀態碼,也可能返回“302臨時重定向”,但不論哪種,從SEO技術角度看,均不是一種合適的選擇。
幾個注意點:
1、切記不要將404錯誤轉向到網站主頁,否則可能會導致主頁在搜索引擎中消失。
2、切記不要使用絕對URL,如果使用絕對URL返回的狀態碼是“302”+“200”(已測試)。
3、在“消息類型”中一定要選擇“文件”或“默認值”,而不要選擇“URL”,不然,將導致返回“200”狀態碼
最后,按照上邊的方法設置以后一定要記得檢測HTTP返回狀態碼,如果不是404,則搜索引擎很可能會處罰你的網站。
上一篇 網站優化推廣經驗課程表分享
下一篇 如何讓訪問用戶真正記住你的網站