自動轉向技術(Auto-Redirecting)及301重新導向對SEO的影響 實現方法(整理修改)
我在網上找的,但原來的文章有不少錯誤,有的地方也不夠詳細,我已經進行了修正,補充
:mad: 不知道自己為什麼還沒落伍?
自動轉向技術的實現請參考
一:什麼是自動轉向技術(Auto-Redirecting)?
自動轉向,也叫自動重新導向。自動跳轉,指當訪問使用者登陸到某網站時,自動將使用者轉向其它網頁地址的一種技術。轉向的網頁地址可以
是網站內的其它網頁,也可以是其它網站。
通常情況下,瀏覽器會收到一個網頁,該頁面含有自動載入一其它網頁的代碼。該頁面有可能在伺服器端被轉換,這樣的話,瀏覽器只收
到一個頁面,而自動轉嚮往往意味著瀏覽器收到的頁面具有自動將訪問使用者送至其它頁面的功能。
對自動轉向技術的合理應用程式套件括:將使用者轉向到指定瀏覽器的網頁版本;當網站的網域名稱變更或刪除後將人們轉向到新網域名稱下,等等。但現
在這種技術卻往往被搜尋引擎最佳化人士用來作為提高網站的搜尋引擎排名的一種手段。例如,先專門針對搜尋引擎做一個高度最佳化的網頁,也
就是我們通常所說的“橋頁”,然後把這個網頁提交給搜尋引擎來獲得好的排名。但是,當搜尋使用者通過搜尋引擎的搜尋結果列表點擊該網頁
列表進入後,將被自動轉向到一個使用者本來無意去訪問的網站地址。搜尋引擎常常認為自動轉向的網頁是對讀者的誤導,所以它會對這種網頁
或網站施以懲戒,不過對一些自動轉向方法它目前還無法自動檢測出來。
1、Meta Refresh Tag自動轉向法
由於搜尋引擎能夠讀取HTML,而Meta tags也是HTML,所以對於這種自動轉向法,搜尋引擎能夠自動檢測出來。因而無論網站的轉向出於什
麼目的,都很容易被搜尋引擎視做對讀者的誤導而受到懲罰。不過,如果跳轉延遲時間設定合適,搜尋引擎就不會視之為作弊。
頁面定時重新整理元標識(Meta Refresh Tag)只能放在HTML代碼的< HEAD>區裡。如下所示:
<meta http-equiv="refresh" content="10; url=http://www.baidu.com">
其中的“10”是告訴瀏覽器在頁面載入10秒鐘後自動跳轉到baidu。
這種方法常可以在論壇中見到。如果在論壇上發資訊,先會看到一個確認頁面,幾秒後會自動重新跳回當前的論壇頁面中。
從搜尋引擎最佳化的角度出發,一般不希望自動轉向有延遲。不過,如果是用Meta Refresh標識進行轉向,一定要注意把延遲時間設定成至
少10秒以上。
2、“javascript”自動轉向法
由於不能解析javascript,所以搜尋引擎無法察覺(自動檢測到)用javascript指令碼進行的自動轉向。javascript自動重新導向指令碼可以放在
網頁的任何位置上,如果要求立即跳轉,則可以將其放入網頁源碼的<head>區內的最上面。用javascript實現跳轉的範例如下:
<script language="javascript">
location.replace("http://www.baidu.com")
</script>
其中的http://www.baidu.com”指特定的重新導向目標地址,用相對/絕對URL地址(加絕對位址一定加http://)。
用javascript實現自動重新導向的好處在於:使用者所訪問的目標URL不會保留在使用者瀏覽器的記錄中,如果使用者按返回按鈕返回,則將回
到跳轉前的網頁,而不是包含javascript自動重新導向指令碼的跳轉頁面,所以不會出現當使用者點擊返回按鈕後返回至重新導向頁,然後該頁自動跳
轉到使用者本來想離開的那個頁面的尷尬情形。
如果需要,可以把javascript自動重新導向指令碼存在一個外部檔案中,並通過下面的命令列來載入,其中“1.js”是該外部檔案的路徑和文
件名:
<script language="javascript" src="1.js"></script>
js檔案的做法,把 <script language="javascript">
location.replace("http://www.baidu.com")
</script>轉換成js代碼,如果自己不會編,可以用把代碼從 Html 格式轉化為 Js 格式(http://tool.chinaz.com/Trans/Html_Js.asp)工具,
轉換後為 document.writeln("<script language=/"javascript/">");
document.writeln("location.replace(/"http:////www.baidu.com/")");
document.writeln("<//script> "); 把這段代碼存為js檔案即可。
注意:若需實現即刻轉向,或不希望人們看到轉向前的那個頁面,一般常用javascript指令碼實現。在這種情況下應將javascript指令碼放入
HTML源碼的<HEAD>區中。
3、表單(FORM)自動轉向法(這種方法我沒有實驗成功,有興趣的朋友可以摸索一下)
搜尋引擎的“爬行”程式是不會填寫表單的,所以它們也不會注意到提交表單,因而可以利用表單來實現自動轉向(重新導向)而不讓搜尋引
擎察覺。
對於表單,人們往往很少意識到:表單的Action參數中包含的URL地址其實正是瀏覽器向伺服器所請求的URL。瀏覽器將會通過向請求的URL地址
增加一些格式為name=value的參數給予它以特殊的對待。在什麼都沒有的情況下,瀏覽器仍舊會為該URL安排請求至伺服器。
用javascript指令碼可讓頁面開始載入時即提交表單。下面是一個用javascript實現表單自動認可,以及提交表單的範例:
<script language="javascript"><!--document.myform.submit()
//-->
</script>
<form name="myform" action="pagename.html" method="get"></form>
其中“myform”可以是任意名稱,“pagename.html”用相對/絕對URL地址均可。
小結
如果訪問使用者最終看到的是他們想看到的,那麼在搜尋引擎最佳化中使用自動轉向技術並沒有什麼不對,也並不是什麼不道德的行為。但有
些人往往會在利用“自動跳轉”技術,利用“橋頁”吸引訪問者,然後把他們送到他們無意瀏覽的頁面或網站,這種做法只會引起訪問使用者的
反感,又怎麼能夠期望訪問流量可以有效轉化為最終客戶呢?
301重新導向對SEO的影響 實現方法
在我們的網站建設中,時常會遇到需要網頁重新導向的情況:象網站調整,如改變網頁目錄結構,網頁被移到一個新地址,再或者,網頁擴充
名改變,如因應用需要把.php改成.Html或.shtml,在這種情況下,如果不做重新導向,則使用者收藏夾或搜尋引擎資料庫中舊地址只能讓訪問客戶
還會得到一個404分頁錯誤資訊,訪問流量白白喪失;再如某些註冊了多個網域名稱的網站,也需要通過重新導向讓訪問這些網域名稱的使用者自動跳轉到主
網站,等等。
頁面永久性移走(301重新導向)是一種非常重要的“自動轉向”技術。
301重新導向可促進搜尋引擎最佳化效果
從搜尋引擎最佳化角度出發,301重新導向是網址重新導向最為可行的一種辦法。當網站的網域名稱發生變更後,搜尋引擎只對新網址進行索引,同時
又會把舊地址下原有的外部連結如數轉移到新地址下,從而不會讓網站的排名因為網址變更而收到絲毫影響。同樣,在使用301永久性重新導向命
令讓多個網域名稱指向網站主域時,亦不會對網站的排名產生任何負面影響。
302重新導向可影響搜尋引擎最佳化效果
迄今為止,能夠對302重新導向具備優異處理能力的只有Google。也就是說,在網站使用302重新導向命令將其它網域名稱指向主域時,只有Google
會把其它網域名稱的連結成績計入主域,而其它搜尋引擎只會把連結成績向多個網域名稱分攤,從而削弱主站的連結總量。既然作為網站排名關鍵因素
之一的外鏈數量受到了影響,網站排名降低也是很自然的事情了。
綜上所述,在眾多重新導向技術中,301永久性重新導向是最為安全的一種途徑,也是極為理想的一款解決方案。
對於正確實施301重新導向,有這樣幾個方法可供大家參考:
IIS伺服器實現301重新導向
* 開啟internet資訊服務管理器,在欲重新導向的網頁或目錄上按右鍵,見
* 選中“重新導向到URL”
* 在對話方塊中輸入目標頁面的地址
* 切記,記得選中“資源的永久重新導向”
* 當然,最後要點擊“應用”
[url=454]454[/url]
Apache伺服器實現301重新導向
相比較來說,Apache實現起來要比IIS簡單多了。在Apache中,有個很重要的檔案.htaccess,通過對它的設定,可以實現很多強大的功能,301重新導向只是其中之一。
以下是原代碼引用:
Redirect seo /http://www.***.net/ ;將目錄下內容重新導向http://www.***.net/
redirect permanent /old.htmlhttp://www.***.net/new/ ;將網頁old.html內容重新導向http://www.***.net/new/
[複製到剪下板]
通過合理地配置重新導向參數中的Regex,可以實現更複雜的匹配。有興趣的朋友可參考Apache手冊。
其他方法還有:
PHP下的301重新導向
以下是原代碼引用:
<? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location:http://***.com" );?>
[複製到剪下板]
ASP下的301重新導向
以下是原代碼引用:
<%@ Language=VBScript %>
<% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ”http://***.com”>
[複製到剪下板]
ASP .NET下的301重新導向
以下是原代碼引用:
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,http://***.com”);
}
</script>
[複製到剪下板]
配置完成後,要認真檢查一下是否正確