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