您是否经常使用链接关系(“rel”属性)?

时间:2009-05-11 23:12:21

标签: attributes standards-compliance semantic-markup

我渴望采用更加基于标准,可访问且语义正确的Web开发方法。在办公室,我不认为会立即发生巨大的变化,但我正在努力开始为进一步的发展奠定一些基本的基础。

此过程的一部分是在链接和其他此类内容中引入rel属性。这比熟悉的旧版

进一步扩展
<link href="mystyles.css" type="text/css" rel="stylesheet" />
许多开发人员可能会在没有考虑它的情况下投入其中。我很想知道是否有人以其他方式定期使用rel。例如,使用rel="start"将主导航的链接设置回主页。

如果您已在自己的项目中实施了链接关系,那么是什么促使您采用它们以及您想要实现哪些好处?

如果您查看过Link Relations但决定不使用它们,那么您决定的基础是什么?

4 个答案:

答案 0 :(得分:10)

我经常在relrev元素上使用<link/>(和<a/>)属性以及各种值。

我已经概述了下面一些更常见(也更有用)的关系类型。 microformats wiki上会保留更完整的rel值列表。

HTML 4

HTML 4规范定义了几种标准链接类型。

  • alternate - 在提供HTML文档替代版本的链接时使用,例如使用其他语言或其他格式。这在链接到网站的联合(RSS或Atom)版本时最常用。
  • next previous - 用于指示一系列文档中的下一个和上一个文档。如果在rel="next"元素上使用<link/>,则某些浏览器会预取链接文档的内容(请参阅MDC link prefetching FAQ)。

XFN

XFN(XHTML Friends Network)是一个microformat,用于描述网页代表的人与人之间的关系。它还允许页面指示代表同一个人的其他页面(例如我的博客,我的Twitter个人资料和我的Stack Overflow个人资料都代表我)。它通过定义一组rel值来完成所有这些:

  • me - 用于表示链接页面和链接页面代表同一用户。当从用户配置文件链接到用户自己的网站时,这被许多社交网站(包括Stack Overflow)广泛采用。
  • contact aquantance friend - 表示您知道自己是谁链接以及你对它们的了解程度。
  • met - 表示您遇到了要链接的人。
  • co-worker colleague - 表示您与要链接的人员在同一个字段中工作或工作。< / LI>
  • co-resident neighbor - 表示您与所链接的人住在一起或附近。
  • child parent sibling spouse kin - 表示您要链接到您的家庭成员。
  • muse crush date sweetheart - 表示与您所链接的人的浪漫关系。

可以解析这些关系并用于确定用户的信息,例如他们的朋友是谁或他们拥有的其他在线个人资料。有关当前和未来潜在应用的更多信息,可能会对以下页面感兴趣:

其他

各种规范定义了各种其他链接类型:

  • nofollow - 用于表示搜索引擎在抓取网页时不应该关注链接。请参阅rel-nofollow specification
  • canonical - 用于表示另一个网址是当前网页的规范版本,因此应该受到搜索引擎的青睐。这也与rev属性一起使用,以指示当前页面的替代(通常更短)URL(即rev="canonical"表示当前URL是链接URL的规范版本)。可以在Simon Willison's blog entry on rev=canonical
  • 中找到更多信息和工具
  • tag - 用于表示链接的网页是描述链接页面的标记(即关键字)。请参阅rel-tag specification
  • license - 用于指示发布链接页面内容的许可证。请参阅rel-license specification

答案 1 :(得分:3)

我在博客评论中使用rel =“nofollow”作为用户贡献的链接。谷歌不会关注该链接,因为该链接不会获得更高的网页排名。

答案 2 :(得分:2)

我使用它们的一个方法是指定应在新窗口中打开的外部链接。严格的XHTML无法实现此功能,因为target标记不再允许<a>属性。但是使用一些javascript和rel属性,你可以做到相当不错的工作,如本文所述:New-Window Links in a Standards-Compliant World

答案 3 :(得分:0)

作为Chad said,我使用rel="external"指定我想在新窗口中打开的链接(利用一些jQuery使其成为可能)。

我还想使用rel="nofollow",因为我想让符合规则的机器人(例如Google僵尸网站)没有索引我的链接。

在公共网站上自动添加nofollow很有用,否则它可能会让垃圾邮件制造者从你的博客评论中建立一个链接农场。