HTML5 数据结构(structured-data) 之 微数据(microdata)
|
210 |
Code
|
知道微数据是因为谷歌告诉我https://ted423.bitcron.com/post/anime/tangled这个页面的数据结构有问题(最后发现class里有个vevent,所以谷歌认为这是一个活动)
经过搜索,终于了解了微数据这么一个东西,微数据是为了方便机器(搜索引擎)识别而产生的东西。其有特定的规范,有特定的格式。可以丰富搜索引擎的网页摘要。
本人按自己的理解乱说了一通,不保证本篇文章具备学术严谨性。
还是以此为例说下
其中itemscope
标记了这块HTML标签具有微数据特性,该标签应该同时具有itemtype
来说明这块微数据描述的是什么。
比方说所上面那一块
<table itemscope itemtype="https://schema.org/Movie" style="font-size:10px;">
搜索引擎通过发现itemtype
是https://schema.org/Movie
,就能明白这说的是一部电影。
itemprop
则是具体元素,比方说
<span itemprop="name">魔发奇缘<br><small>Tangled</small></span>
再有itemref
可以在itemtype里再嵌套一个itemtype
类似这种
<meta itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" itemref="organization">
itemid
则是全局唯一标志,这个应该比较好理解,比方说身份证号什么的。
可以用结构化数据工具查看微数据用的有没有问题
微数据的作用在于能较好的转化为json
可以看到上文表格可以转化为
{
"items": [
{
"type": [
"https://schema.org/Movie"
],
"properties": {
"name": [
"魔发奇缘Tangled"
],
"image": [
"https://upload.wikimedia.org/wikipedia/zh/e/e6/Tangled_poster_on_zh_Wikipedia.jpg"
],
"director": [
"纳桑·格莱诺\n 拜伦·霍华德(Byron Howard)\n "
],
"actor": [
"曼迪·穆尔\n 扎卡里·李维\n 唐娜·墨菲\n (Donna Murphy\n \n )\n \n "
],
"copyrightHolder": [
"华特迪士尼动画工作室\n "
],
"locationCreated": [
"http://zh.wikipedia.org/wiki/%E7%BE%8E%E5%9C%8B"
],
"Duration": [
"\n 上映日期\n 2010年11月24日\n 2010年11月25日\n \n \n \t\n \n 2011年2月3日\n 未上映\n (其他国家)\n \n "
],
"datePublished": [
"\n 上映日期\n 2010年11月24日\n 2010年11月25日\n \n \n \t\n \n 2011年2月3日\n 未上映\n (其他国家)\n \n "
],
"publisher": [
" \n 华特迪士尼\n 洲立"
]
}
}
]
}