GG资源网

搜索引擎优化之域名301重定向完整攻略(301重定向在网站优化中的应用)

搜索引擎优化之域名301重定向完整攻略

在SEO过程中我们会遇到这样的问题:想同时将几个域名都绑定到服务器,但是又怕权重分散。网站做了一段时间后觉得域名不够理想,想更换域名,却又担心更换后权重消失。大家也一定了解到能通过301重定向解决这些问题,但是301重定向的操作方法却又重说纷纭,我们不知道到底使用怎么样的方法才能让权重集中或者在更换域名后让权重顺利的转移过来。下面CRAZYSEO工程师将常用的301重定向方法做了全面的总结,供大家参考。

首先我们需要了解什么是301重定向。301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。其他常见的状态码还包括: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 是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。

目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1~3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间。

下来我们来看Apache服务器实现301重定向的方法

如果网站使用LAMP(Linux + Apache + MySQL + PHP)主机,可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:

A.首先确保开启了mod_rewrite功能。用文本编辑器打开Apache安装目录\\conf\\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”这行,去掉前面的“#”。继续查找“AllowOverride None”,修改为“AllowOverride All”。然后,重启Apache即可。

B.在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用记事本另存为。

C.在.htaccess中通过正则表达式重定向到需要的页面。

将不带www的顶级域名301重定向到带www的域名

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^abc.com [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]

将页面301重定向到另外一个页面

Options +FollowSymLinks

RewriteEngine On

RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301]

接着我们来看IIS服务器下做301重定向设置方法

示例:将abc.com 跳转到 www.abc.com

A.新建一个站点,对应目录如d:\\site。该站点主要用于转向,目录可以是空的,不需要任何文件。然后为该站点绑定要跳转的域名abc.com,如图1。

图1  设置301转向

B.在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入另一个绑定好 www.abc.com 域名的网站地址(这个网站下存放有网站内容)。输入的地址是:

http://www.abc.com$S$Q,同时注意选中下面的\"资源的永久重定向选项\" 和 “上面输入的准确URL” 这2个选项。如图2。

图2  设置301转向

对于$S$Q字符,这里解释一下:$S 将请求的URL的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。如果未选中 \"上面输入的准确URL\" 选项,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

$Q 将初始URL中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。如果不加上 $S$Q 字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。好了,这样就完成了301永久重定向的设置,设置好之后最好能测试一下301重定向是否成功。站长工具的HTTP状态工具(http://tool.chinaz.com/pagestatus/)即可查到,如果查到的返回状态是301就说明你已经成功了。

除了上面的方法我们还可以使用ISAPI_Rewrite实现IIS的301重定向。ISAPI_Rewrite是用于IIS的第三方URL重写组件。它是基于正则表达式的,类似Apache mod_rewrite功能,不仅可以实现URL重写,还可以实现301重定向。ISAPI_Rewrite组件有免费版(Lite)以及商业版(Full),免费版只支持全局httpd.conf 配置,不能对每个站点进行单独设置,而商业版可以让每个站点自定义URL重写规则,只要将httpd.ini 放在站点根目录下就能生效。请使用 ISAPI_Rewrite 2.x 或者 最新的3.0 版本(它兼容Apache的mod_rewrite的语法),而较早的1.x 版本不支持301重定向功能。

下面给出示例:

A. 将不带www的顶级域名301重定向到带www的域名

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^abc.com\\.com$

RewriteRule (.*) http://www.abc.com$1 [I,RP]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^abc.com\\.com$

RewriteRule (.*) http://www.abc.com$1 [NC,R=301]

B.不同域名之间的301转向

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host ^www\\.test10000\\.com$

RewriteRule (.*) http://www.abc.com$1 [I,RP]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^www\\.test10000\\.com$

RewriteRule (.*) http://www.abc.com$1 [NC,R=301]

C. 将页面301重定向到另外一个页面

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$ /newpage.html[I,O,RP,L]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301,O]

网页后台程序中也可以实现301重定向。如果页面是ASP/PHP/JSP/ASP.NET 可以再后台代码中做301重定向。但是CRAZYSEO工程师不推荐这样,因为在服务器上做301跳转是在你的页面执行之前就开始跳转,效率高。而程序代码中做301,要为每个页面头部加转向代码,比较麻烦。

