规范链接是否需要完整的域名?

Ric*_*ard 43 html seo html-head canonical-link

我想在我的网页上添加规范链接,但是我需要指定域名,还是相关网址呢?

换句话说,是:

<link rel="canonical" href="/item/1">
Run Code Online (Sandbox Code Playgroud)

足够好,还是我需要使用:

<link rel="canonical" href="http://mydomain.com/item/1">
Run Code Online (Sandbox Code Playgroud)

Rem*_*emy 42

直接来自Google:

http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394

链接可以是相对的还是绝对的?
rel="canonical"可以与相对或绝对链接一起使用,但我们建议使用绝对链接以尽量减少潜在的混淆或困难.如果您的文档指定了base链接,则任何相对链接都将相对于该base链接.

  • Google已更改该页面,并且不再声明相关网址已被接受(afaics).相反,他们写*"避免错误:使用绝对路径而不是相对路径与`rel ="规范"链接元素."*.这是否意味着(根)相对规范标签不再正常?在这种情况下,这有什么缺点和原因?是否有任何"规范"来源说明(根)相对规范标签是否正常? (9认同)
  • `链接`和`href`是由Tim Berners Lee在HTML的第一个规范中定义的.谷歌不会比其他任何有意见的人"直接". (8认同)
  • 很公平,但由于大多数人,但由于谷歌的规范,我认为谷歌的答案是重要的. (8认同)
  • 是的.他们是一个很好的来源,但不是(借口双关语)一个规范的来源. (5认同)
  • @Qtax我的猜测是,该文本仅建议使用绝对URL以避免错误,而不是声明相对URL为错误。如果您在可以从多个域访问的任何页面上使用相对URL,则*那么*一个相对URL是错误的,因为您现在有多个指向同一文档的规范URL。 (2认同)

Jon*_*nna 6

所有href属性都是超文本引用 - 这就是它所代表的含义.因此,它们始终是URI引用,而不是URI,并且可以是相对的.

但是,在这种情况下,如果可以的话,放入完整的URI会有好处,因为它将在未来将其迁移到另一个域的任何东西中存活(假设您仍然希望列出的域是规范的域),并且可以甚至存活了一些较为粗糙的自动化抄袭:)

如果您没有在其他域上主动使用非规范版本,那么这个好处非常轻微,所以我不会花太多精力在它上面.


Jos*_*vic 6

Google再次说:

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/
Run Code Online (Sandbox Code Playgroud)

这就是rel=canonical为此而发明的.特别是在很多电子商务系统中,这(不幸的是)经常发生,产品有几个不同的URL,具体取决于你如何到达那里.您将应用rel=canonical以下方法:

您选择两个页面中的一个作为规范版本.它应该是您认为最重要的版本.如果您不在乎,请选择链接最多或访问者最多的一个.如果所有这些都相同:翻转一枚硬币.你需要选择.
添加rel=canonical从非规范页面到规范页面的链接.因此,如果我们选择最短的URL作为我们的规范URL,那么另一个URL将链接到最短的URL,如<head>页面部分所示:

<link rel="canonical" href="http://example.com/wordpress/seo-plugin/">
Run Code Online (Sandbox Code Playgroud)

而已.没有更多,没有更少.

  • 在`http:// example.com`上,`http:// example.com/wordpress/seo-plugin /`和`/ wordpress/seo-plugin /`之间没有区别.问题是:规范标签中是否需要完整的URL,如果是这样,为什么?像/ wordpress/seo-plugin /`这样的根相对URL出了什么问题? (5认同)

uno*_*nor 6

没有什么特别之处canonical。它是一种标准链接类型,用于以标准方式提供链接(例如,link元素),因此您可以指定任何类型的 URL 引用(绝对、相对、协议相对、结合base元素、空等)。

RFC 6596(规范链接关系明确表示

目标(规范)IRI 可以:

其中一个例子

[...] 或作为相对 IRI:

<link rel="canonical" href="page.php?item=purse">
Run Code Online (Sandbox Code Playgroud)