共計 2794 個字符,預計需要花費 7 分鐘才能閱讀完成。
自動轉向(Auto-Redirecting),也叫自動重定向。自動跳轉,指當訪問用戶登陸到某網站時,自動將用戶轉向其它網頁地址的一種技術。轉向的網頁地址可以是網站內的其它網頁,也可以是其它網站。通常情況下,瀏覽器會收到一個網頁,該頁面含有自動加載一其它網頁的代碼。該頁面有可能在服務器端被轉換,這樣的話,瀏覽器只收到一個頁面,而自動轉向往往意味著瀏覽器收到的頁面具有自動將訪問用戶送至其它頁面的功能。
對自動轉向技術 (Auto-Redirecting) 的合理應用包括:將用戶轉向到指定瀏覽器的網頁版本;當網站的域名變更或刪除后將人們轉向到新域名下,等等。但現在這種技術卻往往被搜索引擎優化人士用來作為提高網站的搜索引擎排名的一種手段。
例如,先專門針對搜索引擎做一個高度優化的網頁,也就是我們通常所說的“橋頁”,然后把這個網頁提交給搜索引擎來獲得好的排名。但是,當搜索用戶通過搜索引擎的搜索結果列表點擊該網頁列表進入后,將被自動轉向到一個用戶本來無意去訪問的網站地址。搜索引擎常常認為自動轉向的網頁是對讀者的誤導,所以它會對這種網頁或網站施以懲戒,不過對一些自動轉向方法它目前還無法自動檢測出來。
Meta Refresh Tag 自動轉向法
由于搜索引擎能夠讀取 HTML,而 Meta tags 也是 HTML,所以對于這種自動轉向法,搜索引擎能夠自動檢測出來。因而無論網站的轉向出于什么目的,都很容易被搜索引擎視做對讀者的誤導而受到懲罰。不過,如果跳轉延遲時間設置合適,搜索引擎就不會視之為作弊。
頁面定時刷新元標識 (Meta Refresh Tag) 只能放在 HTML 代碼的 < HEAD> 區里。如下所示:
<meta http-equiv="Refresh" content="10;url=http://iseeyu.Com/">
上述 html 代碼中的“10”是延時跳轉的時間,單位是秒。如果設為 0,就表示立即跳轉。“[url]http://iseeyu.Com[/url]”是跳轉的目標地址,可以是同一域名下的站內相對路徑,也可以是不同域名的站外地址。
由于搜索引擎能夠讀取 HTML,所以對于這種自動跳轉方法,搜索引擎是能夠自動檢測出來的。至于會不會被視為作弊,則主要看跳轉時間。如果跳轉時間為 0,就可能會被視為作弊,從而受到懲罰。如果有時間延遲(一般 3 秒以上),就會被視為正常應用。
body onload 自動跳轉法
在網頁加載時通過 onload 事件指定 parent.location 進行自動跳轉。
示例如下:
<body onLoad="parent.location='http://iseeyu.Com'">
這種方法與第一種方法一樣,能夠被搜索引擎識別。
javascript 自動跳轉法
由于不能解析 javascript,所以搜索引擎無法察覺 (自動檢測到) 用 javascript 腳本進行的自動轉向。javascript 自動重定向腳本可以放在網頁的任何位置上,如果要求立即跳轉,則可以將其放入網頁源碼的 <head> 區內的最上面。用 javascript 實現跳轉的范例如下:
<script language="javascript"></script>
其中的“pagename.html”指特定的重定向目標地址,用相對 / 絕對 URL 地址均可。
用 javascript 實現自動重定向的好處在于:用戶所訪問的目標 URL 不會保留在用戶瀏覽器的歷史記錄中,如果用戶按返回按鈕返回,則將回到跳轉前的網頁,而不是包含 javascript 自動重定向腳本的跳轉頁面,所以不會出現當用戶點擊返回按鈕后返回至重定向頁,然后該頁自動跳轉到用戶本來想離開的那個頁面的尷尬情形。
如果需要,可以把 javascript 自動重定向腳本存在一個外部文件中,并通過下面的命令行來加載,其中“filename.js”是該外部文件的路徑和文件名:
<script language="javascript" src="filename.js"></script>
注意:若需實現即刻轉向,或不希望人們看到轉向前的那個頁面,一般常用 javascript 腳本實現。在這種情況下應將 javascript 腳本放入 HTML 源碼的 <HEAD> 區中。
表單自動跳轉法
對于表單大家都很熟悉,就是將表單中填寫的內容,提交到 action 參數中指定的 URL 地址中,目標 URL 再對接收到的數據進行處理。利用這一點,我們可間接的實現網頁跳轉,只不過,我們并不需要提交任何表單內容。再結合 javascript 腳本,可以對表單進行自動提交。
示例如下:
<form name="form1" action=http://iseeyu.Com/index.html method="get">
</form>
<script language="javascript">
document.form1.submit()
</script>
其中 form1 名稱任意,但二處 form1 應該統一。action 中的 URL 地址必須以文件名結尾,例如 –“action=http://iseeyu.Com/”或“action=http://iseeyu.Com/wiki”便是不規范寫法。method 可以是 get 也可以是 post,但提交空表單時最好使用 get。
眾所周知,由于搜索引擎的蜘蛛程序是不會填寫表單的,所以搜索引擎便無法識別通過這種方法實現的網頁自動跳轉。
程序跳轉法
每種程序都有各自的頁面跳轉方法,例如 asp 中使用 response.redirect 來進行跳轉,跳轉范例如下:
response.redirect "http://iseeyu.Com"
它的作用是,asp 程序運行到該行代碼后,會立即跳轉到目標 url 地址中去。
在 asp 中,除了使用 response.redirect 做跳轉外,還有一個跳轉方法,用 server.transfer 進行跳轉,跳轉范例如下:
response.redirect "/yule/tietu/index.html"
注意,這里的 url 地址,必須是站內地址,且 url 地址必須以文件名結尾,例如 response.redirect “/yule/tietu/” 便是錯誤用法。
response.redirect 和 server.transfer 都能實現網頁自動跳轉,但二者也有不同之處,前者可以跳轉到站內 URL,也可以跳轉到站外 URL,而后者只能跳轉到站內文件,且瀏覽器地址欄的 URL 將保持不變。
使用 response.redirect 跳轉雖然是在服務器端完成跳轉的,但它最終是轉換成 html 后在客戶端執行的,因此,也能被搜索引擎識別,過多的使用亦會被當作作弊處理。
如果是在同一網站內部的不同網頁間跳轉,建議使用 server.transfer 跳轉,server.transfer 肯定不會被搜索引擎視為作弊。
丸趣 TV 網 – 提供最優質的資源集合!