很多站長(zhǎng)在做網(wǎng)站診斷的過程中,往往會(huì)查看網(wǎng)站有沒有做404頁(yè)面,一般判斷的方法很簡(jiǎn)單,就是在搜索引擎地址欄隨便輸入一個(gè)該域名錯(cuò)誤鏈接,然后看有沒有404頁(yè)面。這樣對(duì)嗎?404頁(yè)面存在的意義就是告訴瀏覽者和搜索引擎所請(qǐng)求的頁(yè)面不存在或是鏈接錯(cuò)誤,你這檢查只能說明用戶看到的是404頁(yè)面,而對(duì)于搜索引擎呢?會(huì)對(duì)這個(gè)頁(yè)面返回404狀態(tài)碼嗎?
先來來看看下面二張圖,你眼中的404頁(yè)面未必返回404狀態(tài)碼。
危害
可以看到該網(wǎng)站盡管對(duì)用戶返回了404頁(yè)面,但是對(duì)于搜索引擎而言卻是一個(gè)正常的頁(yè)面,這往往是由于錯(cuò)誤的服務(wù)器端配置而導(dǎo)致返回“200”狀態(tài)碼,雖然對(duì)訪問的用戶而言,HTTP狀態(tài)碼是“404”還是“200”并沒有什么區(qū)別,一樣是提高了用戶體驗(yàn),但對(duì)搜索引擎而言,這則是相當(dāng)重要的,甚至是致命的。
當(dāng)搜索引擎蜘蛛在請(qǐng)求某個(gè)錯(cuò)誤URL地址得到“404”狀態(tài)回應(yīng)時(shí),即知道該URL地址已經(jīng)失效,便不再索引該網(wǎng)頁(yè),并向數(shù)據(jù)中心反饋將該URL地址表示的網(wǎng)頁(yè)從索引數(shù)據(jù)庫(kù)中刪除,而當(dāng)搜索引擎對(duì)于這個(gè)404頁(yè)面得到的是“200”狀態(tài)回應(yīng)時(shí),則會(huì)認(rèn)為該url地址是有效的,便會(huì)去索引,并會(huì)將其收錄到索引數(shù)據(jù)庫(kù),這樣你的所有錯(cuò)誤頁(yè)面對(duì)于搜索引擎來說都是不同url地址內(nèi)容相同的頁(yè)面,這會(huì)導(dǎo)致出現(xiàn)大量重復(fù)頁(yè)面,會(huì)大大降低網(wǎng)站質(zhì)量的評(píng)分,甚至直接降權(quán)。
所以正確設(shè)置的自定義404錯(cuò)誤頁(yè)面,不僅應(yīng)當(dāng)能夠正確地顯示,同時(shí),應(yīng)該返回“404”錯(cuò)誤代碼,而不是200或其他的。不僅要告訴用戶該頁(yè)面不存在,也要正確的讓搜索引擎知道這是404錯(cuò)誤頁(yè)面而不是一個(gè)正常的頁(yè)面。
404頁(yè)面如何正確設(shè)置
1、ISS中404錯(cuò)誤頁(yè)面設(shè)置
打開IIS管理器-->點(diǎn)擊要設(shè)置自定義404的網(wǎng)站的屬性-->點(diǎn)擊自定義錯(cuò)誤選項(xiàng)-->選中404頁(yè)-->選中并打開編輯屬性-->設(shè)置成文件或默認(rèn)值-->URL 里填寫“/404.html”,按確定退出。再把做好的404.html頁(yè)面上傳到網(wǎng)站根目錄下。此處在“消息類型”中一定要選擇“文件”或“默認(rèn)值”,而不要選擇“URL”,不然,將導(dǎo)致返回“200”狀態(tài)碼。
2、Apache下設(shè)置404錯(cuò)誤頁(yè)面很簡(jiǎn)單,一般都是有一個(gè)404錯(cuò)誤頁(yè)面設(shè)置的功能,只需要自己做好一個(gè)404頁(yè)面,上傳到對(duì)應(yīng)的目錄就可以了。
3、一些主機(jī)的空間默認(rèn)就是返回值320或200狀態(tài)碼,怎么辦呢?我們可以通過下面的代碼來解決:
ApacheServer下設(shè)置404錯(cuò)誤頁(yè)面
建立一個(gè).htaccess 文件,在其中加入如下內(nèi)容:ErrorDocument 404/notfound.php,然后將.htaccess文件上傳到網(wǎng)站根目錄,最后制作一個(gè)404頁(yè)面,命名為notfound.php,和上面的名字一定要統(tǒng)一,同樣上傳到網(wǎng)站根目錄就OK了。這里切記不要使用絕對(duì)URL,如果使用絕對(duì)URL返回的狀態(tài)碼是302或200了。
IIS/asp。net下設(shè)置404錯(cuò)誤頁(yè)面
首先,修改應(yīng)用程序根目錄的設(shè)置,打開 web.config 文件,引用以下內(nèi)容:
configuration>
system.web>
customErrors mode=OndefaultRedirect=error.asp>
error statusCode=404″ redirect=notfound.asp/>
/customErrors>
/system.web>
/configuration>
error.asp為系統(tǒng)默認(rèn)的404頁(yè)面名,notfound.asp為自定義的404頁(yè)面,使用時(shí)請(qǐng)修改相應(yīng)文件名。
然后,在自定義的404頁(yè)面notfound.asp中加入以下代碼,便可以保證IIS服務(wù)器能夠正確地返回404狀態(tài)碼。
% Response.Status
= 404 Not Found%>
總而言之,網(wǎng)站的404頁(yè)面一定要設(shè)置好,如果說返回的是200狀態(tài)碼那就是自找麻煩,不如不做。木木seo建議404頁(yè)面設(shè)置完成后,一定要檢查是否正確,返回的一定要是404狀態(tài),如果你網(wǎng)站因?yàn)楫a(chǎn)生較多200碼404頁(yè)面而導(dǎo)致降權(quán),那是非常悲劇的。
另外我們?cè)谥谱?04頁(yè)面的時(shí)候也要注意頁(yè)面的美觀和體驗(yàn),盡量不要自動(dòng)跳轉(zhuǎn)也不要僅僅顯示此頁(yè)面無(wú)法訪問,404頁(yè)面也需要有清晰的導(dǎo)航,讓用戶來決定去向,這樣才能留住用戶。
以上就是你眼中的404頁(yè)面未必返回404狀態(tài)碼的講解以及404頁(yè)面如何正確設(shè)置地方法,希望對(duì)大家有一定的幫助!謝謝大家閱讀本篇文章!