现在大多数网站都存在一些内容相同但网址(URL)不一样的重复内容,这些重复的内容对于搜索引擎来说却可能被认为是复制网页,复制网页虽然不会被惩罚但因多个网址存在分散了页面权重,肯定不利于其排名。解决这个问题就需要网址规则化处理,网址规范化(URL canonicalization)从字面上理解就是搜索引擎挑选最好的URL网址作为真正网址的过程,通过网址规范化处理把最好的URL网址反馈给搜索引擎。
解决网址规范化问题有好多方法,目前我们讲使用301重定向来进行网址规范化处理。
什么是301重定向?
301重定向(301转向、301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法。只要不是暂时搬移的情况,都建议使用301来做转址。
如何来做301重定向?
下面是我从网上收集的进行301重定向的方法,基本上全了,如果你有新的方法,欢迎你进行补充!
1、IIS6下301设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择"资源的永久重定向"。
2、ASP下的301重定向代码
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location", "" %>
3、ASP.Net下的301重定向代码
4、PHP下的301重定向代码
header("HTTP/1.1 301 Moved Permanently"); header("Location: "); exit();
5、CGI Perl下的301重定向代码
$q = new CGI; print $q->redirect("");
6、JSP下的301重定向代码
<% response.setStatus(301); response.setHeader( "Location", "" ); response.setHeader( "Connection", "close" ); %>
7、ColdFusion下的301重定向
8、Apache下301重定向代码
建立.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^mydomain.cn [NC] RewriteRule ^(.*)$ [L,R=301]
2)重定向到新域名
Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ [L,R=301]
3)使用正则进行301重定向,实现伪静态
Options +FollowSymLinks RewriteEngine on RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
9、Apache下vhosts.conf中配置301重定向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
ServerName www.mydomain.cn DocumentRoot /home/lesishu
ServerName mydomain.cn RedirectMatch permanent ^/(.*)
当然Apache下进行301重定向除了以上2种方法,还有其他配置方法和可选参数,欢迎你的补充。
在进行301重定向后,我们如何检测我们做的301重定向是否正确,下面是301重定向检测工具。
最近发现,301重定向的网址也会被百度收录,而且在百度站长工具——外链分析中,可以看到该页面所有的链接,都被列入到外链中。
SEO专题推荐:
关键词优化专题:网站关键词优化没效果?来这里学习最实用的关键词优化技巧!
内链优化专题:最能提升网站权重的内链部署优化技巧与方法
外链建设专题:高质量自然外链怎么做?读完这些你将质的飞跃
网站降权专题:2015年最有用的网站降权、被K、被黑、被攻击的解决方法
用户体验专题:学习完这些,作为站长的你可以秒懂如何做网站用户体验
行业网站专题:优化行业网站的“葵花宝典”看完后无优化压力
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!