利用canonical属性再次加强网页权重

作者:医美网 来源:CHINAZ 时间:2009-03-02 12:09:00 

先来看一段引文:

谷歌、雅虎和live search 宣布支持Link的一个新属性Canonical,为网页指定权威链(authoritative|canonical URL),以解决复制内容(duplicate content)问题。

复制内容或复制网页是指相同或十分相近的内容却有多个不同的URL,如打印页、或者有sessionid的URL等。现在网站管理员可以在相同内容的网页的头部(head)上加一个link标签,指定首选URL,以此声明一个权威网页做为复制网页的标准版本,使链接和搜索结果都集中到这个首选的版本上。

<link rel="canonical" href="authoritative | canonical URL"/>

 * href可以是绝对地址或相对地址;但不能指向不同的域名,否则会被忽略;允许指向不同的子域名;

*link rel="canonical"属性可以被传递,即A页面声明B为权威链接,B声明C为权威网页,则SE会认为C是A和B共同的首选权威版本。

*如果权威页指向的是一个404页,则SE仍会索引这个页的内容,并试图找到一个标准页。

什么时候适合使用cononical:在制作网站中仍需减少复制网页或者使用301跳转规范化网址,如果都不行再用link rel= "canonical" 这个标签。在google的博客中还看到,如果指定的权威网页没有被索引,将可能被立即被索引,因此这个标签,在其它任何方法都无法消除复制网页时,指出权威网页,将是最好的方法。

为了让菜鸟们充分理解这个属性,我就拿个简单的网站做说明,假设www.sooim.com为一个DZ做的论坛,那要加强网页权重,我们可以做那些事,当然我们说的是rel= "canonical"这个标签:

一,使用伪静态,注意一下3点:

1.在robots.txt中禁止所有动态地址"Disallow: /*.php";

2.禁用Archiver,理由可以GOOGLE下Archiver优化。

3.修改forumdisplay.php文件,将$extra = rawurlencode("page=$page$forumdisplayadd");改为$extra = rawurlencode("page=1$forumdisplayadd");

解释:帖子的URL形式是thread-(tid)-(page)-(forumdisplay page).html,最后一节表示此帖在列表页的第几页。所以当帖子越来越多,这个帖就会由第一页到第二页...,它的URL就会不断的变化。解决办法就是它都变成1。不足就是当从这个帖子返回列表页时,只能返回到第一页了。

这样处理站内链接形式单一、规范而且通畅,不影响收录。如果不想禁止动态形式,或有别人链接了不规范形式,也可以做下面的修改.

二,动态URL形式,给非标准URL页面加canonical tag,指向权威网页

以discuz 7.0 为例

1.给viewthread.php加link rel="canonical"

修改viewthread.php文件,在$page = max($page, 1);上面(程序调用包含文件结束),加一行$extrahead .='<link rel="canonical" href="viewthread.php?tid=' .$tid. '" />';

2.给打印页(有printable参数的)加canonical tag

修改打印页模板templates\default\viewthread_printable.htm文件,在<head>部分加 $extrahead 。

3.给redirect.php形式的页子加权威链接

这个程序其实对参数处理后,调用的就是viewthread.php,所以自然就有link rel="canonical"了。

4.为archiver页加link canonical标签

1)修archiver/index.php文件:在global $boardurl, $_DCACHE, $charset, $navtitle, $headerbanner, $headernav;行下加一行:global $extrahead;

在<meta http-equiv="Content-Type" content="text/html; charset={$charset}" />行下加一行:$extrahead 。

2)修必archiver\include\thread.inc.php:此文件中有两个showheader();,在第二个的上面加一行:$extrahead .='<link rel="canonical" href="viewthread.php?tid=' .$tid. '" />';

至此帖子所有形式的URL(动态、打印页、redirect.php、静态和archiver)都有link rel="canonical"标签,指定viewthread.php?tid=888 这种形式为标准版本,权重和收录都会转到它。

对于列表页,因形式简单,且archiver列表页未与正常列表一一对应,没有做修改。

三,既有伪静态又加link canonical到静态地址的做法

1.将第二点中所有 $extrahead .='<link rel="canonical" href="viewthread.php?tid=' .$tid. '" />'; 换成$extrahead .='<link rel="canonical" href="thread-' .$tid. '-1-1.html" />'; 即改成以thread-3-1-1.html这种静态形式为首选版本。

2.将archiver内容页最下的完整版本链接改为静态形式

修改archiver/include/thread.inc.php,将 "viewthread.php?tid=$tid"替换为"thread-{$tid}-1-1.html"

3.为redirect.php页做301跳转到静态形式URL

修改文件,使用php代码实现301跳转,把require_once DISCUZ_ROOT.'./viewthread.php';替换为header("HTTP/1.1 301 Moved Permanently");
header( "Location: thread-{$tid}-1-1.html" );

文件中共有四个地方要替换,但在7.0的前台只看到了lastpost这个形式。

其中2.3.其实都会有link canonical,但百度不支持,直接到标准形式为好。

供稿 www.sooim.com 医美网

标签:SEO
0
投稿

猜你喜欢

  • 设置让服务器能够支持shtml文件

    2007-10-26 13:36:00
  • VSFTPd自架Linux操作系统网络服务器方法

    2009-12-10 19:17:00
  • CMS 这点事儿

    2008-12-04 13:14:00
  • 数据安全谈:看 NFS网络文件系统的安全

    2009-03-09 12:47:00
  • 偷菜也是修真 看神话网络游戏内嵌SNS系统

    2009-09-30 09:04:00
  • 简略讲解对Linux服务器的四种入侵级别

    2009-09-09 08:51:00
  • Google AdSense西联快汇已经完成支付

    2007-11-02 14:10:00
  • DNS服务器配置实例

    2009-01-23 17:13:00
  • AIX操作系统下如何使用Sendmail

    2007-03-27 11:17:00
  • 如何增加Google反向链接?

    2008-03-10 12:51:00
  • Linux系统Apache服务的信息查看模块介绍

    2010-05-02 18:32:00
  • 吕英建SEO讲课记录 如何提高网站的权重

    2009-02-12 10:46:00
  • Win2000动态DNS的安全应用策略

    2007-11-22 14:45:00
  • 搜索引擎“相关搜索”优化技巧

    2007-12-07 19:45:00
  • 一个完美网站的101项指标.第三部分.易用性

    2008-02-29 22:09:00
  • 推广经验及教训:首页被降权了

    2009-07-10 09:46:00
  • SEO就像品味美女的过程

    2007-08-05 13:12:00
  • 了解WordPress密码算法规则 让整合更简单

    2010-03-22 09:36:00
  • [多图]体验苹果的邮箱和其他在线服务 - Mobile Me

    2010-05-27 09:10:00
  • .htaccess实现从Zblog跳转到wordpress

    2011-08-20 08:40:07
  • asp之家 网站运营 m.aspxhome.com