指定您的URL范式





原文: Specify your canonical

发表于: 2009年2月12日星期四,12:30 PM



您可能会对URL形式不同造成的重复内容有所担心,谷歌现在支持一种新的功能,使您可以指定您喜欢的URL格式。如果您的网站通过多种不同形式的URL向访问者提供完全相同或非常类似的内容,那么通过这种功能您可以自主控制出现在搜索结果中的您网站的URL格式。同时这也有 助于将那些影响您网页声望值的因素更固定地指向您所青睐的URL格式上。



让我们以一个出售瑞典鱼的网页为例,假设我们所青睐的URL格式和所对应的内容是下面这样的:



http://www.example.com/product.php?item=swedish-fish

然而,访问者和谷歌机器人实际上可以通过另外的URL形式访问到这一内容。尽管URL的核心部分与您青睐的URL格式很相近,但是他们依据排序的参数或分类浏览种类的不同而向用户提供略有差别的网页。



http://www.example.com/product.php?item=swedish-fish&category=gummy-candy

或者,也有可能他们有着完全相同的内容,但是URL看起来并不相同,比如下面的URL还带有跟踪参数或者会话ID:



http://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678



现在,您可以将如下语句<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>

加入到其他您不倾向于在搜索引擎出现的URL的<head>代码中,就能指定您喜欢的URL格式。



比如您不希望以下两种URL格式在搜索结果中出现:


http://www.example.com/product.php?item=swedish-fish&category=gummy-candy

http://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678



只要您将上文中的
语句加入到上述两个网页的<head>代码部分,那么谷歌就会知道以上两个网址实际上是被建议指向您指定的标准URL: http://www.example.com/product.php?item=swedish-fish上。 其他的URL属性,比如PageRank和相关的其他因素,也都会自动指向该标准URL。



这个标准同时也被其他搜索引擎在抓取和索引您网站时所接受和使用。



以下我们将以FAQ的形式,解答一些您可能存在的疑问:



从强制性与否来说,请问rel="canonical"是一个建议,还是一个指令?

是一个建议。这是一个我们非常自豪的功能,您可以以此提示搜索引擎考虑您对URL格式的喜好。



我能用相对路径来指定我的URL规范么,比如 <link rel="canonical" href="product.php?item=swedish-fish"/>?

可以,在这里使用相对路径是可以被正确识别的,如果您在代码中指定了link,那么相对路径都会以此base URL为基础。



我可以将URL范式使用在不是完全相同内容的其他网页上吗?

我们允许这些网页之间有些细微差别,比如归在不同类目下的同一产品网页。



如果被指定为规范格式的URL返回404,怎么办呢?

我们会继续访问和抓取您的内容,并应用一些联想功能去寻找一个URL范式,但是我们强烈建议您将一个可访问的URL设置成URL范式。



如果我指定的URL范式并没有被索引会怎样?

就像网络上所有的公共内容一样,我们会努力发现和寻找您指定的URL范式,一旦我们索引到它,我们就会立即将您的rel="canonical"付诸考虑。



我的URL范式可以是一个重定向URL么?

可以,您可以指定一个发生重定向的URL作为URL范式,谷歌会继续跟踪这个重定向并尝试去抓取它。



如果我不小心指定了互相矛盾的URL范式怎么办?

不用担心,我们的算法是很聪明并宽容的,我们会跟踪抓取这个URL范式链,但是我们还是强烈建议您尽快将URL范式指定为特定单一URL形式,从而确保您的搜索结果早日得到优化。



这个link tag可以被用来建议一个在其他域名上的URL么?

不可以。如果您需要转移到一个不同的域名上,那么301永久重定向对您来说更合适。谷歌现在只能认可在不同子域名下的URL范式的指定。所以,站长们可以将www.example.comexample.com, 及help.example.com互相指定为范式,但是不能将example.comexample-widgets.com互相指定为范式。



