4

Schema.org的keywords属性,正如它的复数形式所暗示的那样,似乎暗示它的值应该是一行逗号分隔的文本。像下面的例子:

<p itemprop="keywords">lorem, ipsum, dolor, sit, amet</p>

这让我想起了我们过去出于 SEO 原因<meta name="keywords" content="lorem, ipsum, dolor, sit, amet">放置的标签。<head></head>

但是,从语义的角度来看,我认为上面的例子是不正确的,因为关键字应该是一个单词列表。因此,它应该通过使用<ul>元素来标记。

关于如何使用 HTML5 和 Microdata 标记博客文章的关键字是否存在共识?

4

1 回答 1

11

更新: Schema.org 的keywords属性定义发生了变化。现在它清楚地表明它需要多个标签,并且它们通常应该用逗号分隔。

tl;dr:如果您想ul为标签使用元素,使用 Schema.org 的keywords属性在 Microdata 中可能如下所示:

<article itemscope itemtype="http://schema.org/BlogPosting">

  <footer>
    <ul itemprop="keywords">
      <li><a href="/tags/foo" rel="tag">foo</a>,</li>
      <li><a href="/tags/bar" rel="tag">bar</a></li>
    </ul>
  </footer>

</article>

如果这样使用它,您必须确保不ul包含其他非标记文本。


HTML

具有该值的meta元素提供了一种指定适用于整个页面的关键字的方法。这些关键字仅包含文本,因此您不能使用 URI。namekeywords

因此,对于典型的博客标签,您将采用以下方式(可能除了meta- keywords)。

链接类型

HTML5 定义了链接类型tag

tag关键字表示被引用文档所代表的标签适用于当前文档。

请注意,此链接类型只能用于单个帖子页面,因为该标签始终适用于整个页面。

(注意:tag也是一个Microformat,但它有不同的定义:您只能为 Microformat 使用特制的 URL tag。)

如果您的标签更像类别(受控词汇而不是免费标签),您可以使用链接类型category(可能与 结合使用tag)。

标签的标记

您可以使用 aul或 a dl

<ul>
  <li><a href="/tags/foo" rel="tag">foo</a></li>
  <li><a href="/tags/bar" rel="tag">bar</a></li>
</ul>
<dl>
  <dt>Tags</dt>
  <dd><a href="/tags/foo" rel="tag">foo</a></dd>
  <dd><a href="/tags/bar" rel="tag">bar</a></dd>
</dl>

dl当您还有其他元数据要列出时,我会选择,例如作者、出版日期等。

div当然,带有逗号分隔元素的 Aa也可以:

<div>Tags: <a href="/tags/foo" rel="tag">foo</a>, <a href="/tags/bar" rel="tag">bar</a></div>

列表的容器

该列表应该是footer元素的一部分(article如果您在博客文章中使用一个):

页脚通常包含有关其部分的信息,例如作者、相关文档的链接、版权数据等。

词汇

Schema.org

CreativeWork定义属性keywordsBlogPosting继承它):

用于描述此内容的关键字或标签。关键字列表中的多个条目通常由逗号分隔。

它需要纯文本,因此无法在 Schema.org 中提供标记 URL。

正如keywords预期的以逗号分隔的标签列表一样,dl不能使用(除非dl标签只包含其他内容)。

使用ul,它在微数据中可能如下所示:

<ul itemprop="keywords">
  <li><a href="/tags/foo" rel="tag">foo</a>,</li>
  <li><a href="/tags/bar" rel="tag">bar</a></li>
</ul>

如果使用 a div,您需要添加另一个div/child以便标签“标签:”不会被解释为标签本身:

<div>Tags: <span itemprop="keywords"><a href="/tags/foo" rel="tag">foo</a>, <a href="/tags/bar" rel="tag">bar</a></span></div>

通用标签

Common Tag是用于标记的 (RDF) 词汇表。与 Schema.org 的keywords属性相比,它使用 URI 作为标签,而不仅仅是文本。

他们在 RDFa 中的快速入门指南中的示例:

<div xmlns:ctag="http://commontag.org/ns#" rel="ctag:tagged">
   NASA's <a typeof="ctag:Tag" 
             rel="ctag:means"
             href="http://rdf.freebase.com/ns/en.phoenix_mars_mission"
             property="ctag:label">Phoenix Mars Lander</a> has deployed its robotic arm. 
</div>

说明: 内容ctag:tagged用标记 ( ) 标记 ( ctag:Tag)。ctag:means该标签由 URI“ http://rdf.freebase.com/ns/en.phoenix_mars_mission ”定义( ) ,它被称为(ctag:label)“Phoenix Mars Lander”

而不是ctag:Tag您可以使用该类ctag:AuthorTag(这意味着它由内容作者标记)。

护城河

还有 MOAT 词汇表,代表“标签的含义”。不幸的是,他们的网站似乎消失了(?)。

一种本体,允许用户定义标记对象和语义 Web 资源的 URI 之间的关系

于 2013-04-26T17:28:00.380 回答