指定您的URL范式

2009年2月27日星期五





原文: Specify your canonical

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



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



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


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

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


https://www.example.com/product.php?item=swedish-fish&category=gummy-candy
或者,也有可能他们有着完全相同的内容,但是URL看起来并不相同,比如下面的URL还带有跟踪参数或者会话ID:


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


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

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



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


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

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



只要您将上文中的
语句加入到上述两个网页的<head>代码部分,那么谷歌就会知道以上两个网址实际上是被建议指向您指定的标准URL: https://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么?
** 12/17/2009更新: 答案为是! 我们支持 跨域的 rel="canonical" . **


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



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

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



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



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