元数据:我应该更喜欢<link />或<a> with rel attribute

时间:2016-03-09 13:23:29

标签: html html5

In the process of having correct metadata in my pages, I wonder how <link> tags are actually used (by browsers, crawlers or other tools), and whether they need to be duplicated.

In practice: if I have explicit navigation links in my page, such as this trimmed down example:

<html><body>
  <a href="/page/1">Previous page</a>
  <a href="/page/3">Next page</a>
</body></html>

…then which of those two versions is superior, and why?

Version 1 — using <link> elements for metadata:

<html><head>
  <link rel="prev" href="/page/1">
  <link rel="next" href="/page/3">
</head><body>
  <a href="/page/1">Previous page</a>
  <a href="/page/3">Next page</a>
</body></html>

Version 2 — specifying rel type on links:

<html><body>
  <a rel="prev" href="/page/1">Previous page</a>
  <a rel="next" href="/page/3">Next page</a>
</body></html>

This is valid according to MDN,因为prevnextrel的有效值} a元素的属性。

这些是等同的吗?是否有工具/浏览器识别一个版本但不识别另一个版本?我应该把两者都安全吗?

1 个答案:

答案 0 :(得分:2)

从实际的角度来看,它并不重要。

在大多数浏览器中,<link>元素不会任何事情。有些浏览器仍然支持导航链接,但现在很少见,AFAIK只有SeaMonkey这样做。 Opera支持他们直到v12,我相信有一个适用于Mac的浏览器,iCab,但没有人听说过那个。因此,就用户界面而言,您不必这样做。

网页抓取工具可以使用<link>来更彻底地抓取网站,但如果rel元素中有<a>个属性,那么这并不会产生任何影响。< / p>

就个人而言,由于我是一个沉重的SeaMonkey用户,我在我自己的网站上广泛使用<link>,因此您可以在不需要<a>的情况下浏览它。有关示例,请参阅this page,但我并不希望人们在自己的网站上使用相同的长度。

然而,从语义角度来看,什么是更好的问题,我担心我不确定。也许放入两者都不会受到伤害,但在两个不同的地方重复相同的信息似乎有点矫枉过正。 (DRY浮现在脑海中。)