個好的網站,擁有一個好的 404頁面 是標配。
為何要有 404頁面?如何設置一個 404頁面?
在本地,比如我打開 localhost/fuck.htm(該文件不存在),HTTP 返回 404 Not Found,同時頁面展示如下:
用戶體驗很差有木有!更重要的是,如果沒有 404頁面,會影響 SEO。
為什么說會影響 SEO 呢?
當你的網站有些頁面地址(路徑)改變了。或者內容被刪除了,導致原地址訪問本頁面時,提示頁面不存在。比如說你網站改版,也會導致很多原來存在的頁面,訪問的時候提示頁面被刪除或不存在。這個時候就會產生很多死鏈接,當一個網站死鏈接過多的時候,對搜索引擎是非常不友好的,影響你的網站整體權重,也對用戶體驗很不好。
這時候就需要一個 404 頁面。這個頁面是所有死鏈接的著陸頁,所有打不開的頁面都會跳轉到這個 404 頁面。這個頁面包含了你的主要的網站欄目導航。用戶在這個頁面可以很方便的選擇繼續瀏覽你網站別的內容。404 頁面設置好以后,通過站長工具狀態碼檢,會返回 404 狀態碼。如果返回狀態碼是 200 說明是設置錯誤(這樣結果會造成搜索引擎有可能認為你網站有大量的重復內容,從而網站權重被降),雖然對訪問的用戶而言,HTTP 狀態碼究竟是 "404" 還是 "200" 并沒有什么區別,但對于搜索引擎則是相當重要的。
404 說白了就是在當前頁面上做一個返回首頁或者其他頁面的一個鏈接,這個鏈接一方面告訴搜索引擎我們這個頁面已經無效了請 "蜘蛛" 再去爬一次首頁吧!這樣當蜘蛛爬到死鏈接(404頁面)那里的時候就會自動跑到首頁并進行索引,也就是說 404 的出現不僅僅讓搜索引擎的數據庫更快的刪除掉這些死鏈接,還能讓蜘蛛更加勤快的認識新網站,可以說是一舉兩得。
筆者總結了兩種在 APACHE 中設置 404頁面的方法。當然首先你得寫好一個 404頁面,畢竟本質上這也是個 html 頁面,內容就可以集思廣益了,比方說可以寫個小游戲啊,展示網站其他內容,或者說 404公益,等等。這里我寫了個文件把它命名為 404.htm,放在本地服務器的根目錄下(localhost/404.htm)。
方法一 —— .htaccess 設置:
第一種方法是在 .htaccess 文件中進行相關設置。
什么是 htaccess?概述來說,htaccess 文件是 Apache 服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過 htaccess 文件,可以幫我們實現:網頁 301 重定向、自定義 404 錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
關于 htaccess 文件的更多內容可以參考文末鏈接或者自行谷歌百度。
這文件是不是很奇怪,木有文件名,其實也不奇怪,用過 Git 的話你也肯定見過 .git 文件夾。但是本地服務器下沒有該文件啊?在 windows 下從別的文件強制改名轉換的話,會提示 "必須鍵入文件名",so 我們可以用命令行。
打開 cmd,cd 到指定目錄后,用如下命令便可創建一個 .htaccess 文件:
echo.>.config
前面說了,htaccess 文件負責相關目錄下的網頁配置,所以服務器下的任何文件夾都可以有一個自己的 htaccess 文件。這里我們把它放在根目錄下。
打開該文件,將以下內容復制進去:
ErrorDocument 404 /404.htm
這時再打開 localhost/fuck.htm,頁面內容便會變成 404.htm 的內容,返回 404 狀態碼,URL 卻不會變化。
(PS:如此這般我本地便已經生效,但是有些文章指出還需要在 conf 文件下做一些修改,如果沒有生效,可以參考下 這里)
這里有幾點需要注意:
ErrorDocument 404 /404.htm
中的斜杠漏掉,if so 404 頁面會顯示字符串 "404.htm"方法二 —— vhosts 設置:
假設你跟樓主一樣設置過 vhosts。(如果沒有,歡迎參考 WampServer下如何實現多域名配置)
接下去就很簡單了,打開 vhosts 文件(比如我的路徑 \wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),修改如下:
<VirtualHost *:80>
DocumentRoot "c:\wamp\www"
ServerName localhost
ErrorDocument 404 /404.htm
</VirtualHost>
要注意的點同 htaccess 設置要注意的一致。
404 頁面是一個成熟的網站必須要有的東西,主要有兩個作用,利于用戶體驗以及 SEO。在 apache 中有兩種設置方式,htaccess 和 vhosts,某些文章指出盡量使用后者,前者比較耗費資源。設置中要注意的點請參考第二小節。
404錯誤是網站通過瀏覽器反饋給客戶的一種提示頁面,告訴訪問者當前請求的URL不存在或者鏈接錯誤。理論上404頁面的出現不但造成了搜索引擎的爬行中斷,更破壞了用戶體驗。
眾所周知,正規SEO的大前提是用戶體驗,所以解決網站中的鏈接錯誤非常重要,除了解決掉鏈接錯誤以外,制作一張符合用戶體驗的404頁面,也是對用戶體驗的一種補救。
大部分網站的404頁面只是默認的頁面,一些CMS建站系統雖然有自帶404頁面,但是基本不符合用戶體驗的標準。那么要怎么才能建立一個符合用戶體驗的404頁面,同時又符合SEO標準呢?
首先,制作一張美觀的404頁面,該頁面千萬不可有跳轉到首頁或者其他頁面的功能,我們發現許多網站為了用戶方便,將404頁面做了跳轉,這樣很容易造成搜索引擎的判斷錯誤,甚至將跳轉目的頁,比如首頁從搜索結果中刪除。
當用戶或者搜索引擎訪問到一個錯誤鏈接時,網站應該反饋一個404的狀態碼,此時用戶電腦就會出現404頁面,而搜索引擎則會放棄對該鏈接的索引。此時,一定要避免錯誤鏈接反饋的是202或者302等狀態碼,這樣一來搜索引擎就會對該頁面進行索引,如果存在大量錯誤鏈接,那么就會索引許多相同的頁面,甚至可能造成搜索引擎對網站的懲罰,后果是很嚴重的。
自定義樣式的404頁面的配置方法(Apache服務器):
如果你購買的是虛擬主機,則要先確定是否支持自定義404頁面的功能。如果是獨立主機則可以自己配置。首先,將制作好的404頁面放置在根目錄下,文件名可以起404.html或者自定義一個。然后,在空間的根目錄下的.htaccess文件中加入代碼:ErrorDocument 404 /404.html
(/404.html前面不要帶域名,否則反饋的狀態碼會變成202或者302。)
信我們訪問網站的過程中,經常會出現404 not found的情況,如果不做任何的處理,不但界面比較丑、不利于搜索引擎優化,而且用戶的體驗也很不好,用戶一懵B可能就會直接關閉頁面,離開你的站點。
網頁服務器默認的404頁
當網站上的某些頁面路徑發生了改變或者內容被刪除了,導致原地址訪問本頁面時,就會提示頁面不存在,這樣就產生了死鏈接,當一個網站死鏈接過多的時候,蜘蛛將無法繼續爬行,導致搜索引擎對網站的關注降低,影響你的網站整體權重、收錄及排名。
界面可以自定義,變得美觀大方
可以引流,在404頁面放上首頁鏈接,可以把用戶拉首頁,同樣可以讓蜘蛛再去爬一次首頁,這樣不僅僅讓搜索引擎的數據庫更快的刪除掉這些死鏈接,還能讓蜘蛛更加勤快的認識新網站。
……
自定義的404頁面
如果你用的虛擬主機,應該可以直接在控制面板中設置404頁,如果你用IIS服務器,打開IIS,在“網站屬性”中找到“自定義錯誤”,并將HTTP404錯誤文件指向一個新建的404.html,我們具體講一下Apache服務器如何設置404頁。
方法一:設置.htaccess文件
htaccess 文件是 Apache 服務器中的一個配置文件,可以幫我們實現:網頁 301 重定向、自定義 404 錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
1.新建.htaccess文件
注意這個.htaccess文件沒有文件名只有后綴,所以并不能直接在window上通過修改文件后綴獲得,我們可以用命令行創建這個文件。
打開 cmd,cd 到指定目錄后,用如下命令便可創建一個 .htaccess 文件
echo.>.htaccess
htaccess 文件負責相關目錄下的網頁配置,我們把它放在根目錄下。
2.編輯該文件,將以下內容復制進去
ErrorDocument 404 /404.htm
注意:如果IE瀏覽器上沒有效果,肯定是你的 404 頁面內容太少了,至少需要 512 b才能征服它。
方法二:vhosts 設置
如果你設置過vhosts,可以直接打開 vhosts 文件,修改如下:
<VirtualHost *:80>
DocumentRoot "D:\phpStudy\WWW"
ServerName localhost
ErrorDocument 404 /404.htm
</VirtualHost>
第一種方法比較簡單但是比較耗費服務器資源,建議用第二種方法。另外,還需要注意兩點:1,不要在404頁上直接跳轉到首頁,搜索引擎會直接標記你的行為為違規行為。2,設置好以后最好再檢查一遍網頁的http狀態,如果是200狀態,表示這是一個正常頁面,會造成大量URL地址都是顯示這個頁面,搜索引擎會誤以為網站上有大量重復的內容,這樣可能會造成網站被降權或被K掉。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。