当前位置: 首页 > 图文教程 > 网站运营 > 网站优化 > 利用canonical属性再次加强网页权重

网站优化
SEO的步骤参考
SEO 两大搜索引擎网站近期算法分析
SEO 搜索引擎算法探讨
SEO 选择合适的CMS建站
SEO Google如何处理低质量链接
SEO 网站管理员工具深入分析
SEO 分析某关键词的竞争强度
B2C 电子商务网站如何做推广和优化
网页游戏的推广的策略与效果分析
网站排名下降的主要原因分析
网站关键词排名发生变化时的应对方法
Google为网站提供相关链接功能
正确解决IE6的问题的方法
谈google 命名锚链接识别网页段落
动易CMS的目录结构SEO优化
让你的wordpress博客备受搜索引擎青睐
经过实践后觉得确实有效的Baidu优化经验
网站主要关键词排名不高的原因分析
seo优化通用方式小结
网站推广3种方法操作流程详解

网站优化 中的 利用canonical属性再次加强网页权重


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 36 ::
收藏到网摘: n/a

先来看一段引文:

谷歌、雅虎和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 医美网