微数据
微数据是 WHATWG HTML 标准的一部分,用于将元数据嵌套在网页上现有内容中。搜索引擎和网页爬虫可以从网页中提取和处理微数据,并将其用于为用户提供更丰富的浏览体验。搜索引擎从直接访问此结构化数据中受益匪浅,因为它允许搜索引擎理解网页上的信息,并为用户提供更相关的结果。微数据使用支持词汇表来描述项目,并使用名称-值对将值分配给其属性。微数据试图提供一种比使用 RDFa 和经典微格式的类似方法更简单的方式来用机器可读的标记注释 HTML 元素。
从高层次上讲,微数据由一组名称-值对组成。这些组称为项目,每个名称-值对都是一个属性。项目和属性由常规元素表示。
- 要创建项目,使用
itemscope
属性。 - 要将属性添加到项目,在项目的某个后代上使用
itemprop
属性。
词汇表
Google 和其他主要搜索引擎支持 Schema.org 结构化数据词汇表。此词汇表定义了一组标准的类型名称和属性名称,例如,Schema.org 音乐活动 表示音乐会表演,具有 startDate
和 location
属性来指定音乐会的主要细节。在本例中,Schema.org 音乐活动 将是 itemtype
使用的 URL,而 startDate
和 location
将是 Schema.org 音乐活动 定义的 itemprop
。
注意:有关 itemtype 属性的更多信息,请访问 https://schema.org/Thing。
微数据词汇表提供了Item
的语义或含义。网页开发者可以设计自定义词汇表,也可以使用网络上可用的词汇表,例如广泛使用的 schema.org 词汇表。Schema.org 提供了一组常用的标记词汇表。
常用的词汇表
- 创意作品:CreativeWork、Book、Movie、MusicRecording、Recipe、TVSeries
- 嵌入的非文本对象:AudioObject、ImageObject、VideoObject
事件
- 健康和医疗类型:有关 MedicalEntity 下的健康和医疗类型的说明
组织
人物
Place
、LocalBusiness、RestaurantProduct
、Offer、AggregateOfferReview
、AggregateRating行动
事物
无形
像 Google、微软和雅虎!这样的主要搜索引擎运营商依赖于 schema.org 词汇表来改进搜索结果。对于某些目的,临时词汇表就足够了。对于其他目的,将需要设计词汇表。在可能的情况下,鼓励作者重复使用现有词汇表,因为这使得内容重复使用更加容易。
本地化
在某些情况下,覆盖特定地区的搜索引擎可能会提供微数据的本地特定扩展。例如,Yandex 是俄罗斯的主要搜索引擎,它支持 hCard
(公司联系信息)、hRecipe
(食物食谱)、hReview
(市场评论)和 hProduct
(产品数据)等微格式,并提供自己的格式来定义术语和百科全书文章。此扩展是为了解决西里尔字母和拉丁字母之间的音译问题。由于实施了 Schema 词汇表的额外标记参数,俄语网页上信息的索引变得更加成功。
全局属性
itemid
– 项的唯一全局标识符。
itemprop
– 用于将属性添加到项。每个 HTML 元素都可以指定一个 itemprop
属性,其中 itemprop
由名称-值对组成。
itemref
– 具有itemscope
属性的元素的非后代属性可以使用itemref与项目关联。itemref
提供文档中其他位置的具有附加属性的元素 ID(不是itemid
)列表。
itemscope
– itemscope
属性(通常)与itemtype
一起工作,以指定块中包含的 HTML 是关于特定项目的。itemscope
属性创建Item
并定义与其关联的 itemtype 的范围。itemtype
属性是描述项目及其属性上下文的词汇表(例如schema.org)的有效 URL。
itemtype
– 指定用于定义数据结构中itemprop
(项目属性)的词汇表的 URL。 itemscope
属性用于设置在数据结构中itemtype
设置的词汇表将处于活动状态的位置的范围。
示例
HTML
<div itemscope itemtype="https://schema.org/SoftwareApplication">
<span itemprop="name">Angry Birds</span> - REQUIRES
<span itemprop="operatingSystem">ANDROID</span><br />
<link
itemprop="applicationCategory"
href="https://schema.org/SoftwareApplication" />
<div
itemprop="aggregateRating"
itemscope
itemtype="https://schema.org/AggregateRating">
RATING:
<span itemprop="ratingValue">4.6</span> (
<span itemprop="ratingCount">8864</span> ratings )
</div>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
Price: $<span itemprop="price">1.00</span>
<meta itemprop="priceCurrency" content="USD" />
</div>
</div>
结构化数据
itemscope | itemtype | 软件应用程序 (https://schema.org/SoftwareApplication) | |
itemprop | 名称 | 愤怒的小鸟 | |
itemprop | 操作系统 | 安卓 | |
itemprop | 应用程序类别 | 软件应用程序 (https://schema.org/SoftwareApplication) | |
itemscope | itemprop[itemtype] | 总体评分 [AggregateRating] | |
itemprop | 评分值 | 4.6 | |
itemprop | 评分次数 | 8864 | |
itemscope | itemprop[itemtype] | 报价 [Offer] | |
itemprop | 价格 | 1.00 | |
itemprop | 价格货币 | 美元 |
结果
注意: 用于从 HTML 中提取微数据结构的便捷工具是 Google 的结构化数据测试工具。 在上面显示的 HTML 上试用它。