网站优化之尽量避免重定向(301/302)

重定向会增加http请求的次数,会影响到整个网站的性能,但是必要的重定向又可以提高用户体验,所以我们需要在性能和用户体验之间去权衡,达到最好的目的:下面讲讲php实现301永久重定向和302临时重定向以及怎么去避免重定向:

一、对于许多站点而言,以本站域名baidu.com为例:用户在浏览器中输入网址http://www.baidu.com/或者http://www.baidu.com/index.php,实际上访问的都是本站的首页;用户在浏览器中输入网址http://www.baidu.com/或者http://baidu.com/,访问的依然都是本站的首页。

此外,在某些情况下,我们可能需要将站点中的某个文件移动到一个新的位置或更改该文件的名称。此时,用户可能仍然会输入以前收藏的网址来访问该网页文件,因此,我们需要尽量保证以前的网址和新的网址都能够访问到最新的网页内容。

但是,对于搜索引擎而言,两个路径不同的网址,又没有其他特别的说明,则会被搜索引擎认为这是两个独立的页面,从而进行分别收录。不过,由于两个页面的内容雷同,搜索引擎可能会对上述网址进行降权处理,从而影响SEO的效果。

为了避免给网站的SEO造成不良影响,也为了给用户带来良好的访问体验,我们应该采用一些特别说明来告诉搜索引擎——「它们实际上是同一个页面」。当然,不仅仅是为了SEO,对于一个优秀的站点而言,每一个网页也都应该对应一个唯一的网址。

在这里,我们就需要使用「特别说明」来告诉浏览器或者搜索引擎,「旧的网址和新的网址实际上是同一个网页,建议浏览器或搜索引擎使用新的网址来访问该网页」,这里的「特别说明」就是HTTP重定向。HTTP重定向,简言之,就是当用户浏览器或搜索引擎访问某个旧的网址时,服务器告诉浏览器或搜索引擎,「该网页已经搬家了,新家的地址是……,请使用新地址来访问该网页」。例如,当用户访问网址http://www.baidu.com/index.php时,服务器将告诉浏览器,这个页面应该重定向到http://www.baidu.com/。此时,浏览器或者搜索引擎就会自动跳转到新的网址从而访问网页内容。

HTTP重定向又分为永久重定向(HTTP状态码为301)和临时重定向(HTTP状态码为302)。永久重定向就表示该网址已经搬到到一个永久居住的「新家」,临时重定向就表示该网址搬迁到了一个临时居住的「公寓」。下面,我们就使用php来分别实现302临时重定向和301永久重定向。

二、怎么取避免重定向:

1、在定义链接地址的href属性的时候,尽量使用最完整的、直接的地址。例如

使用www.cnblogs.com 而不是cnblogs.com
使用cn.bing.com 而不是bing.com
使用www.google.com.hk 而不是google.com
使用www.mysite.com/products/ 而不是 www.mysite.com/products
2、在使用Response.Redirect的时候,设置第二个参数为false

考虑是否可用Server.Execute代替
考虑Respone.RedirectPermanent
3、如果涉及到从测试环境到生产环境的迁移,建议通过DNS中的CNAME的机制来定义别名,而不是强制地重定向来实现

时间: 2024-10-04 15:53:47

网站优化之尽量避免重定向(301/302)的相关文章

HTTP 的重定向301,302,303,307(转)

HTTP 的重定向301,302,303,307(转) (2012-12-11 11:55:04) 转载▼ 标签: 杂谈 分类: 网络 301 永久重定向,告诉客户端以后应从新地址访问.302 作为HTTP1.0的标准,以前叫做Moved Temporarily ,现在叫Found. 现在使用只是为了兼容性的处理,包括PHP的默认Location重定向用的也是302.但是HTTP 1.1 有303 和307作为详细的补充,其实是对302的细化303:对于POST请求,它表示请求已经被处理,客户端

我给女朋友讲编程html系列(11)—网页重定向,301重定向,302重定向

