百度官方推荐首选json-ld格式,因其与html分离、维护方便、支持度高;其次为microdata(用itemprop);rdfa(用property)需严格搭配typeof和prefix才有效,且不推荐新手使用。

property 属性本身不用于 HTML 中标记结构化数据——它属于 RDFa(Resource Description Framework in Attributes)规范,不是 Microdata(即 itemprop/itemscope)或 JSON-LD 的一部分。如果你在 HTML 里看到 property,那基本意味着你正在用 RDFa,而不是常见的 Microdata 方式。
为什么直接写 property 在多数页面里没效果
搜索引擎(尤其是 Google)目前主推 JSON-LD,对 RDFa 支持有限且不稳定;Microdata 是次选,但必须用 itemprop 配合 itemscope+itemtype。RDFa 的 property 必须搭配 typeof 和 prefix 才能被识别,缺一不可。
- 单独写
<div property="name">张三</div>:解析器会忽略,因为没有声明 RDFa 上下文(如prefix)和实体类型(typeof) -
property值不是自由字符串,必须是带命名空间的 URI,例如schema:name,而非name - 需要在根元素或
显式声明prefix="schema: https://schema.org/",否则schema:name无法解析
property 和 itemprop 完全不能混用
Microdata 和 RDFa 是两套互斥的结构化数据语法。你在同一个元素上同时写 itemprop="name" 和 property="schema:name",结果是:只有其中一种可能被部分工具识别,另一方被丢弃;Google Rich Results Test 会优先忽略 RDFa,除非明确配置为 RDFa 模式。
- Microdata 使用
itemprop+itemscope+itemtype="https://schema.org/Person" - RDFa 使用
property="schema:name"+typeof="schema:Person"+prefix="schema: https://schema.org/" - 两者字段映射关系不是自动转换的:即使都标了 “name”,
itemprop="name"对应的是https://schema.org/name,而property="schema:name"是同一语义,但解析路径不同
实际项目中该选哪个?
除非已有遗留 RDFa 系统或 CMS 强制输出 RDFa,否则别主动用 property。2026 年主流实践已收敛到 JSON-LD —— 它不干扰 HTML 结构、调试方便、支持嵌套对象、Google 官方文档明确推荐。
- 想快速验证:用
<script type="application/ld+json">{...}</script>直接写 JSON-LD,扔进 Rich Results Test - 如果必须嵌入 HTML(比如 CMS 不允许加
<script></script>),就老实用 Microdata:itemprop,别碰property - RDFa 的
property在 WordPress 插件、Drupal 模块里偶有出现,但通常由插件自动生成,开发者只需确认prefix和typeof是否正确,不要手动补property
真正容易被忽略的点是:哪怕你写了正确的 property="schema:name",只要父级没 typeof 或全局没 prefix,整个结构化数据就等于不存在——这种错误在源码里完全看不出来,只能靠测试工具暴露。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