示例如下

A.PHP下的301重定向

<?

Header(\"HTTP/1.1 301 Moved Permanently\");

Header(\"Location: http://www.abc.com\");

?>

B.ASP下的301重定向

<%@ Language=VBScript %>

<%

Response.Status = \"301 Moved Permanently\"

Response.AddHeader \"Location\", \"http://www.abc.com\"

%>

C.ASP .NET下的301重定向

<script runat=\"server\">

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = \"301 Moved Permanently\";

Response.AddHeader (\"Location\", \"http://www.abc.com\");

}

</script>

D.JSP下的301重定向

<%

response.setStatus(301);

response.setHeader(\"Location\", \"http://www.abc.com\");

response.setHeader(\"Connection\", \"close\");

%>

tips:如果返回报头中只有Location,但没有明确提到状态代码时,就意味着一个302临时重定向。请谨记于心。例如下面都是302重定向:

PHP 下的302重定向

<?

php header(\"Location: http://www.abc.com\");

?>

Asp 下的302重定向

<%

Response.Redirect \"http://www.abc.com/\"

%>

ASP.NET 302重定向

<script runat=\"server\">

private void Page_Load(object sender, System.EventArgs e)

{

Response.Redirect(\"http://www.abc.com\");

}

</script>

JSP 下的302重定向

<%

response.sendRedirect(\"http://www.abc.com\");

%>

总结:301重定向是一种对搜索引擎最友好的网址转向方法。在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。无论是URL永久性改变,还是多种格式URL规范化都离不开301重定向。

需要值得注意的是,301重定向一般需要3-6个月甚至更长的时间才能生效,这个主要根据网站的实际情况来决定,一般来说,内容越大的网站301重定向生效的周期越长。大家在这个过程中切记一旦执行了301重定向操作就不要往复不定。

301重定向在网站优化中的应用

URL是搜索引擎获取网站的入口。URL的长度和复杂性将影响网站的爬行和包含,以及网站的排名。如何优化URL和301重定向,方便搜索引擎快速抓取和包含?

就像youbangyun.com和www.youbangyun.com,无论打开哪个URL,打开的网页内容都是相同的,但在搜索引擎算法中,这是两个不同的网页。如果不做域名,主域名的权重会分配给其他域名,这是站长需要注意的。

由于这是搜索引擎眼中不同的页面,搜索引擎会在排名中选择一个作为排名对象,并根据一定的原则选择哪一个,比如哪个域名权重高,哪个排名好;对于内部链接和外部链接,哪个URL的排名比另一个URL高。换句话说,拥有更多内部链接和更多外部链接的页面将获得良好的排名。如果链接了几个URL,权重就会分散,每个URL可能排名不好。

301重定向是一项非常重要的“自动转向”技术。当用户或搜索引擎向web服务器发送浏览请求时,服务器返回的HTTP数据流头中的状态代码之一表示该web页面已发送到另一个地址。

简而言之,这意味着重新定义一个位置。通过访问网站,使用重定向方法。让它跳转到我们指定的URL或域名。例如,有一个旧域名,因为它与我们的产品无关。现在我不想换一个新域名,但是旧域名有排名和权重,我该怎么办?我可以把旧域名的权重转移到新域名吗?当然可以。301重定向可以达到这个效果。将旧域名重定向到新域名,旧域名的权重将慢慢传递到新域名。

① 当网站被修改或从网站的重要页面链接更改为修改页面时,应重定向到301版之前的修改页面。

如果要更改整个网站的URL,则需要将每个URL指向相应的新URL,该URL需要由技术人员设置。

② 当网站更改域名时,原有域名的301页全部重定向到新域名对应的页面。如前所述,301重定向可以将旧域名的权重转移到新域名。

③ 识别所选的主域名,确定几个域名中的一个,并告诉搜索负责人要对哪个域名进行排名。

301重定向在网站优化中的应用 (https://www.wpmee.com/) WordPress教程 第1张

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 搜索引擎优化之域名301重定向完整攻略(301重定向在网站优化中的应用)

发表回复

CAPTCHAis initialing...