我想向我的页面添加规范链接,但我需要指定域,还是需要一个相对 URL?
换句话说,就是:
<link rel="canonical" href="/item/1">
足够好,还是我需要使用:
<link rel="canonical" href="http://mydomain.com/item/1">
我想向我的页面添加规范链接,但我需要指定域,还是需要一个相对 URL?
换句话说,就是:
<link rel="canonical" href="/item/1">
足够好,还是我需要使用:
<link rel="canonical" href="http://mydomain.com/item/1">
直接来自谷歌:
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394
链接可以是相对的还是绝对的?
rel="canonical"
可以与相对或绝对链接一起使用,但我们建议使用绝对链接以尽量减少潜在的混淆或困难。如果您的文档指定了base
链接,则任何相对链接都将与该base
链接相关。
再次,谷歌这样说:
https://support.google.com/webmasters/answer/139066?hl=en
避免错误:使用绝对路径而不是
rel="canonical"
链接元素的相对路径。使用这个结构:
https://www.example.com/dresses/green/greendresss.html
不是这个结构:)
/dresses/green/greendress.html
。
例如,这些是他们的 URL:
http://example.com/wordpress/seo-plugin/
http://example.com/wordpress/seo/seo-plugin/
这就是rel=canonical
发明的目的。尤其是在许多电子商务系统中,这种情况(不幸的是)经常发生,其中一个产品有几个不同的 URL,具体取决于你是如何到达那里的。您将rel=canonical
通过以下方法申请:
您选择两个页面之一作为规范版本。它应该是您认为最重要的版本。如果您不在乎,请选择链接或访问者最多的那个。如果所有这些都相同:掷硬币。你需要选择。
添加rel=canonical
从非规范页面到规范页面的链接。因此,如果我们选择最短 URL 作为我们的规范 URL,则另一个 URL 将链接到最短 URL,如下所示<head>
:
<link rel="canonical" href="http://example.com/wordpress/seo-plugin/">
就是这样。不多也不少。
所有href
属性都是超文本引用——这就是它的含义。因此,它们始终是 URI 引用,而不是 URI,并且可以是相对的。
但是,在这种情况下,如果可以的话,放入完整的 URI 是有好处的,因为它可以在将来将其迁移到另一个域的任何东西中存活下来(假设您仍然希望列出的域是规范的域),并且可以甚至可以在一些更粗暴的自动抄袭中幸存下来:)
但是,如果您没有在其他域上积极使用非规范版本,那么这种好处是非常微小的,所以我不会在它上面花费太多精力。
没有什么特别的canonical
。它是一种标准链接类型,用于提供链接的标准方式(例如,link
元素),因此您可以指定任何类型的 URL 引用(绝对、相对、协议相对,结合base
元素、空......)。
RFC 6596(规范链接关系)明确表示:
目标(规范)IRI MAY:
- 指定一个相对 IRI(参见[RFC3986],第 4.2 节)。
示例之一:
[…] 或作为相对 IRI:
<link rel="canonical" href="page.php?item=purse">
规范最佳实践的更新:rel="canonical"
具有跨域支持。谷歌来源:https ://webmasters.googleblog.com/2009/12/handling-legitimate-cross-domain.html
此外,结构化数据的引入使得规范的使用更加严格,因为 Google 不会从非规范来源获取 JSON 标记(我碰巧犯了一个错误!)。
如果该网站只有一个域,则可以使用绝对路径:
<link rel="canonical" href="/item/1">