网页跳转方法对SEO的影响
自动转向(Auto-Redirecting),也叫自动重定向。自动跳转,指当访问用户登陆到某网站时,自动将用户转向其它网页地址的一种技术。转向的网页地址可以是网站内的其它网页,也可以是其它网站。通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码。该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能。
对自动转向技术(Auto-Redirecting)的合理应用包括:将用户转向到指定浏览器的网页版本;当网站的域名变更或删除后将人们转向到新域名下,等等。但现在这种技术却往往被搜索引擎优化人士用来作为提高网站的搜索引擎排名的一种手段。
例如,先专门针对搜索引擎做一个高度优化的网页,也就是我们通常所说的“桥页”,然后把这个网页提交给搜索引擎来获得好的排名。但是,当搜索用户通过搜索引擎的搜索结果列表点击该网页列表进入后,将被自动转向到一个用户本来无意去访问的网站地址。搜索引擎常常认为自动转向的网页是对读者的误导,所以它会对这种网页或网站施以惩戒,不过对一些自动转向方法它目前还无法自动检测出来。
5种常见网页自动跳转方法以及其对SEO的影响[ ]
Meta Refresh Tag自动转向法[ ]
由于搜索引擎能够读取HTML,而Meta tags也是HTML,所以对于这种自动转向法,搜索引擎能够自动检测出来。因而无论网站的转向出于什么目的,都很容易被搜索引擎视做对读者的误导而受到惩罚。不过,如果跳转延迟时间设置合适,搜索引擎就不会视之为作弊。
页面定时刷新元标识(Meta Refresh Tag)只能放在HTML代码的< HEAD>区里。如下所示:
<meta http-equiv="Refresh" content="10;url=http://zzbaike.Com/">
上述html代码中的“10”是延时跳转的时间,单位是秒。如果设为0,就表示立即跳转。“[url]http://zzbaike.Com[/url]”是跳转的目标地址,可以是同一域名下的站内相对路径,也可以是不同域名的站外地址。
由于搜索引擎能够读取HTML,所以对于这种自动跳转方法,搜索引擎是能够自动检测出来的。至于会不会被视为作弊,则主要看跳转时间。如果跳转时间为0,就可能会被视为作弊,从而受到惩罚。如果有时间延迟(一般3秒以上),就会被视为正常应用。
body onload自动跳转法[ ]
在网页加载时通过onload事件指定parent.location进行自动跳转。
示例如下:
<body onLoad="parent.location='http://zzbaike.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://zzbaike.Com/index.html method="get"> </form> <script language="javascript"> document.form1.submit() </script>
其中form1名称任意,但二处form1应该统一。action中的URL地址必须以文件名结尾,例如--“action=http://zzbaike.Com/”或“action=http://zzbaike.Com/wiki”便是不规范写法。method可以是get也可以是post,但提交空表单时最好使用get。
众所周知,由于搜索引擎的蜘蛛程序是不会填写表单的,所以搜索引擎便无法识别通过这种方法实现的网页自动跳转。
程序跳转法[ ]
每种程序都有各自的页面跳转方法,例如asp中使用response.redirect 来进行跳转,跳转范例如下:
response.redirect "http://XFBBS.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肯定不会被搜索引擎视为作弊。