itemscope和itemtype必须写在同一HTML元素上,因解析器仅将二者共存的元素识别为有效实体;分拆、缺一或URL格式错误(如非HTTPS、带斜杠、大小写错)均导致整块微数据被静默丢弃。

itemscope 和 itemtype 必须写在同一 HTML 元素上,缺一不可;单独加任一属性,结构化数据就完全失效。
为什么必须写在同一个标签里?
搜索引擎解析微数据时,只把同时带 itemscope 和 itemtype 的元素识别为一个“可提取的实体”。它不是父子关系,也不是配置开关——而是绑定对,类似函数调用必须传齐参数。
-
itemscope单独出现:浏览器知道“这里开始一个新对象”,但不知道是什么类型,直接跳过整块 -
itemtype单独出现:只是个字符串值,没有作用域上下文,爬虫根本不启动微数据收集流程 - 分拆写(如
<div itemscope><section itemtype="https://schema.org/Person">):解析器找不到匹配对,静默丢弃 <h3>itemtype 的 URL 有哪些硬性要求?</h3> <p>2026 年起所有主流工具(Google Rich Results Test、Bing Markup Validator)已严格校验格式。错一个字符,整块数据就失效。</p> <ul> <li>协议必须是 <code>https://,http://已被拒收(http://schema.org/Person❌) - 域名必须是
schema.org,不能省略或拼错(schmea.org/Person❌) - 路径末尾不能有斜杠(
https://schema.org/Person/❌,https://schema.org/Person✅) - 大小写敏感:
https://schema.org/person或https://schema.org/PERSON都无效 - 不能用缩写或别名:
itemtype="Person"❌,itemtype="schema:Person"❌
嵌套结构中 itemtype 怎么写?
嵌套不是“继承父类型”,而是“新开一个独立实体”。每个需要被结构化识别的子对象,都得自己带 itemscope 和 itemtype,且必须紧贴 itemprop 所在元素。
实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。
- 错误写法:
<div itemprop="author"><span itemscope>张三</span></div>——itemscope没配itemtype,也没绑定到itemprop - 正确写法:
<div itemprop="author" itemscope itemtype="https://schema.org/Person">张三</div>——itemprop和itemscope itemtype在同一元素 - 地址类必须嵌套完整类型:
itemprop="address"后必须跟itemscope itemtype="https://schema.org/PostalAddress",不能只写itemprop="address"+ 文本
常见验证失败却查不出原因的点
Google Rich Results Test 不报语法错误,但数据不显示——往往卡在这些隐蔽细节:
立即学习“前端免费学习笔记(深入)”;
- 页面用了旧域
http://data-vocabulary.org/,2026 年 10 月起已全量停用,必须全部替换成https://schema.org/ -
itemtype值里混入了不可见空格或换行符(比如复制粘贴时带了富文本空格) - 父容器用了
,但所有itemprop都在深层<p></p>里,中间隔着没声明微数据的 wrapper,导致层级断裂 - 多个同类实体(如三篇食谱)共用一个外层
itemscope,实际每篇都该各自有独立容器
itemscope 和 itemtype 不在同一个起始标签里,或者 URL 少了一个字符,机器就读不到。


















