301重定向方法大全及SEO中网址规范化

现在大多数网站都存在一些内容相同但网址(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", "http://www.mydomain.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.mydomain.com"); } </script>

4、PHP下的301重定向代码

header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.mydomain.com"); exit();

5、CGI Perl下的301重定向代码

$q = new CGI; print $q->redirect("http://www.new-url.com/");

6、JSP下的301重定向代码

<% response.setStatus(301); response.setHeader( "Location", "http://www.mydomain.com/" ); response.setHeader( "Connection", "close" ); %>

7、ColdFusion下的301重定向

<cfheader statuscode="301" statustext="Moved permanently">
<cfheader name="Location" value="http://www.new-url.com">

8、Apache下301重定向代码

建立.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^mydomain.cn [NC] RewriteRule ^(.*)$ http://www.mydomain.cn/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://www.mydomain.cn/$1 [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中配置为:

<VirtualHost *:80> ServerName www.mydomain.cn DocumentRoot /home/lesishu </VirtualHost>

<VirtualHost *:80> ServerName mydomain.cn RedirectMatch permanent ^/(.*) http://www.mydomain.cn/$1 </VirtualHost>

当然Apache下进行301重定向除了以上2种方法,还有其他配置方法和可选参数,欢迎你的补充。

在进行301重定向后,我们如何检测我们做的301重定向是否正确,下面是301重定向检测工具。

http://www.webuildpages.com/seo-tools/header-checker/

http://www.seoconsultants.com/tools/headers.asp

最近发现,301重定向的网址也会被百度收录,而且在百度站长工具——外链分析中,可以看到该页面所有的链接,都被列入到外链中。

本文地址:http://www.cnblogs.com/atree/archive/2010/09/13/301-URL-Rewrite-SEO.html

转自:Heart-Auberge的百度空间

网址:http://hi.baidu.com/heartauberge/blog/item/92a3020efa2b0dc17acbe102.html

301重定向方法大全及SEO中网址规范化,看着不错先收下的更多相关文章

  1. ASP.NET处理301重定向方法 带示例 (demo)

    System.Web.HttpContext.Current.Response.Status = "301 Moved Permanently"; System.Web.HttpC ...

  2. NGINX -- 详解Nginx几种常见实现301重定向方法上的区别

    Nginx下常见的301跳转有以下三种,虽然都能达到同样的目的.但是三种写法上还是有区别的,主要的区别是在正则匹配的性能上. 第一种:使用rewrite指令,通过正则匹配所有的URI后再去掉开头第一个 ...

  3. linux中nginx重定向方法总结

    linux中nginx 301重定向跳转方法总结 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码代码如下: server { server_naaaaaaame www.aa ...

  4. Nginx 301重定向域名

    为何要使用301重定向 在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名.网页的扩展名改变.网站域名改变等.如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个4 ...

  5. 三个方法教会你win7中IIS7配置php环境

    三个方法教会你win7中IIS7配置php环境.今天静下心来研究了下在win7中使用IIS7配置php环境,其实很简单!跟下面方法做之前,请先确定你的电脑中未安装其它相关环境程序及服务,之前安装过ap ...

  6. URL网址规范化

    网址URL规范化(URL canonicalization)是近一年来在Google搜索结果中出现的一个很大的问题.它指的是搜索引擎挑选最好的URL网址作为真正网址的过程.举例来说,下面这几个URL一 ...

  7. 将 UWP 中 CommandBar 的展开方向改为向下展开

    在 UWP 中使用 CommandBar 来迅速添加一组功能按钮是非常迅速的,是 UWP 中推荐的交互方案之一.也许你能见到 CommandBar 按你所需向下展开,不过可能更多数情况会看到 Comm ...

  8. SEO中常用的301永久重定向代码大全

    301是永久重定向的意思,表示请求的网页已永久移动到新位置,服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置.其实301重定向在SEO中被广泛应用,也是被广泛认为比 ...

  9. 使用.Htaccess文件实现301重定向常用的七种方法

    使用.Htaccess文件实现301重定向常用的七种方法   301重定向对广大站长来说并不陌生,从网站建设到目录优化,避免不了对网站目录进行更改,在这种情况下用户的收藏夹里面和搜索引擎里面可能保存的 ...

随机推荐

  1. 十七、dbms_tts(检查表空间集合是否是自包含)

    1.概述 作用:用于检查表空间集合是否是自包含的,并在执行了检查之后,将违反自包含规则的信息写入到临时表TRANSPORT_SET_VIOLATIONS中. 2.包的组成 1).transport_s ...

  2. 五.dbms_transaction(用于在过程,函数,和包中执行SQL事务处理语句.)

    1.概述 作用:用于在过程,函数,和包中执行SQL事务处理语句. 2.包的组成 1).read_only说明:用于开始只读事务,其作用与SQL语句SET TRANSACTION READ ONLY完全 ...

  3. MySQL Block Nested-Loop Join(BNL)

    5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop).如果关联表的数据量很大,则join关联的执行时间会非常长.在5.5以后的版本中,MySQL通过引入BNL ...

  4. Redis数据库的学习及与python的交互

    1. 数据库简介: 当前主要使用两种类型的数据库:关系型数据库(RDBMS).非关系型数据库(NoSQL); (1). 关系型数据库RDBMS: 是建立在关系模型基础上的数据库,借助于集合代数等数学概 ...

  5. 【dlbook】优化

    [神经网络优化的挑战] 一.病态: 虽然学习率很小,而且梯度大,但是由于Hessian阵的病态,二次项比一次项还要大,梯度下降事实上并不一定能下降,反而有可能上升.因此需要将学习率调低. 表现:梯度很 ...

  6. vue.js 源代码学习笔记 ----- 工具方法 env

    /* @flow */ /* globals MutationObserver */ import { noop } from 'shared/util' // can we use __proto_ ...

  7. Content-type与json对象/字符串杂谈

    这几天在对接项目另一个乙方的下行接口,因为最近一直用php开发,所以当那边接口文档上规定了接口传参类型的 时候,瞬间搞混了,但是这次的出错也让我对http的数据传输有了新的认知. 1.http的数据传 ...

  8. PHPStorm 添加支持 PSR-4 命名空间前缀设置

    许久没有更新博客啦, 太忙了, 七月这最后一天来写点自己在使用 PHPStorm 上的小却很有用的功能吧. PHPStorm 默认是使用 PSR-0 命名空间规范的, 前提是你需要标记好项目中的源码根 ...

  9. 从小白开始学习iOS开发

    从事iOS开发不经意间,已经两年过去了,记得当初看到OC是,我根本就不知道那些个东西是什么?从开始学习开机,到一个个英文开始,为了能找到工作,愣是耐下心去坚持看下去. 现在回想起来,很是庆幸我没有放弃 ...

  10. matlab linux的安装(第二次)

    1 挂载 2 下载jdk,matlab里面那个不行,缺点东西 3 安装 ./install *** 4 激活,非在线 5 license.lic路径在百度云中有 6 运行路径在你安装过程中的选的路径, ...