itemtype必须是完整HTTPS schema.org URL,如https://schema.org/Product/,且需与itemscope成对出现在外层容器上,严格匹配大小写、协议和斜杠;它定义合法itemprop并依赖DOM层级绑定。

itemtype 必须是完整 HTTPS schema.org URL
单独写 itemtype="Product" 或 itemtype="https://schema.org/Product"(少一个斜杠)都会让整个微数据块失效。Google 和其他解析器只认完整、可访问、大小写精确的 HTTPS URL。
常见错误包括:
- 用 HTTP 协议:
http://schema.org/Product→ 解析器直接跳过 - 漏掉末尾斜杠:
https://schema.org/Product是错的,正确是https://schema.org/Product/ - 大小写错误:
https://schema.org/product/(小写 product)→ 不匹配官方定义 - 加了空格或不可见字符:
https://schema.org/Product/(U+2002 字符)→ URL 校验失败
验证方法:把 itemtype 值粘贴进浏览器地址栏,能打开 schema.org 官网对应页面才算合格。
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/Product/页面,滚动到底部看 “Properties” 列表,只取其中列出的名称(如name、image、offers) - 嵌套对象必须用对应类型:作者要标
itemprop="author",那它的子容器就得是itemscope itemtype="https://schema.org/Person/",不能用Organization替代 - 同一页面多个实体,每个都要独立
itemtype:三篇博客就该有三个itemscope itemtype="https://schema.org/Article/"容器,不能复用一个
itemtype 应该挂在哪种 HTML 元素上
推荐做法: 解析器靠 DOM 树层级判断 典型断裂场景: 真正起作用的不是某个孤立的 itemtype 必须和 itemscope 成对出现在**外层容器元素**上,这个容器得能包裹全部相关字段。它不能加在空
或文本节点上。,而不是额外套一层 包裹整个联系表单区域itemscope 同时罩住页头、正文、侧边栏——结构松散会导致 itemprop 绑定错位 无效,itemscope 要求有子内容和闭合标签itemtype 和 itemprop 的绑定依赖 DOM 层级
itemprop 归属哪个 itemtype。如果嵌套过深或中间断开,机器就读不到关系。
→ itemprop="author" 没绑定到任何 itemscope,整个 author 被丢弃 → itemprop 和 itemscope 必须在同一元素上postalCode 或 addressCountry:哪怕只缺一个,itemtype="https://schema.org/PostalAddress/" 就可能被判定为不完整,影响地图展示itemtype,而是它和 itemscope 共同划定的作用域边界,以及所有 itemprop 是否严格落在这个边界内、且符合类型契约。边界模糊或契约错配,结构化数据就等于没写。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











