我可以在HTML页面的正文中使用<link>标签吗?我试图找到该问题的答案,但发现矛盾的信息。

将Schema.org微数据标记添加到HTML页面时,我想在链接标记中添加规范信息,如下所示:

<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span>—
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>


我从Schema.org获得了上面的示例代码。根据他们的说法,这是想要为项目属性添加规范引用但不想在其网站上放置超链接的人的方法。

W3明确指出<link>标签仅应放在头部内,从而使Schema.org示例无效。

如果我要坚持正确的标记,应该遵循哪条建议?

评论

您正在链接到w3schools.com(与W3C无关),而不是w3.org。

啊,是的,您当然是对的。删除了到W3schools的链接。谢谢。

SEO会发生以下情况:webmasters.googleblog.com/2013/04/…

#1 楼

如果Microdata包含link属性,则它们可以通过在meta中使用bodyitemprop元素的方式扩展HTML5。


如果itemproplink上存在meta属性,则它们是流内容和短语内容。如果存在link属性,则可以在需要短语内容的地方使用metaitemprop元素。


HTML 5.1 Nightly(编辑草稿)中当前还包含此扩展名(请参阅link元素和meta元素)。但是随着Microdata规范最近成为W3C Note的一部分,我们将不得不看一下该引用会发生什么。

RDFa 1.1扩展了HTML5,可以在linkmeta元素中使用bodypropertỳ元素,如果它们包含@property属性。如果linkmeta元素上存在body RDFa属性,则如果在文档的link中使用它们,则必须将它们视为合格。更具体地说,当meta@property元素包含RDFa body属性并在HTML5文档的link中使用时,必须将它们视为流内容。



所以您就是不允许在<link href="" rel="" />中使用任何body元素(例如itemprop),而只能使用具有property属性(对于Microdata)的元素。一个link属性(用于RDFa)。

,因此您的body元素可用于q4312079q:

<body>
<!-- … -->
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
<!-- … -->
</body>


评论


谢谢!因此,如果我理解正确,则允许我在正文中使用标记,只要它包含itemprop属性?并且只要包含itemprop属性,我还可以包含原始问题中使用的href?

–爱德华·图尤
13年11月13日在20:16

@EdwardTouw:是的;无论如何,您都必须提供href属性。因此,只要link元素具有itemprop属性,就可以在主体中使用它。然后,它不再是整个文档的元数据(就像头部中的常规链接元素一样),而是Microdata的“隐藏”元素。

–未成年
13年11月14日在9:10

#2 楼

W3Schools没有为HTML编码设置行业标准。它们只是一个第三方参考站点,无论如何都不与W3C关联。使用诸如Schema和Responsive design之类的尖端编码技术时,W3Schools和其他站点通常是错误的。当使用相当新的代码时,您的一站式服务应该是W3C作为设定的合规性标准,如果您需要帮助来理解HTML5,则可以使用HTML5 Doctor,因为它们不是官方的,而是备受尊敬的。

查看您的代码通过W3C验证,而<body> </body>中包含的链接元素没有任何问题

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span>—
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>
</body>
</html>


答案:是的,您可以在<LINK>中使用<body> </body>,但是正如Unor在他的回答中提到的那样必须包含itemprop。

评论


请注意,您正在链接到2009年的HTML5草案。在当前的HTML5 CR中,不包括相关定义。

–未成年
13年11月13日在16:50



#3 楼

如果存在itemprop属性,则可以将link元素添加到HTML文档的主体中。这是一个演示。

这也是一个链接itemprop属性示例。

评论


如果这些是您网站的链接,请添加免责声明,例如“我在这里的博客中介绍了此内容...”。

– dan♦
2014年2月6日15:31