过了一段时间,网站觉得域名不理想,想改域名,但又担心改了之后权重会消失。大家一定知道,301重定向可以解决这些问题,但是301重定向的操作方法不一样。不知道改域名后有什么方法可以集中权重或者平滑转移权重。以下CRAZYSEO工程师对常用的301重定向方法做了全面总结,供大家参考。首先,我们需要知道什么是301重定向。301重定向是当用户或搜索引擎蜘蛛向网站服务器发送访问请求时,服务返回的HTTP数据流中报头信息的状态码之一,表示网站地址被永久转移到另一个地址。其他常见状态码包括:200;404;302;500 。除了301转,还有其他方式转网站,比如302转,JavaScript转,PHP/ASP/CGI程序转,Meta Refresh等等。301重定向在搜索引擎优化中起着不可替代的作用。使用301重定向巩固标准版的URL,重新获得权重,防止搜索结果内容重复。从搜索引擎优化的角度来看,301重定向是最可行的网站重定向方式。
其次,我们需要知道什么时候使用301重定向。网站改版往往需要301重定向:比如网站更改域名,更改网页的目录结构,将网页移动到新地址,更改网页的扩展名,比如更改。php到。html。在这种情况下,如果不做重定向,用户收藏夹或搜索引擎数据库中的旧地址只能让来访客户得到一条404页的错误消息,访问流量白白损失。
使用301重定向不仅可以使页面自动跳转,还可以告诉用户你已经更改了新的网址。同时也告诉搜索引擎,这才是真正的网站。搜索引擎只对重定向后的新网站进行索引,同时将旧地址的权重转移到新地址,这样网站的排名就不会受到网站变化的影响。一个网站注册了多个域名,访问这些域名的用户需要通过301重定向自动跳转到其中一个主域名。这样做是为了避免因复制大量内容而受到搜索引擎的惩罚。因为在搜索引擎看来,每个域名都是一个独立的站,如果多个域名指向同一个站,就会被认为是站点相似,内容被复制,但不计入沙盒期,直接被搜索引擎屏蔽。
301重定向也需要标准化的网址
假设有以下网站:
http://www.abc.com/index.html
http://abc.com
http://abc.com/index.html
做301重定向到http://www.abc.com,搜索引擎会知道http://www.abc.com是一个标准化网站,会把上面列出的网站的权重转移到标准化网站。
目前谷歌会转嫁大部分权重,但不是100%。百度会通过所有权重。Google需要1 ~ 3个月的时间来识别和反应301,完成权转移。百度对301的处理比较保守,新旧URL都会长期存在于数据库中。
让我们看看Apache服务器是如何实现301重定向的
如果网站使用LAMP主机,可以通过Apache的mod_rewrite重写或者重定向URL。需要以下步骤:
A.首先,确保mod_rewrite函数已打开。用文本编辑器打开Apache安装目录confhttpd.conf,找到" # load module rewrite _ modules/mod _ rewrite . so "行,去掉前面的" # "。查找“AllowOverride None”,并将其更改为“AllowOverride All”。然后,重启Apache。
B.将一个. htaccess文件放在需要URL重定向的网站根目录下。文件名是。htaccess,不能直接在Windows下创建。可以保存为记事本。
C.通过中的正则表达式重定向到所需页面。htaccess。
将没有www的顶级域名301重定向到有www的域名
选项+跟随符号链接
重写引擎打开
重写第%{HTTP_HOST} ^abc.com
重写器^$·http://www.abc.com/
将301页重定向到另一页
选项+跟随符号链接
重写引擎打开
重写规则^/oldpage.html$/新网页
接下来我们来看看在IIS服务器下设置301重定向的方法
例子:从abc.com跳到www.abc.com
A.用相应的目录(如d:site)创建一个新站点。本站点主要用于车削,目录可以空不用任何文件。然后绑定域名abc.com跳转到这个站点,如图1所示。
B.选择我们刚刚在IIS中创建的站点,右键单击,属性,主目录,选择重定向到,并输入另一个与www.abc.com域名绑定的网站地址。输入的地址是:
Http://www.abc.com$S$Q,注意选择下面两个选项:“资源永久重定向选项”和“上面输入的确切URL”。参见图2。
对于$S$Q字符,请在此解释:$S将请求的网址的后缀传递给新的网址。后缀是原URL被重定向URL替换后的保留部分。如果未选择“上面输入的确切网址”选项,则结果目标网址的名称将包含所请求文件的名称和文件名本身。
$Q将初始URL中的参数传递给新URL,包括问号。如果没有添加$S$Q字符,内页的301会跳转到第一页。添加$S$Q字符的目的是为了内页也能准确跳转到新域名对应的内页。好了,这就完成了301永久重定向的设置。设置后,最好测试301重定向是否成功。站长工具的HTTP状态工具可以找到。如果返回的状态是301,说明你成功了。
除了以上方法,我们还可以使用ISAPI_Rewrite实现IIS的301重定向。ISAPI_Rewrite是一个针对IIS的第三方URL重写组件。它基于正则表达式,类似Apache mod _ rewrite函数,不仅可以重写URL,还可以重定向301。ISAPI_Rewrite组件有免费版和商业版。免费版只支持全局httpd.conf配置,不能为每个站点单独设置。但是商业版允许每个站点自定义URL重写规则,只要将httpd.ini放在站点根目录下就可以生效。使用ISAPI_Rewrite 2.x或最新版本3.0,早期版本1.x不支持301重定向。
例子如下:
A.将没有www的顶级域名301重定向到有www的域名
# isapi _ rewrite version 2.x
# 3600 = 1小时
CacheClockRate 3600
重复限制32
第二次主持人:^abc.com.com$
重写规则http://www.abc.com
# isapi _重写版本3.0
# 3600 = 1小时
CacheClockRate 3600
重复限制32
重写第%{HTTP:Host} ^abc.com.com$
重写规则http://www.abc.com
B.301在不同域名之间切换
# isapi _ rewrite version 2.x
# 3600 = 1小时
CacheClockRate 3600
重复限制32
第二次主持人^www.test10000.com$
重写规则http://www.abc.com
# isapi _重写版本3.0
# 3600 = 1小时
CacheClockRate 3600
重复限制32
重写第% { http:host } ^www.test10000.com$
重写规则http://www.abc.com
C.将301页重定向到另一页
# isapi _ rewrite version 2.x
# 3600 = 1小时
CacheClockRate 3600
重复限制32
重写规则^/oldpage.html$/新网页
# isapi _重写版本3.0
# 3600 = 1小时
CacheClockRate 3600
重复限制32
重写规则^/oldpage.html$/新网页
301重定向也可以在网页守护进程中实现。如果页面是ASP/PHP/JSP/ASP。NET,可以在后台代码中做301重定向。但是CRAZYSEO工程师不建议这样,因为在服务器上做301跳转在你的页面执行之前就开始跳转了,效率高。但是要在程序代码里做301,每页页眉加翻页代码比较麻烦。
例子如下
A.PHP治下的301重定向
B.ASP治下的301重定向
C.ASP治下的301重定向。网
私有无效页面加载
{
回应。Status = "301永久移动";
回应。AddHeader
}
D.JSP治下的301重定向
提示:如果返回头中只有Location,但没有明确提到状态码,则表示302临时重定向。请记住。例如,以下是全部302个重定向:
PHP下的302重定向
Asp下的302重定向
ASP.NET 302重定向
私有无效页面加载
{
回应。重定向;
}
JSP下的302重定向
总结:301重定向是搜索引擎最友好的URL转向方式之一。在众多重定向技术中,301永久重定向是最安全的方式,也是理想的解决方案。301重定向对于URL的永久改变和URL多种格式的标准化是必不可少的。
需要注意的是,301重定向一般需要3-6个月甚至更长时间才能生效,这主要是根据网站的实际情况决定的。一般来说,内容越大,网站301重定向的有效期越长。在这个过程中,记住一旦执行301重定向操作,就不要来回切换。