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

网站优化
主流论坛程序相同的搜索引擎优化注意要点
Web标准有利于搜索引擎优化?
把访问者留在网站的核心 SEO观念要正确
做好网站链接建设 做好自然链接人工链接
比较快速地提高网站PR值的十个有效办法
百度图片搜索优化技巧 让网站流量再翻番
对症下药 如何让自己网站不被百度潜规则
搜索引擎如何来评估网站链接的
优化热门关键字的5点心得体会
提高文章搜索引擎优化质量的十八个小技巧
谷歌官方《搜索引擎优化指南》网站内容篇
谷歌官方《搜索引擎优化指南》链接文本篇
谷歌官方《搜索引擎优化指南》标题标签篇
谷歌官方《搜索引擎优化指南》网页图片篇
SEO关键字排名VS用户体验谁更重要?
网站优化的几个要点
影响网页在谷歌搜索引擎上权重的三个因素
针对谷歌搜索引擎 选取关键词的十个技巧
从搜索引擎优化角度 分析月光博客的成功
快速获取百度排名之偷梁换柱与抛砖引玉篇

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 63 ::
收藏到网摘: 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 医美网