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

网站优化
谷歌官方《搜索引擎优化指南》分析工具篇
谷歌中文网站管理员教程 链接架构重要性
更新网站内容频率对SEO的影响
针对于谷歌搜索引擎优化的十二个基本步骤
《网络营销教程—SEO》 第二章搜索引擎
《网络营销教程—SEO》 第三章搜索引擎营销
基础教程 搜索引擎优化基础之空间和域名
基础教程 搜索引擎优化基础之爬虫程序篇
国内四大主流搜索引擎 百度谷歌雅虎搜狗
搜索引擎优化基础教程 进行关键词的优化
搜索引擎优化基础教程 如何针对百度优化
十四个因素 将导致网站不被搜索引擎收录
搜狗搜索引擎优化方法
九大搜索引擎优化作弊总结 检查下你网站
影响网站优化的五项关键策略
搜索引擎优化基础教程 单面页的最佳优化
网站优化过程中的关键点 关键词的选择
搜索引擎优化排名做好的十个基本要点
谈外连对整个网站的seo影响有多大
搜索引擎优化SEO操作指南

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


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