SEO 百科
Microdata
本页目录
Microdata
Microdata 是一套标记规范,把结构化数据嵌进 HTML 正文,用 itemscope、itemtype 与 itemprop 这些属性,把页面上的文字与属性名对应起来[1]。站长用它,是因为 Google 支持这种写法,标记直接贴在可见内容上,不必另加一段脚本[5]。代价是属性分散在 HTML 各处,改模板时容易碰坏。
定义与标记方式
Microdata 由 HTML 标准定义。标准把它描述成一组名值对,每组叫一个 item,每个名值对叫一个 property[1]。itemscope 声明一个 item 开始,itemtype 用来给出它的类型,itemprop 用来声明属性名。
类型用网址表示。例如 itemtype 指向 https://schema.org/Product,代表 Product 类型。属性值一般取元素的文字内容,例如 <span itemprop="name">云栖咖啡馆</span>。
网址型的属性由元素的地址属性承载,例如图片用 src,链接用 href。时间和数字可以借 time 元素的 datetime 属性与 meter 元素表达[1]。
嵌套由标签层级实现。在 item 里再放一个元素,给它加上 itemscope,就构成子 item,例如把 AggregateRating 嵌进 Product。
在页面中的位置
Microdata 贴在可见内容上,通常写在 body 里,也可以用在 head 里[5]。这一点与 JSON-LD 不同:JSON-LD 把数据单独放一段脚本,Microdata 则与页面文字长在一起。
优点是所见即所标。用户在页面上看到的价格与评分,标记就落在同一处,不容易出现标记与页面脱节。
缺点是模板一改就可能错位。列表页与详情页共用同一段 HTML 时,属性名写错或漏写,只有测试工具才会报错。
与其他两种写法的比较
Google 同时支持 Microdata、RDFa 与 JSON-LD,三者效力相同[5]。Google 推荐 JSON-LD,理由是在规模化实现与维护上更省力,也更不容易写错[5]。
Bing 声明各个爬虫不偏好任何一种规范,并且说明 schema.org 的词汇可以套用在 Microdata 上,两套说法能并存[4]。
对老站点来说,Microdata 仍有价值。标记已经写进 HTML 属性,不必为了迁移而重写整页。schema.org 的入门指南就用 Microdata 讲基本概念,JSON-LD 与 RDFa 也能照这一思路理解[3]。第三方把结构化数据的作用概括为帮着引擎读懂页面内容,从而在结果里展示更丰富的信息[7]。
可照抄的最小示例
下面是一段最小可用的 Microdata,描述一件商品。把它放进 body 即可。
<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Executive Anvil</span>
<img itemprop="image" src="https://www.example.com/anvil.jpg" alt="Executive Anvil" />
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<meta itemprop="priceCurrency" content="CNY" />
<span itemprop="price">899.00</span>
<link itemprop="availability" href="https://schema.org/InStock" />
</div>
</div>
写完以后,用富媒体搜索结果测试校验一遍再上线[5]。
写了不显示的原因
标记正确不等于一定出现富媒体结果,Google 说明它只让功能有资格出现[5]。原因在于算法还要结合搜索历史、位置与设备等因素,决定展示哪一类结果。
缺少必需属性也会让页面失去资格。Google 要求必需属性齐全,缺一项就不具备资格[2]。页面被 robots.txt、noindex 或登录要求挡住,爬虫看不到标记,同样不会显示[5]。
各家引擎的规则并不通用。百度把抓取到展现概括为三步:从互联网抓取网页、建立索引数据库、将索引库中数据展现给用户[6]。展现用哪套规则由百度自己决定,页面上的标记不必然带来结果变动。
常见误用
一个误用是给页面没有的内容加标记。标记描述的不是页面主体内容,或者与页面内容对不上,都会被判为不相关数据[5]。
另一个误用是漏掉 itemscope。只写 itemprop 而不声明 item,属性就成了散落的词,标准解析时会找不到归属[1]。
还有一种误用是在同一页面混用多套格式去标同一件事。同一份内容既写 Microdata 又写 JSON-LD,容易让测试工具给出互相矛盾的结果。
附录
参见
参考资料
官方(境外)
- 《HTML Standard(Microdata)》,WHATWG。
- 《HTML Microdata》,W3C,2013-10-29。
- 《Getting started》,schema.org。
- 《Marking up your site: Overview》,Bing 网站管理员。
- 《结构化数据标记简介》,Google 搜索中心,2025-12-10 更新。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
第三方
- 《What Is Schema Markup And How To Implement It》,Moz,2024-11-11 更新。
外部链接
无。