301跳轉的用處和怎么做




301轉向是用戶或蜘蛛向網(wǎng)站服務器發(fā)出訪問請求時,服務器返回的HTTP數(shù)據(jù)流中頭信息(header)部分狀態(tài)碼的一種,表示本網(wǎng)址永久性轉移到另一個地址。
不過除了301轉向之外,其他方法都有作弊的嫌疑(302跳轉、JS跳轉、Flash跳轉、mate refresh跳轉)。雖然方法本身沒有對錯之分,但被黑帽SEO用多了,搜索引擎對這些可以的轉向都很敏感。
1.301轉向傳遞權重
網(wǎng)頁A用301重定向轉到網(wǎng)頁B,搜索引擎可以肯定網(wǎng)頁A永久性改變地址,或者說實際上不存在了,搜索引擎就會把網(wǎng)頁B當做唯一有效的目標。這是搜索引擎唯一推薦的不會產生懷疑的轉向方法,最重要的是,網(wǎng)頁A累積的頁面權重被傳到網(wǎng)頁B。
做301轉向目前Google會傳遞大部分網(wǎng)址權重,但不是百分之百權重。百度會傳遞所有權重。Google對301的識別、反應、完成權重傳遞,需要1-3個月的時間。百度對301處理則比較保守,新舊URL會同時存在于數(shù)據(jù)庫很長的時間,經(jīng)常看到做了301轉向一年的URL還出現(xiàn)在百度結果中。
2.301轉向怎么做?
如果網(wǎng)址使用LAMO(Linux+Apache+MySQL+PHP)主機,可以使用.htaccess文件做301轉向。.htaccess是一個普通文字文件,用NOtepad等文字編輯軟件創(chuàng)建和編輯,存在網(wǎng)站跟目錄下。.htaccess文件中的指令用于目錄特定操作,如密碼、轉向、錯誤處理、等。
關于帶與不帶WWW的可以在.htaccess文件中放入這個指令:
Options +FollowSymlinks All -Indexes
rewriteEngine on
rewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ http://www.***.com/$1 [R=301,L]
對于.htaccess代碼實現(xiàn)的功能還很多,可惜的是我不是高手。還是到百度一下:.htaccess在線生成器,幫助到你的會更多。
如果網(wǎng)站用的是windows主機,可以在控制面板做301轉向設定。
純靜態(tài)HTML頁面無法做301轉向。在HTML里能做JS或者Meta Refresh轉向,但不能做301轉向。HTML一被讀取,就已經(jīng)返回200 ok代碼了。
如果頁面是ASP或者PHP,還可以做301轉向。
ASP代碼:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.***.com"
Response.Endyourdomain
%>
PHP代碼:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.***.com/");
exit();
3.301轉向的其他用途
除了解決網(wǎng)址規(guī)范化問題,還有很多需要做301轉向的情形。比如,為保護版權,公司擁有不同TLD的多個途徑,集中到一個主域名。
網(wǎng)站改版也經(jīng)常需要用到301轉向,如果頁面刪除、改變地址、URL命名系統(tǒng)改變等。網(wǎng)站改版也經(jīng)常需要用到301轉向,如頁面刪除、改變地址、URL命名系統(tǒng)改變等。動態(tài)URL靜態(tài)化可能要做301,將舊的、動態(tài)的URL做301到新的、靜態(tài)的URL。