虽然以前只在淘宝买东西,不过现在对其他电商也不排斥了,就比如京东吧,今天就以京东为例. 你在浏览器中输入“360buy.com”,看看发生了什么? 另外输入“jingdong.com”,再看看发生了什么?看看网址变了没有? 见证奇迹,请看下图: 不管你输入哪个网址,都会转到这个网址. 这其实叫“重定向”,那么怎么实现网站重定向呢? 任意新建一个网页,如a.html,名字随便叫,只要后缀是.html就行了.输入下面的html代码: <html> <head> <meta htt

网站优化

网站优化要尽量减少服务器HTTP请求次数 YAHOO网页加速的14条优化法则 尽量减少HTTP请求次数 少用location.reload() 使用location.reload() 会刷新页面,刷新页面时页面所有资源(css,js,img等)会重新请求服务器. 建议使用location.href="当前页url" 代替location.reload() ,使用location.href 浏览器会读取本地缓存资源.

301/302的区别 python魔法语法

重定向301/302的区别 301主要应用场景是在域名跳转. 301重定向是永久的重定向,搜索引擎在抓取新的内容的统统是也将旧的网址替换为了重定向之后的网址. 302主要应用场景:比如:未登录的用户访问用户中心时重新定向到登录页面. 302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索引擎认为新的网址是暂时的 魔法语法 在这里列举取值.赋值.with的方法 对象['xx'] 取值,会触发哪个方法 __getattr__,在取值时如果对象中没有这个值

网站优化之301重定向最简单的方法介绍

自己建了一个网站,不加www 和加www 都是同一个页面,但是没有跳转,我们都知道,301重定向是一个对seo优化很友好的一个展示方式.也是一个权重传递的重要方式. 下面我们来说下修改.htaccess文件就可以搞定301重定向的办法,一直觉得这个办法是最好用的.一直在用. FTP 打开.htaccess,在 RewriteCond %{REQUEST_FILENAME} !-f 的上面添加: RewriteCond %{HTTP_HOST} ^yyaaw.com$ [NC] RewriteRu

301重定向与302跳转有什么区别?

301重定向与302跳转有什么区别?   301重定向,也叫"永久性转移",301会把原网页权重转移到重定向目标的网站上面. 302跳转也称为,"临时跳转". 区别 1.使用效果不同 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址.因为服务器返回302代码,搜索引擎认为新的网址只是暂时的. 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址. 2.SEO使用方式不同 在搜索引擎优化中302跳转被众多黑帽SEO优化人

简单网站优化

一.为什么要网站优化 1.1.大型网站的特点 高访问量 同时在线人数多 数据量庞大 数据操作频繁 1.2.网站性能测试指标(用户角度) 日访问量 同时在线人数 最大并发连接数 访问响应时间 1.3.网站性能个体体现 首屏时间:一个网站被浏览器上部,800*600区域充满所需要的时间 网页访问可用性:用户访问网页的成功率. DNS时间:浏览器将地址发送给DNS服务器,DNS服务器根据地址返回IP到浏览器,浏览器得到IP地址,此为DNS时间 建立连接时间:包含DNS时间后,浏览器重到IP地址后,再将

301 302 304

301,302不同之处301 redirect: 301 代表永久性转移(Permanently Moved)    请求一次后,服务器告诉客户端浏览器,永久重定向,下次再请求网页时不再请求远端服务器,客户端浏览器缓存了重定向的目标地址,但是,如果浏览器清空缓存后,浏览器重定向将失效,需要再次请求服务器. 302 redirect: 302 代表暂时性转移(Temporarily Moved )     每次客户端浏览器都需要请求服务器,服务器返回302,客户端浏览器,再根据响应头,请求相应的U

forward和redirect的区别?http状态码301,302分别代表什么?

一.forward和redirect的区别 从地址栏显示来说:forward是服务器内部重定向,客户端浏览器的网址不会发生变化:redirect发生一个状态码,告诉服务器去重新请求那个网址,显示的的新的网址 数据共享:forward使用的是同一个request,可以共享request的数据,redirest不可以 应用场景:forward一般用于用户登录:redirect用于用户注销登录返回主页面或者跳转其他页面 forward效率更高 本质上说:forward转发是服务器上的行为,而redir