itemtype必须是完整HTTPS URL,如https://schema.org/Person;HTTP、相对路径、大小写错误或末尾斜杠均导致解析失败;且需与itemprop类型匹配,嵌套时itemscope须紧贴itemprop声明。

itemtype必须是完整HTTPS URL,不能缩写或拼错
Google 和 WHATWG 解析器强制要求 itemtype 是可访问的、带 https:// 协议的绝对 URL,比如 https://schema.org/Person。写成 http://schema.org/Person、schema.org/Person、./Person 或直接 Person 都会导致整个 itemscope 块被忽略。
常见错误包括:
- 少一个
s:用http://替代https:// - 大小写混淆:如
https://schema.org/person(应为Person) - 多加斜杠:
https://schema.org/Person/(末尾斜杠会 404) - 本地路径或相对 URL:
/vocab/Product或vocab/Product
验证方式很简单:把 itemtype 的值粘贴进浏览器地址栏,必须返回 HTTP 200 状态码(哪怕页面是 HTML,不是 JSON-LD)。
itemtype和itemprop必须类型匹配,否则解析失败
itemtype 不只是“起个名字”,它是一份契约——决定了哪些 itemprop 是合法的。比如 itemprop="price" 只在 itemtype="https://schema.org/Offer" 或 https://schema.org/Product 下有效;如果写在 Person 里,Google Structured Data Testing Tool 会直接报错 “Property price is not a valid property of Person”。
查对方法只有唯一可靠路径:
- 打开
https://schema.org/ - 搜索你要的类型(如
LocalBusiness),进入其详情页 - 下拉到 “Properties” 表格,只用这里列出的
itemprop名称 - 注意每行右侧的 “Expected Type”,比如
image要求是URL或ImageObject,不能塞纯文本
别依赖旧文档或第三方教程,schema.org 页面每天更新,有些属性(如 businessHours)已废弃,需改用 openingHoursSpecification。
嵌套结构中,itemtype必须紧贴itemprop声明
当某个属性本身是另一个实体(比如作者、地址、评论者),嵌套的 itemscope 必须和 itemprop 在同一个元素上,不能隔层。
✅ 正确:
❌ 错误: —— 这里 itemprop="author" 没绑定到任何 itemscope,Google 直接丢弃整个嵌套块。
同理,地址类常漏掉必要子字段:PostalAddress 类型下,postalCode、addressCountry、streetAddress 缺一不可,否则 LocalBusiness 标记无法触发地图功能。
避免用硬套,优先复用语义化标签作itemscope容器
itemscope 和 itemtype 应该加在有实际语义的容器上,而不是无意义的 。这既减少 DOM 节点,又提升可读性与可维护性。
推荐组合:
- 文章主体 →
- 产品卡片 →
- 联系信息 →
- 作者信息 →
特别注意:不能把 itemscope 加在空标签、纯文本节点或 里没内容的段落上——作用域必须能包裹住所有相关 itemprop 子元素。
最易被忽略的一点:微数据是否生效,不看页面渲染效果,只看 Google Rich Results Test 工具里的检测结果。哪怕 HTML 结构看起来完全正确,只要 itemtype URL 返回 404、协议写错、或嵌套层级错位,整个块就等于不存在。
推荐组合: 特别注意:不能把 最易被忽略的一点:微数据是否生效,不看页面渲染效果,只看 Google Rich Results Test 工具里的检测结果。哪怕 HTML 结构看起来完全正确,只要 itemscope 和 itemtype 应该加在有实际语义的容器上,而不是无意义的
itemscope 加在空标签、纯文本节点或 里没内容的段落上——作用域必须能包裹住所有相关 itemprop 子元素。itemtype URL 返回 404、协议写错、或嵌套层级错位,整个块就等于不存在。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











