301跳转对于网站排名的重要性

前段时间,客户的一个站做了优化一个月左右,有十多个关键词排名一直很好,后来收录稳定之后突然所有的排名全部消失,(因为手头网站太多,

有些细节的地方就没太去注意。)我仔细分析下原因,最后通过site:cn403.com的不带主机头查找到原来没有设置301跳转(设计部那边同事都不懂这个

,我以为他们都会设置好这些的,哎),导致cn403.com的快照比带www的要新,收录了很多重复的url。而做的外链和内链都是指向www的。
最后设置了301跳转,第三天排名全部恢复正常。
建议大家有必要都检查下自己站的301有没有设置好(高手就不用看了,你们都懂的),至于301的重要性大家可以百度一下,这里就不重复了。

下面摘抄一下设置301的代码吧,方便一下新手们:

301跳转代码全集(ASP|PHP|JSP|.NET)

1、IIS下301设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
2、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.163.com/”
%>
3、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.163.com/”);
}
</script>
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://www.163.com/”);
exit();
5、CGI Perl下的301转向代码
$q = new CGI;
print $q->redirect(”http://www.163.com/”);
6、JSP下的301转向代码
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.163.com/” );
response.setHeader( “Connection”, “close” );
%>
7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^cn403.com [NC]
RewriteRule ^(.*)$ http://www.163.com/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.163.net/$1 [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.163.com
DocumentRoot
</VirtualHost>
<VirtualHost *:80>
ServerName cn403.com
RedirectMatch permanent ^/(.*) http://www.163.com/$1
</VirtualHost>