当前位置:首页 > SEO网站优化 > 正文

SEO技术之html网页页面跳转选择及选择原理_详解做SEO选择301跳转缘由

发布时间:2016-09-03作者:张安林阅读:1866
现在做网站的门槛越来越低,很多个人都有了自己的网站,比如作者。既然大家都是来做SEO的,那么如果网页需要做跳转,什么时候选择什么样的跳转,还是知其所以然比较好。
SEO跳转
在技术上,常见的跳转主要有三种:
1、服务器跳转(301、302)
2、脚本跳转(js)
3、html头信息跳转(meta)
如果是做SEO,我们一般都选择第一种,即服务器跳转。下面来说说这三种跳转之间的差异,以及搜索引擎为什么要我们选择第一种。

要说明第一种,那就需要先说下面两种:
脚本跳转(以js跳转为例)
在过去,这种跳转应用是最广泛的,因为其应用简单,代码也好控制。但对于搜索引擎来说,最大的问题在于它无法识别大多数js内容(现在搜索引擎已经能识别部分原生js,诸如document.write之类),所以如果有js跳转,搜索引擎又无法识别,跳转的目的地是哪里,搜索引擎是不知道的。而且在搜索引擎看来,这个页面根本就不存在跳转,原因很简单,因为不认识js,所以也无法执行js的内容。对于我们做SEO来说,js跳转是大忌,重要的跳转都不要用这个方法。
js的运行必须依赖浏览器(一旦运行功能强大,能做几乎所有的事情),蜘蛛只是获取了页面的html代码,为了防止被注入等各种风险,搜索引擎对待js是很小心的。比如大家看百度的网页快照,原网页加的js代码是不是全部都被删掉了?

html头信息跳转(以meta refresh为例)
先看一个例子:
<meta http-equiv="refresh" content="5; url=http://www.zhanganlin.com/" />
这个meta信息,意思是在当前页面等待5秒后,跳转到http://www.zhanganlin.com/ 页面去。如果后面没有网址,那就是刷新。
这个刷新/跳转,其实搜索引擎应该是能够识别和理解的,因为结构简单,意思明白,没有什么函数,相对信息固定。那么,搜索引擎为什么也不建议这种跳转呢?原因大概如下:
1、与js类似,这个跳转和js跳转,在跳转代码执行之前,必须整个页面的html dom加载完整才可以跳转,没办法,浏览器的处理规则就是这里,离开了浏览器,跳转是无效的。因为要加载完html dom,加上网速的影响,用户肯定可以短时间内看到部分跳转前的内容。
2、这个页面里面依然可以写js内容,既然有js存在,那就可以通过js来控制meta属性和内容,改变一些跳转规则。而搜索引擎刚好又看不懂js,这就会造成搜索引擎理解的跳转目的页面和用户看到的可能存在不一致的情况,给作弊留下了可乘之机。
上面两种,他们的共同点都是跳转必须依赖浏览器,这种跳转我们称之为客户端跳转。在搜索引擎看来都是不支持的。所以接下来我们就说说服务器跳转。

服务器跳转(常见的301、302跳转)
与上面的客户端跳转相对,服务器跳转跟用户的浏览器是没关系的,也就是你不管用什么浏览器,该跳转的时候都会跳转的。该跳转控制发生在服务器端,不在用户端。因此,对搜索引擎而言,它们的好处主要有:
1、跳转信息可读
当用户或搜索引擎访问网页时,服务器端会返回一个header信息,里面有location网址和跳转状态码。
这个跳转是立马进行的,几乎没有时间延迟,所以中间不存在加载内容的可能性,自然也就排除了作弊的可能性了。可能有的人说通过useragent作弊,那个话题暂不在本次讨论范围内。因为不需要加载内容,所以跳转前的页面是无需制作对应内容的。
2、跳转含义理解简单清晰
不是301跳转就是302跳转,301跳转其实就是在302跳转的基础上多一行代码,声明是个永久跳转。所以我们选择跳转的时候,要考虑到这个链接以后会不会产生不一样的内容工用户阅读,如果不会用就选301跳转,否则还是要选302跳转哦。比如根据ip返回对应的城市站,这种的就要选302跳转哦。因为返回的状态码明确,搜索引擎自然知道这个链接你是不是只是临时跳转了。
http状态码是国际规定,形式固定,含义明确,对搜索引擎来说,这是最好理解的了。
3、可以有效减少作弊
服务器跳转,由于中间不需要任何内容(实际上也不会有任何内容)输出,那么作弊的范围就会缩小很多,加上搜索引擎对301、302的跳转考核周期较长,这种作弊手法时间成本太高。出现意外的因素少了,自然判断也就更简单了。
4、跳转速度最快
前面两种跳转,都必须加载完所有html dom,并且在浏览器里面才能跳转,加载那些代码是要网速的,而服务器跳转不存在这些,只需要一个http头信息即可,速度可谓极速。在用户体验方面,也是最佳的。

因此,搜索引擎说,我要服务器跳转,不要客户端跳转。

搜索引擎毕竟是机器,它们获取内容的方式是通过代码。所以如果我们要做好搜索引擎优化,那么最好能够明白它的运行原理,在此基础上做出来的优化才真正符合搜索引擎的胃口。
可能有的朋友说,那么多网站用的js跳转,不也没事吗?
其实这个问题的答案很简单,js做为一门前端语言,广受欢迎和好评,这么好的一门语言怎么可能因为搜索引擎就不用了呢?所以我们要做的是,哪些事情该用什么方法,既能实现功能,又能兼顾搜索引擎的感受。搜索引擎能够包容一些错误,但并不是对人人都那么包容,在你被它信任之前,还是不犯错的好。当然,更好的则是永远不犯错误。
本文为张安林原创,转载请注明出处 http://www.zhanganlin.com/seo/5
SEO网站优化
建站技术
网站运营