更新: 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。name
keywords
因此,对于典型的博客标签,您将采用以下方式(可能除了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
定义属性keywords
(BlogPosting
继承它):
用于描述此内容的关键字或标签。关键字列表中的多个条目通常由逗号分隔。
它需要纯文本,因此无法在 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 之间的关系