仲介交易 SEO診斷 淘寶客 雲主機 技術大廳
在優化網站的時候,301重定向是站長們必不可缺的一項優化,而301重定向主要用於將內容從一個位置移動到另外一個位置。 其實,在理解上也是非常簡單的,比如我在HTTP://www.abc.com/a.html上有一些內容,接著我想重構網站,於是我想把此頁面上的內容移動到HTTP://www.abc.com/b.html上。 所以,我可以實施301重定向將這個頁面的所有指標所有來電到另一個頁面上。 可能有人會問,為什麼非要給重構的網站做301重定向?首先做301重定向之前要明白一點,重定向不僅對使用者很重要,而且對於搜尋引擎也是很重要的,當網站改版後並通過實施301重定向, 可以讓使用者或搜尋引擎訪問舊版頁面不是404錯誤頁面,而是成功訪問新版本的頁面,還可以讓搜尋引擎知道你是何時移動內容的,所以才會給需要重構的網站做301重定向。
為什麼今天談301重定向的問題呢?之所以談這個問題也是因為A5行銷團隊在分析診斷企業網站時,發現了各種各樣的301重定向問題:比如企業網站重構後沒用對舊版本的頁面重定向到新版本,導致重構後的網站出現大量的404錯誤頁面, 而且網站也因為這些404頁面導致權重流失、降權。 另外,在設置301重定向的時出現設置錯誤或不知道該怎麼去設置等情況。 所以,A5行銷團隊發現很多企業的站長對301重定向認識不夠、操作錯誤等。 那麼,A5行銷對此問題做了一些整理,希望可以説明到中小型企業站長正確、有效的設置301重定向。
一、301重定向的作用
301重定向的作用有很多,平時站長在做301重定向的時候,一是為了URL正常化並集中權重不讓權重分散、二是為了網站改版,將舊版本的頁面的所有指標所有來電到新版本的頁面上。 而實施301重定向可以做到這些,在作用上也是非常的強大,也建議中小企業的站長有效的利用301重定向給網站帶來的作用。
二、在什麼情況下必須做301重定向
以下五種情況是必須要做301重定向的,當然如果這五種情況都沒有發生的話可以選擇不做,下面A5行銷詳細的介紹一下。
①:網站的舊內容過期並被刪除掉
網站的一些內容過期了,所以要被刪掉了,如果還想留著可以通過301重定向實現。
②:網站有一些具有連結和流量的無效URL
如果你發現這些不正確URL還有流量權重,可以通過301重定向重新生成頁面。
③:網站更換了主機託管公司
如果網站更換了主機託管公司,不影響使用者查找網站內容的任何URL的情況下,可以不需要做301重定向。
④:網站更換程式
網站進行較大的改版,網站程式需要更換,此時會影響很多URL,可以通過301重定向來解決。
⑤:網站實施URL正常化
網站預設的URL分:
1、abc.com
2、www.abc.com
3、abc.com/index.html
4、www.abc.com/index.html
為了進行網址正常化和不分散權重,通常只出現一個標準的URL,我們可以通過301重定向來實現。 例如:我的網站網址只出現HTTP://www.abc.com/的URL,我可以將其他三個URL通過301重定向到這個URL上,這樣以來就不會分散權重了, 可能帶index.html尾碼的URL做301重定向容易出現閉環,為了避免這樣的情況也是有解決辦法的,下面A5行銷會詳細講解的。
⑥:網站因為各種原因而改變現有內容的URL
可能企業網站因為各種各樣的原因而改變了現有內容的URL,這種情況的發生是站長沒法預測到的,如果這種情況發生了而改變了URL,建議通過301重定向來解決,盡力避免死連結的出現。
總結上述需要注意:並不是所有的情況都是需要做301重定向的;但是,任何URL的更改都是需要做301重定向的。 原因很簡單,為了避免出現404錯誤頁面而導致不該發生的情況發生。
三、做301重定向的注意事項
當301重定向實施完之後,舊版本頁面跳轉到了新版本頁面,或網址正常化了再或者其他的,大部分的站長都不會注意到301的HTTP狀態是否返回成功。 就在此時,可能有些網站的301重定向不傳遞狀態或者出現404錯誤的狀態碼,這樣容易造成任何情況下做的301重定向無法達到效果。 A5行銷認為,想要正確的、有效果的做301重定向,一些細節還是需要注意的。
例如:404錯誤(頁面未找到)或者200 OK(頁面成功載入);301(返回301狀態碼成功)
正確的HTTP狀態碼:
錯誤的HTTP狀態碼:
總結上述需要注意:如果遇到這種情況也是一個被重視的問題,所以要避免這樣的問題發生,如果站長在做301永久重定向後,一定要確保HTTP狀態是返回301, 如果HTTP狀態碼不是返回的301狀態碼而是200或404再或者是其他的狀態碼,那麼301重定向應該未操作成功,建議站長檢查是哪點出的問題然後解決。
四、301永久重定向後權重會不會疊加
301永久重定向後權重會不會疊加呢?很多站長都在考慮這個問題,部分站長想通過這種途徑來投機取巧。 A5行銷認為,301永久重定向後權重是可以疊加的,但權重不會相加。 那麼,什麼樣的網站做301重定向權重是可以疊加的,什麼樣的網站做301重定向權重是不能疊加的?下面詳細的說明一下。
①:兩個相同的網站做301重定向是可以疊加權重的,但權重不是所有來電過來,而且要看網站符不符規則,一般來說權重再轉移的時候會損失一部分。
②:兩個不相同的網站做301重定向是不可以疊加權重的,為什麼呢?如果兩個網站一點也不相同,權重不僅不會轉移過來,而且百度也不願意這麼做,所以兩個不相同的網站沒法傳遞權重和疊加權重。
五、301重定向和302重定向的區別
重定向的方法其實是有很多的,但不同的方法會出現不同的結果,而且區別也是非常大的。 目前,根據WEB伺服器返回給瀏覽器的HTTP狀態碼,重定向主要分為301永久重定向、302臨時重定向,兩種重定向是根據不同情況來做的,下面A5行銷詳細的對兩種重定向詳細的說明一下。
①:301永久重定向
首先,301永久重定向。 這個狀態碼告訴使用者、搜尋引擎、瀏覽器,該資源已經永久性的移動到另一個位置(舊版本頁面永久重定向到新版本頁面),而且沒有恢復原位的打算。 301永久重定向最適合目錄轉移,推薦使用301重定向!
②:302臨時重定向
然後,302臨時重定向。 這個狀態碼告訴使用者、搜尋引擎、瀏覽器,該資源已經暫時性的移動到另外一個位置(舊版本頁面臨時重定向到新版本頁面),這種移動不會當作永久性,而且會恢復原來的位置,但一些情況下適合使用302重定向。
302重定向對手機站優化是有一定的好處,A5行銷借助百度官方給的建議:比如減少內容死鏈,如果沒有內容,最好通過HTTP狀態碼指定,如404、403等;如果內容死鏈希望重定向到首頁,最好通過302跳轉, 不要使用javascript跳轉。 此時可以發現302重定向對手機站優化是有好處的。
注意:兩種形式的重定向都會將使用者、搜尋引擎發送到新的位置(頁面),但搜尋引擎對待這兩個HTTP狀態碼卻不同。 當搜尋引擎看到301狀態碼的時候,會判斷舊版本頁面將權重或任何其他的指標永久轉移到新頁面。 當搜尋引擎看到302HTTP狀態碼的時候,會假設它不應該將舊頁面的歷史連結跟權重轉移到新的頁面,意思是轉移後還是會轉移回來的。 另外,如果做301永久重定向,會導致搜尋引擎從索引上(百度、谷歌)刪除舊頁面並用新頁面代替。
六、301永久重定向首頁索引檔,如何避免出現迴圈
做優化的站長都應該知道,絕大部分網站的首頁URL都是以HTTP://www.abc.com/index.html的形式表現,但一般都是輸入HTTP://www.admin5.cn/訪問首頁。 而此時首頁出現了兩個的版本的URL,給網站帶來的影響則是分散連結權重。 可能有站長會想到網址正常化。 是的,沒錯,通過網址正常化即可實現一個標準的URL表現形式。
大部分的站長看到這種情況都會通過301永久重定向將HTTP://www.abc.com/index.html重定向到HTTP://www.admin5.cn/上,然後通過301永久重定向修復URL。 但是,如果站長沒有正確的實施301重定向,通常301重定向的問題會擴大,比如出現閉環現象。
預設文件重定向解決方案:
①:將index.php的內容複寫到另外一個檔,比如a.php檔。
②:為文檔目錄創建一個Apache DirectoryIndex 指令,將該品質的目標設置為a.php,不要在全伺服器級別上設置該指令;否則,它可能造成其他仍然需要使用index.php作為目錄索引的資料夾的問題。
③:在文檔根目錄下的.htdaccess檔中放入:DirectoryIndex a.php 或者,如果不使用各個目錄中單獨的上下文檔,可以在.htdaccess中放入以下內容:DirectoryIndex a.php
④:清除原始index.php檔內的內容,插入如下代碼:
總結上述需要注意:這樣的設置讓index.php不再是目錄索引檔,也就是預設檔案名。 它在使用者輸入規範URLHTTP://www.abc.com/時會強制讀取a.php,那麼任何從舊連結到index.php的請求現在都進行了301重定向然後避免無限迴圈。
七、如何實施301重定向
①:虛擬主機
Linux虛擬主機設置301跳轉方法:
在本地新建一個文字檔,最好用的專業的編輯器軟體如EditPlus 將代碼粘入
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]
RewriteRule ^(.*)$ HTTP://www.abc.com/$1 [R=301,L]
說明:上述規則是將網站所以訪問功能變數名稱都重定向到www.abc.com(規則中的功能變數名稱請修改為自己的功能變數名稱),如果僅想將綁定在網站上某個功能變數名稱(如:www.123.com)重定向到www.abc.com,規則如下:
RewriteCond %{HTTP_HOST} ^www.123.com$ [NC]
RewriteRule ^(.*)$ HTTP://www.abc.com/$1 [R=301,L]
如果有多種需求,如abc.com跳轉到www.abc.com qwe.com跳轉到www.qwe.com,規則如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ HTTP://www.abc.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^qwe.com$ [NC]
RewriteRule ^(.*)$ HTTP://www.qwe.com/$1 [R=301,L]
根據自己的需要進行添加修改,然後上傳到伺服器wwwroot目錄,改名為.htaccess即可
win虛擬主機設置301跳轉方法:
手動設置的(沒有自動生成)
1、進入主機控制台,進入ISAPI篩選器設置,點擊"開啟自訂URL靜態化支援"按鈕。
2、待開啟偽靜態功能後,進入FTP檔管理,找到\others\discuz\HTTPd.conf 修改這裡面的規則。
3、示例代碼:
RewriteCond %{HTTP:Host} ^abc.com$
RewriteRule (.*) HTTP://www.abc.com$1 [NC,R=301]
#第一條表示要做跳轉的功能變數名稱,第二條表示要跳轉到的功能變數名稱
#如果有很多功能變數名稱要做跳轉,那麼可以將第一條規則改為
RewriteCond %{HTTP:Host} !^www.abc.com$
這樣,就表示非www.abc.com的功能變數名稱訪問都會跳轉到www.abc.com #多個功能變數名稱做跳轉的第二種方法是,首先複製多個 RewriteCond 項,將功能變數名稱改好 除了最後一項,其餘的 RewriteCond 項最後都要加個參數 [ OR]即可。
注意:現在很多虛擬主機都自帶301的配置,可以在主機控制台上生成代碼資訊,然後按照上面的提示進行301重定向。
②:window獨立服務
Win獨立服務301設置(win2003、win2008):
1、IIS伺服器實現301重定向
打開IIS,右鍵-屬性-網站-IP位址那裡點編輯增加一個網站,然後綁定一下主機頭,也可以綁定更多的閒置功能變數名稱。 如圖所示:
打開IIS,首先新建立一個網站,隨便對應一個目錄E:\wwwroot\301web。 該目錄下只需要2個檔,一個 default.html,一個404.htm。 在欲重定向的網頁或目錄上按右鍵;選中「重定向到URL」;在對話方塊中輸入目標頁面的位址;切記,記得選 中「資源的永久重定向」;當然,最後要點擊「應用」,完成。 如下圖所示:
注意:win2003跟win2008都是使用IIS伺服器,所以301重定向的步驟方法是一樣的。
③:Linux獨立伺服器
Linux獨立伺服器301設置(紅帽企業版、centos):
我用的是紅帽企業版,用的是源碼包裝的Web環境。 然後我進入Linux伺服器,找到apache的主設定檔 HTTPd.conf , 我的apache伺服器下有多個虛擬主機,我找到我要做301重定向的虛擬主機,然後添加如何的代碼(代碼是完整的):
1、進入Linux伺服器,然後找到HTTPd.conf的Apache 主設定檔,下圖紅色框是我所在的完整位置,藍色框是內容,也就是命令pwd現實所在位置,ls查詢當前位置的內容。
既然找到主設定檔了,我們通過命令vi HTTPd.conf 編輯一下,在最後添加如下完整的代碼。 要找到配置的那個虛擬主機然後添加代碼, 不要亂添加。
ServerName www.abc.com
ServerAdmin webmaster@dummy-host.example.com
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
ServerName abc.com
ServerAdmin webmaster@dummy-host.example.com
RewriteEngine on
RewriteRule ^(.*)$ HTTP://www.abc.com$1 [R=301,L]
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
注意:不同形式安裝的apache 其路徑是不同的,有源碼包、有YUM等安裝方式,兩種馬路是不一樣的,建議新手聯繫空間商並實施301重定向。
④:綁定/本地DNS
如果具有對本地DNS記錄進行編輯修改的許可權,則只要添加一個記錄就可以解決此問題。 若無此許可權,則可要求網站託管服務商對DNS伺服器進行相應設置。
⑤:DNS伺服器的設置
若要將blog.abc.com指向www.abc.com,則只需在DNS服務中應增加一個別名記錄,可寫成:blog IN CNAME www.abc.com。
如需配置大量的虛擬功能變數名稱,則可寫成:* IN CNAME www.abc.com.
這樣就可將所有未設置的以abc.com結尾的記錄全部重定向到www.abc.com上。
寫在最後:
上述則是A5行銷整理的301重定向。 總的來說,網站改版可以通過301重定向將舊版本頁面的所有全部傳遞到新版本頁面上,另外則是對URL做正常化。 實施的過程中要注意為什麼要做301重定向、方法的操作、操作的正確度等,為了更好的設置301重定向,A5行銷建議參考以上整理的內容。
A5行銷網站SEO診斷( www.admin5.cn/seo/zhenduan/)服務,為降權網站和優化沒效果的網站,提供最專業的SEO建議,幫您打造一個(百度搜索與使用者都喜歡的網站),保證100%提高網站權重, 無效全額退款。 客服QQ:800017899。 微信:a5yingxiao 交流群:134413448