301重定向來實現(xiàn)權(quán)重的集中,因為在搜索引擎看來,帶www和不帶www的URL是2個完全不同的URL,當它們指向同一個網(wǎng)站時,會讓搜索引擎不懂應該選擇哪一個URL作為主要的域名。如果你用301重定向把其他幾個URL如xiuzhanwang.com轉(zhuǎn)到mengdiqiu.com.cn時,相應的PR也就集中在主域名:mengdiqiu.com.cn上了。
毫無疑問地,唯一的域名能夠給你帶來更多的好處。不管它是帶www還是不帶www。因為這樣無論用戶還是搜索引擎都會記住你網(wǎng)站的唯一域名。也不會造成權(quán)重的分流。
301永久重定向是在搜索引擎優(yōu)化中很常用的一個域名地址跳轉(zhuǎn)的操作,可以幫助我們轉(zhuǎn)移域名的權(quán)重,但是在做301重定向的時候由于服務器系統(tǒng)、網(wǎng)站程序語言、域名和鏈接地址的不同,使用的方法也不同,這個時候我們就需要根據(jù)具體的網(wǎng)站環(huán)境來制定不同的301重定向方法。
一、什么情況下使用301重定向
在我們講述301永久重定向之前(不明白什么是301永久重定向的博友,可以先看下《什么是301永久重定向》的相關(guān)介紹),首先就要先明白網(wǎng)站在什么情況下才會使用到301永久重定向呢?其目的又是為何呢?
1、為了網(wǎng)址URL的標準化
我們經(jīng)常遇到的就是帶www的域名和不帶www的域名301重定向問題,在未做301重定向之前,無論是用戶或搜索引擎蜘蛛,通過這兩個網(wǎng)址是都能訪問網(wǎng)站的同一個頁面。
對于用戶可能不太在意,因為無論用哪個網(wǎng)址都能訪問到網(wǎng)站頁面,但是對于搜索引擎來說就是2個不同的URL,意味著2個頁面的權(quán)重就要分別計算了,最終結(jié)果就是網(wǎng)站權(quán)重的分散。
2、網(wǎng)站啟用了新域名
由于某些原因網(wǎng)站啟用了新域名,老域名這時候也需要301重定向到新的域名,這樣可以告訴搜索引擎網(wǎng)址啟用了新的網(wǎng)址或者是用戶訪問原來的網(wǎng)址不至于打不開而損失了流量。
我們還關(guān)心的一個問題就是老域名的權(quán)重是否能傳遞?權(quán)重的傳遞是需要一個過程的,一般谷歌的反應比百度迅速,至于權(quán)重是否能夠完全傳遞,馬海祥認為是不會的。
3、網(wǎng)站內(nèi)部結(jié)構(gòu)的調(diào)整
SEO站內(nèi)優(yōu)化中涉及到目錄結(jié)構(gòu)的優(yōu)化,有些目錄網(wǎng)址需要進行301重定向,還有內(nèi)部一些錯誤的頁面也可以做301重定向,提高用戶體驗。
4、當需要刪除網(wǎng)站的某些鏈接時
當出于需要刪除網(wǎng)站中的某些目錄時,比如我要刪除馬海祥博客下的SEO導航,這時就可以用301永久重定向到網(wǎng)站首頁。
二、不同環(huán)境下使用301重定向的方法
對于網(wǎng)站在不同環(huán)境,不同網(wǎng)站后臺程序下,我們又該如何實現(xiàn)我們的301永久重定向呢?具體的方法有以下幾點:
1、在網(wǎng)站代碼中設(shè)置301的方法
(1)、PHP下的301重定向
header("HTTP/1.1 301 Moved Permanently") ; header("Location:http://mengdiqiu.com.cn/"); exit(); |
(2)、ASP下的301重定向
Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://mengdiqiu.com.cn/" Response.End |
(3)、ASP .NET下的301重定向
private void Page_Load(object sender, System.EventArgs e) { Status = "301 Moved Permanently"; AddHeader ("Location","http://www.mahaixiang.cn/); } |
2、用HTML跳轉(zhuǎn)
例如:<META HTTP-EQUIV=REFRESH CONTENT="5;URL=http://mengdiqiu.com.cn/">,表示5秒后自動跳轉(zhuǎn)到秀站網(wǎng)首頁,你也可以把時間設(shè)置的更短,但這樣做也很容易被搜尋引擎容易誤判為spam而遭到懲罰。
3、用javascript跳轉(zhuǎn)
<script language="javascript">location.href='http://mengdiqiu.com.cn/'>
4、利于服務器實現(xiàn)301重定向的方法
(1)、windows主機
在windows主機上,主要是利于IIS服務器實現(xiàn)301重定向具體方法步驟是:
①、打開internet信息服務管理器,在欲重定向的網(wǎng)頁或目錄上按右鍵;
②、選擇"重定向到URL";
③、在"重定向到"輸入框中輸入要跳轉(zhuǎn)到的目標網(wǎng)頁的URL地址;
④、選中"資源的永久重定向"(切記);
⑤、最后點擊"應用"。
(2)、Unix/Linux主機
pache服務器實現(xiàn)301重定向的方法是在.htaccess文件中增加301重定向指令:
Redirect permanent / http://mengdiqiu.com.cn/ (將目錄下內(nèi)容重定向到http://mengdiqiu.com.cn/
Redirect permanent /index.php http://mengdiqiu.com.cn/(將網(wǎng)頁index.php重定向到http://mengdiqiu.com.cn/)
(3)、采用"mod_rewrite"技術(shù)
通過該技術(shù)進行的改變將在.htaccess文件中體現(xiàn)出來,形如:
RewriteEngine on
RewriteRule ^(.*)$ http://mengdiqiu.com.cn/$1 [R=301,L]
或
Options +FollowSymLinks
RewriteEngine on
RewriteCond % ^xiuzhanwang.com
RewriteRule ^(.*)$ http://mengdiqiu.com.cn/$1 [R=permanent,L]
這里,馬海祥再跟大家分享幾種.htaccess文件的其它幾種寫法:
①、重定向xiuzhanwang.com到mengdiqiu.com.cn
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xiuzhanwang.com/$ [NC]
RewriteRule ^(.*)$ http://mengdiqiu.com.cn/$1 [L,R=301]
②、重定向mengdiqiu.com.cn到xiuzhanwang.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mengdiqiu.com.cn$ [NC]
RewriteRule ^(.*)$ http://xiuzhanwang.com/$1 [L,R=301]
③、老域名A指向新域名B
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.a.com$ [NC]
RewriteRule ^(.*)$ http://www.b.com/$1 [L,R=301]
5、綁定/本地DNS
如果具有對本地DNS記錄進行編輯修改的權(quán)限,則只要添加一個記錄就可以解決此問題,若無此權(quán)限,則可要求網(wǎng)站托管服務商對DNS服務器進行相應設(shè)置。
DNS服務器的具體設(shè)置方法:
若要將blog.xiuzhanwang.com指向mengdiqiu.com.cn,則只需在DNS服務中應增加一個別名記錄,可寫成:blog IN CNAME mengdiqiu.com.cn。
如需配置大量的虛擬域名,則可寫成:* IN CNAME mengdiqiu.com.cn.
這樣就可將所有未設(shè)置的以mahaixiang.cn結(jié)尾的記錄全部重定向到mengdiqiu.com.cn上了。
三、轉(zhuǎn)發(fā)和重定向的區(qū)別
一句話,轉(zhuǎn)發(fā)是服務器行為,重定向是客戶端行為。具體來說就是轉(zhuǎn)發(fā)時一次請求,重定向是2次請求,轉(zhuǎn)發(fā)地址欄不會發(fā)生改變,重定向地址欄會改變,轉(zhuǎn)發(fā)在項目內(nèi),重定向可以轉(zhuǎn)到項目外。
當使用轉(zhuǎn)發(fā)時,JSP容器將使用一個內(nèi)部的方法來調(diào)用目標頁面,新的頁面繼續(xù)處理同一個請求,而瀏覽器將不會知道這個過程。
與之相反,重定向方式的含義是第一個頁面通知瀏覽器發(fā)送一個新的頁面請求。
那么,我們該怎么選擇是用重定向?還是用轉(zhuǎn)發(fā)呢?
通常情況下轉(zhuǎn)發(fā)更快,而且能保持request內(nèi)的對象,所以他是第一選擇,但是由于在轉(zhuǎn)發(fā)之后,瀏覽器中URL仍然指向開始頁面,此時如果重載當前頁面,開始頁面將會被重新調(diào)用,如果你不想看到這樣的情況,則選擇轉(zhuǎn)發(fā)。
四、301和302的區(qū)別
301代表永久性轉(zhuǎn)移,301重定向是網(wǎng)頁更改地址后對搜索引擎友好的最好方法,只要不是暫時搬移的情況,馬海祥都建議使用301來做轉(zhuǎn)址。
302代表暫時性轉(zhuǎn)移,只有當一個網(wǎng)站或網(wǎng)頁在24到48小時之內(nèi)臨時移到其它位置的情況下才能使用該命令。能夠?qū)?02重定向具備優(yōu)異處理能力的只有Google,在前些年,不少搞SEO曾廣泛應用這項技術(shù)作弊,但也很容易遭受懲罰。
點評:
目前來說,301永久重定向是搜索引擎認可的一種域名跳轉(zhuǎn)行為,正確的使用301永久重定向?qū)W(wǎng)站的SEO優(yōu)化無任何負面的影響,而且網(wǎng)頁A的關(guān)鍵詞排名和PR級別都會傳達給網(wǎng)頁B,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址,給搜索引擎一個友好的信息,告訴它此頁面已永久重定向,避免搜索引擎找不到頁面。