一:什麼是自動轉向技術(Auto-Redirecting)?
自動轉向,也叫自動重定向。自動跳轉,指當訪問用戶登陸到某網站時,自動將用戶轉向其它網頁地址的一種技術。轉向的網頁地址可以是網站內的其它網頁,也可以是其它網站。
通常情況下,浏覽器會收到一個網頁,該頁面含有自動加載一其它網頁的代碼。該頁面有可能在服務器端被轉換,這樣的話,浏覽器只收到一個頁面,而自動轉向往往意味著浏覽器收到的頁面具有自動將訪問用戶送至其它頁面的功能。
對自動轉向技術的合理應用包括:將用戶轉向到指定浏覽器的網頁版本;當網站的域名變更或刪除後將人們轉向到新域名下,等等。但現在這種技術卻往往被搜索引擎優化人士用來作為提高網站的搜索引擎排名的一種手段。例如,先專門針對搜索引擎做一個高度優化的網頁,也就是我們通常所說的“橋頁”,然後把這個網頁提交給搜索引擎來獲得好的排名。但是,當搜索用戶通過搜索引擎的搜索結果列表點擊該網頁列表進入後,將被自動轉向到一個用戶本來無意去訪問的網站地址。搜索引擎常常認為自動轉向的網頁是對讀者的誤導,所以它會對這種網頁或網站施以懲戒,不過對一些自動轉向方法它目前還無法自動檢測出來。
Meta Refresh Tag自動轉向法
由於搜索引擎能夠讀取HTML,而Meta tags也是HTML,所以對於這種自動轉向法,搜索引擎能夠自動檢測出來。因而無論網站的轉向出於什麼目的,都很容易被搜索引擎視做對讀者的誤導而受到懲罰。不過,如果跳轉延遲時間設置合適,搜索引擎就不會視之為作弊。
頁面定時刷新元標識(Meta Refresh Tag)只能放在HTML代碼的< HEAD>區裡。如下所示:
<meta http-equiv="refresh" content="10; url=http://domain.com/page.htm">
其中的“5”是告訴浏覽器在頁面加載5秒鐘後自動跳轉到page.htm這個頁面。
這種方法常可以在論壇中見到。如果在論壇上發信息,先會看到一個確認頁面,幾秒後會自動重新跳轉回當前的論壇頁面中。
從搜索引擎優化的角度出發,一般不希望自動轉向有延遲。不過,如果是用Meta Refresh標識進行轉向,一定要注意把延遲時間設定成至少10秒以上。
“javascript”自動轉向法
由於不能解析javascript,所以搜索引擎無法察覺(自動檢測到)用javascript腳本進行的自動轉向。javascript自動重定向腳本可以放在網頁的任何位置上,如果要求立即跳轉,則可以將其放入網頁源碼的<head>區內的最上面。用javascript實現跳轉的范例如下:
<script language="javascript"><!--location.replace("pagename.html")
//-->
</script>
其中的“pagename.html”指特定的重定向目標地址,用相對/絕對URL地址均可。
用javascript實現自動重定向的好處在於:用戶所訪問的目標URL不會保留在用戶浏覽器的歷史記錄中,如果用戶按返回按鈕返回,則將回到跳轉前的網頁,而不是包含javascript自動重定向腳本的跳轉頁面,所以不會出現當用戶點擊返回按鈕後返回至重定向頁,然後該頁自動跳轉到用戶本來想離開的那個頁面的尴尬情形。
如果需要,可以把javascript自動重定向腳本存在一個外部文件中,並通過下面的命令行來加載,其中“2005224162733.htm.js”是該外部文件的路徑和文件名:
<script language="javascript" src="2005224162733.htm.js"></script>
注意:若需實現即刻轉向,或不希望人們看到轉向前的那個頁面,一般常用javascript腳本實現。在這種情況下應將javascript腳本放入HTML源碼的<HEAD>區中。
表單(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地址均可。