最近這段時間一直忙于整理網站的錯誤頁面,期間整理了很多關于404 Not Found錯誤頁面的知識,加之最近也在幫團隊新來的人員培訓SEO優(yōu)化知識,所以在此借助博客的平臺就拿出來跟大家一起分享一下。
據說在第三次科技革命之前,互聯(lián)網的形態(tài)就是一個大型的中央數(shù)據庫,這個數(shù)據庫就設置在404房間里面。那時候所有的請求都是由人工手動完成的,如果在數(shù)據庫中沒有找到請求者所需要的文件,或者由于請求者寫錯了文件編號,用戶就會得到一個返回信息:room 404 : file not found。后來互聯(lián)網興起后,人們也就習慣了用404作為服務器未找到文件的錯誤代碼了。當然實際考證傳說中的room 404是不存在的。
一、404 Not Found是什么意思?
404頁面就是當用戶訪問某網站時,點擊了錯誤的鏈接時,所返回的頁面。最常見的出錯提示:404 Not Found。其目的就是告訴瀏覽者其所請求的頁面不存在或鏈接錯誤,同時引導用戶使用網站其他頁面而不是關閉窗口離開。錯誤頁面的文字可以自定義,有些網站沒有設置404錯誤頁面,或者是直接采取的跳轉到首頁,這樣一般都說對搜索引擎不是很友好。
HTTP 404或Not Found錯誤信息是HTTP的其中一種 標準回應信息 (HTTP狀態(tài)碼),此信息代表客戶端在瀏覽網頁時,服務器無法正常提供信息,或是服務器無法回應且不知原因。404錯誤信息可能與 server not found (無法找到服務器)或其他類似信息產生混淆。
二、404錯誤頁面對網站的影響
404頁面是網站必備的一個頁面,它承載著用戶體驗與SEO優(yōu)化的重任。404頁面通常為用戶訪問了網站上不存在或已刪除的頁面,服務器返回的404錯誤。如果站長沒有設置404頁面,會出現(xiàn)死鏈接,蜘蛛爬行這類網址時,不利于搜索引擎收錄。
可以說,404錯誤頁面是增強用戶體驗的很好的做法,但發(fā)現(xiàn)很多站長在應用過程中往往并未注意到對搜索引擎的影響,譬如:錯誤的服務器端配置導致返回 404 狀態(tài)碼或自定義404錯誤頁面使用Meta Refresh導致返回 302 狀態(tài)碼。
正確設置的自定義404錯誤頁面,不僅應當能夠正確地顯示,同時,應該返回 404 錯誤代碼,而不是 200 或 302 。雖然對訪問的用戶而言,HTTP狀態(tài)碼究竟是 404 還是 200 來說并沒有什么區(qū)別,但對搜索引擎這則是相當重要的。對這點大家可以查看博客的《》,文章中有具體詳細的介紹。
總的來說,搜索引擎蜘蛛在請求某個URL時得到 404 狀態(tài)回應時,即知道該URL已經失效,便不再索引該網頁,并向數(shù)據中心反饋將該URL表示的網頁從索引數(shù)據庫中刪除,當然,刪除過程有可能需要很長時間;而當搜索引擎得到 200 狀態(tài)碼時,則會認為該url是有效的,便會去索引,并會將其收錄到索引數(shù)據庫,這樣的結果便是這兩個不同的url具有完全相同的內容:自定義404錯誤頁面的內容,這會導致出現(xiàn)復制網頁問題。輕則被搜索引擎降權,重則會K掉網站。
三、導致404 Not Found錯誤頁面的原因
HTTP 404錯誤意味著鏈接指向的網頁不存在,即原始網頁的URL失效,這種情況經常會發(fā)生,很難避免,當Web服務器接到類似請求時,會返回一個404 狀態(tài)碼,告訴瀏覽器要請求的資源并不存在。其導致這個錯誤的原因一般來說有幾種情況:
1、無法在所請求的端口上訪問Web站點。
2、Web服務擴展鎖定策略阻止本請求。
3、MIME映射策略阻止本請求。
4、網站更新改版,但某些局部板塊沿用原來的模塊,而原有的模塊調用的文件已經被刪除或轉移了路徑。
5、跟蹤訪問的各類腳碼或CSS文件無效但調用代碼依然存在。
6、某個目錄直接刪除(導致一段時間該目錄的文件在被爬行時全部報404 Not Found錯誤)
7、網頁URL生成規(guī)則改變、網頁文件更名或移動位置、導入鏈接拼寫錯誤等,導致原來的URL地址無法訪問
四、404頁面的使用誤區(qū)
雖然404錯誤頁面是為了用戶體驗而顯示的一個錯誤頁面引導的作用,并不參與網站的排名。但是錯誤的使用404頁面,也會導致網站的被降權,比如以下2種情況:
1、錯誤的服務器端配置導致404錯誤頁面返回 200 狀態(tài)碼
當搜索引擎蜘蛛在請求某個URL時得到 404 狀態(tài)回應時,即知道該URL已經失效,便不再索引該網頁,并向數(shù)據中心反饋將該URL表示的網頁從索引數(shù)據庫中刪除,當然,刪除過程有可能需要很長時間;而當搜索引擎得到 200 狀態(tài)回應時,則會認為該url是有效的,便會去索引,并會將其收錄到索引數(shù)據庫,這樣的結果便是這兩個不同的url具有完全相同的內容:自定義404錯誤頁面的內容,這會導致出現(xiàn)復制網頁問題。對搜索引擎而言,特別是Google,不但很難獲得信任指數(shù)TrustRank,也會大大降低搜索引擎對網站質量的評定。
2、自定義404錯誤頁面使用Meta Refresh導致返回 302 狀態(tài)碼
常??吹皆S多網站的自定義404錯誤頁面采取類似這樣的形式:首先顯示一段錯誤信息,然后通過Meta Refresh將頁面跳轉到網站首頁、網頁地圖或其他類似頁。根據具體實現(xiàn)方式不同,這類404頁面可能返回 200 狀態(tài)碼,也可能返回 302 ,但不論哪種,從SEO技術角度看,均是一種錯誤的選擇。
對 200 狀態(tài)的情況我們上面已經談過,那么,當404頁面返回 302 時,搜索引擎會怎么對待呢?從理論上說,對 302 錯誤,搜索引擎認為該網頁是存在的,只不過臨時改變了地址,仍然會索引收錄該頁,這樣,同樣會出現(xiàn)類似于 200 狀態(tài)碼時的重復文本問題;其次,以google為代表的主流搜索引擎對302重定向的適用范圍要求越來越嚴格,這類不當使用302重定向的情況存在很大的風險。
五、解決404 not found錯誤的方法
1、對于存在的網頁內容由于路徑改變而導致訪問不了時,可在IIS 中定義404錯誤指向一個動態(tài)頁面,在頁面里面使用301永久重定向跳轉到新的地址,此時服務器返回301狀態(tài)碼。
2、設置404指向一個設計好的html 文件,此時頁面返回的404狀態(tài)碼。 現(xiàn)在的idc提供商基本都提供404設置的功能,直接上傳文件設置即可。在IIs中設置方法:打開IIS管理器-- 點擊要設置自定義404的網站的屬性-- 點擊自定義錯誤選項-- 選中404頁-- 選中并打開編輯屬性-- 設置成 URL -- URL 里填寫 /err404.html -- 按確定退出再把做好的err404.html 頁面上傳到網站根目錄下。此處在 消息類型 中一定要選擇 文件 或 默認值 ,而不要選擇 URL ,不然,將導致返回 200 狀態(tài)碼。
3、把404指向一個動態(tài)頁面,比如error.asp,如果不在頁面里面進行設置,僅僅是返回提示的HTML 代碼,將導致頁面返回200 狀態(tài)碼,這是不正確的,我們可以在顯示完提示內容后,增加語句:Response.Status= 404 Not Found ,這樣就保證頁面返回404狀態(tài)碼。
4、Apache下設置404錯誤頁面。為Apache Server設置404錯誤頁面的方法很簡單,只需在.htaccess 文件中加入如下內容即可,ErrorDocument 404 /notfound.php。
六、如何制作404頁面
對于404頁面的制作,常規(guī)來說分以下兩種情況:
1、Apache
為Apache Server設置404錯誤頁面的方法很簡單,只需:
(1)、在.htaccess文件中加入如下內容:ErrorDocument 404 /notfound.php,將.htaccess文件上傳到網站根目錄。
(2)、制作一個404頁面,隨便您設計,命名為notfound.php,同樣上傳到網站根目錄。
博客提醒大家一定要注意以下2點:
(1)、切記不要將404錯誤轉向到網站主頁,否則可能會出現(xiàn)主頁在搜索引擎中消失的情況。
(2)、切記不要使用絕對URL,如果使用絕對URL會返回302+200的狀態(tài)碼。
2、IIS/.net
首先,修改應用程序根目錄的設置,打開web.config文件編輯,在其中加入如下內容:
configuration
system.web
customErrors mode=On defaultRedirect=error.asp
error statusCode=404 redirect=notfound.asp /
/customErrors
/system.web
/configuration
博客提醒大家要注意一點:上文例中error.asp為系統(tǒng)默認的404頁面,notfound.asp為自定義的404頁面,使用時請修改相應文件名。
然后,在自定義的404頁面notfound.asp中加入以下為引用的內容:
% Response.Status = 404 Not Found %
這樣,便可以保證IIS能夠正確地返回404狀態(tài)碼。
七、制作404頁面的注意事項
1、不要使用絕對URL
如果使用絕對URL,會導致返回的狀態(tài)碼是302+200。
2、不要把404頁面設置成自動跳轉
404頁面不要自動跳轉,讓用戶來決定去向。這涉及到404頁面的制作,提供用戶體驗很重要。
3、不使用專業(yè)術語
404錯誤 這個詞的使用一直非常規(guī)范,但這并不是你使用專業(yè)術語嚇跑訪客的理由。 找不到網頁 這個說法相比來說更準確也更易于接受。
4、不要責備訪客
你的訪客很有可能是從其他網站鏈接或者是你網站上一個舊鏈接而來。看到這個錯誤頁面并不是他們的錯,所以要善待他們。撰寫的措辭要充滿歉意并盡量提供有益的幫助,而不是一些讓訪客們感到糟糕的文字。
5、提示訪客檢查拼寫
還有一個可能:訪客看到404錯誤頁面是由于他們自己在輸入URL網址時出現(xiàn)了拼寫錯誤。提示訪客檢查他們的拼寫,但不要失禮。就像我們在上面提到的,你的措辭不要讓訪客們感到你是在責備他們。
6、讓頁面返回404
每個網頁都有一個服務器響應代碼。代碼200是指頁面一切正常,404則是指頁面無法被找到。如果你已經指定了自定義的404錯誤頁面,則需要確保頁面的標題是返回正確的響應代碼。有幾種不同的方法可以做到這一點,最簡單的就是用你的htaccess文件來指定錯誤頁面。
7、明確表明404錯誤
清楚地向訪客聲明他們正在搜尋的頁面無法找到,且不要讓錯誤頁面看起來與正常的內容頁(如:加入過多的文本和鏈接)太過相似。你是想要表明這是一個錯誤頁面,所以就不要羞于向訪客們聲明這一點。
8、幫助訪客找到頁面
404錯誤頁面已經呈現(xiàn)在訪客面前,表明這個頁面并不是他們正在搜尋的。所以你應該設法幫助他們找到原來的頁面。確保你的錯誤頁中包含一個選項來協(xié)助用戶尋找他們想要的頁面,甚至可以包括有過更改的頁面的鏈接。
9、放置網站主頁鏈接
不要讓訪客無處可去或是無法找到你的網站信息。至少應該有一個鏈接鏈回你的網站主頁。這樣一來,從其他網站鏈接而來的訪客就可以了解你以及你的網站,甚至他們可能在你的網站中找到一些他們喜歡的內容。
10、讓訪客方便反饋信息
如果訪問者點擊了你網站上的一個錯誤鏈接,你會想了解這個鏈接故障。如果通過404頁面給他們提供一個反饋信息的便捷方式,讓他們可以報告這個故障以便你去解決。這只需要一個非常簡短的形式來提示訪客告訴你他們來自哪個頁面及哪個鏈接。通過這個方法,你可以獲取到所有你需要的信息。
訪客們可能依然因為無法找到他們想要的頁面而感到困惑和煩惱,因此給他們一個發(fā)泄不滿的地方,同時也給你一個做出回應并提供幫助的機會。這很可能會為你挽回一個潛在客戶。
11、保持品牌風格
我們都看過非??岬?04頁面設計。但千萬不要使這個頁面的設計與你網站的其他頁面相差太大,否則會看起來這個頁面不像你網站的設計,會讓訪客產生疑惑,誤以為自己已經被帶到了一個外部網站。
12、注意404頁面的語言版本
如果你的網站是多語種的,404錯誤頁面將從你所有語言版本的網站中獲取錯誤信息。無論你想要顯示任何信息,都需要將其翻譯成各個語言版本,使每個人都能理解。同時還需提供一個鏈接返回到訪客所對應的語言版本的網站。
13、讓訪客搜索想要的
如果訪客正在訪問的頁面已被移動,你可能想給他們一個途徑來搜索頁面被移動到了何處,可以考慮在頁面增加一個搜索框。
14、修復你的無效鏈接
如果你得到的數(shù)據顯示有大量的訪客訪問您的404頁面(檢查你的網站的分析數(shù)據來確定數(shù)量),這表明你的網站上有很多無效鏈接。你完全可以通過修復這些鏈接來阻止訪客進入404頁面。利用一些網站測試工具可以幫助檢查是否有無效鏈接,使你能夠迅速找到并修復他們而不必等待別人來告訴你。
15、不要把404頁面重定向到主頁
不要將404錯誤頁面直接重定向轉到網站主頁,否則可能會導致主頁在搜索引擎中消失。一些404錯誤頁面會立刻重定向到網站主頁,這樣做非常不好。你的訪客不知道他們已經鏈接到了錯誤的頁面,而且他們會感到困惑因為被無緣無故地鏈回到了網站主頁。
16、檢查404頁面設置效果及返回狀態(tài)
404頁面設置完成,一定要檢查是否正確。但http頭信息返回的一定要是404狀態(tài)。這主要是對搜索引擎有關系,因為如果你網站產生較多頁面時候但搜索引擎看到的是很多一樣的正常頁面,有可能會誤被認為作弊。
評論(0人參與,0條評論)
發(fā)布評論
最新評論