听起来不错,能给我举一个现实中的例子么?

我们有一个真实的例子wikia.com。比如,您在
http://starwars.wikia.com/wiki/Nelvana_Limited 的源代码中可以发现,该网页已经把http://starwars.wikia.com/wiki/Nelvana指定为了URL范式。通过使用rel="canonical",两个网页的PageRank被整合计算,避免了分散计算的流失,同时搜索结果中也只会包含网站管理员所指定的URL形式。



如果您未能应用URL范式指定您心仪的URL形式,您也不要担心,我们会尽我们最大努力,选择一个更优化的URL形式,并将声望等属性值进行相应转移处理,就像我们以前做的那样(英文)。



补充:这个link tag现在也被Ask.com,微软Live Search和Yahoo!搜索等搜索引擎所支持。



Labels: ,



26个评论:

声明:以下评论仅代表发表者观点。

我修改了discuz程序,给各种形式的帖子页加上了link canonical标签。如打印页、archive都可以指向静态页。
discuz优化之网址规范化,支持canonical新标签属性

每次都能学到自己感到疑惑的东西,谢谢。

多谢啦。
下次就可以用了。

我的网站使用了Url重写,现在修改了Url重写的规则,请问我如何避免因为修改了Url重写的规则导致以前被收录的内容都无法打开的问题呢?

平时很少研究这些,看迷糊了。

我发现这个功能太好了,有些情况确实应该使用它,特别是有些程序产生的不同地址但最终指向的是同一页面。
今晚好好研究一下,把我的博客也加上此代码。

有2个页面 /aaaaa.html /aaaaa2.html
我在这2个页面上都加上
link rel="canonical" href="/aaaaa.html"

这样是允许的吗?
(就是说,我指向自己本身)

回巴菲特务:url重写不会导致以前被被收录的内容无法打开。你只是为已有的url多添加了名字而已。

回zj: 你所说的情况是允许的。

不错,解决一个原来困扰我们的问题--两个同内容的页面都有排名,舍不得删除任何一个。

不过,还有疑问:
请问,这样做了是谷歌可以了,但是在其他搜索引擎里面可以么?

谢谢学习了,非常有用。

其实类似于这种对网站本身结构和框架等等的担心都是没必要的,我们完全有理由相信google已经有能力自己去识别,只要你的网站内容本身很OK,那么排名会OK的,当然,你需要更多的发一点推广性质的外链。

虽然看的很迷糊,但仍然要感谢您的文章!

这个标签是好解决简单的问题.
比如我的网站.可能是外部链接的问题,有两个地址:
www.whsjsoft.com/chinese/bs_download.asp和www.whsjsoft.com/Chinese/Bs_download.asp

用这个标签是解决了这个问题.我现在查收录时收了这个大写的.

但是就如本文写的动态的页面时.真的实现起很麻烦,需要写复杂的代码才能实现吧?

内容不一样时最好不要用该范式来重定向。但是,如果你那样做了,Google的智能算法也会查得出来,并不会有任何惩罚。

非常感谢分享,今天终于用上了!呵呵

我的站存在这些问题!不知道如何来解决?同一个页面有不同的连接。

呵呵,用了可真是不错。。

强悍,这样的文章太值得人学习了。

我就觉得这种私有属性多了会不会像浏览器一样,各家都好多不同,导致操作者异常麻烦,如果这些好的属性也各大搜索引擎协议好,遵循一个标准,就好了

说的很细。明白了。

这个是个不错的方法,受教了

看得不是很明白

这个功能还是蛮不错的,可惜不知道百度认不认啊?毕竟国人用百度的还是很多。

非常有用的功能,能用到的时候一定试下!

我的URL重写后进行了301重定向,不知道还需要在原有的页面上使用这个标签吗?

url规范化原来是这样,下次注意了,谢谢!!

发表评论



Copyright © 2007 Google Inc. All rights reserved.
隐私政策 - 服务条款