itemtype只能声明一个,重复值被忽略;需用嵌套itemscope表达多重身份,或拆分为多个独立itemscope块;URL必须是合法、可访问、大小写准确的HTTPS绝对地址。

itemtype只能写一个,重复声明会被忽略
HTML规范明确禁止在同一个元素上设置多个 itemtype。浏览器和结构化数据解析器(如 Google Rich Results Test)只认第一个值,后续的 itemtype 属性会被静默丢弃。
常见错误写法:<div itemscope itemtype="https://schema.org/Person">——第二个 <code>itemtype 完全无效。
- W3C Microdata 规范要求每个
itemscope元素有且仅有一个itemtype - WHATWG HTML 标准也规定:若存在多个
itemtype,仅第一个生效,其余被忽略 - Google Structured Data Testing Tool 会直接报“Invalid itemtype”或跳过整个块,不提示第二处错误
想表达“既是A又是B”,得用嵌套,不是并列
比如要表示“张三既是 Person,又是 Organization 的成员”,不能靠两个 itemtype,而必须把其中一类作为嵌套子对象来声明。
正确结构是让外层定义主类型(如 Person),再用 itemprop 指向一个带 itemscope 和另一个 itemtype 的内层容器:
立即学习“前端免费学习笔记(深入)”;
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
<div itemscope itemtype="https://schema.org/Person">
<span itemprop="name">张三</span>
<div itemprop="jobTitle" itemscope itemtype="https://schema.org/Organization">
<span itemprop="name">某某公司</span>
</div>
</div>
- 注意:
itemprop="jobTitle"这里语义其实不准确(应为worksFor),重点是嵌套位置必须紧贴——itemscope必须直接写在itemprop所在元素内部,不能隔层 - 如果写成
<div itemprop="worksFor"><div itemscope itemtype="..."></div></div>,Google 会完全忽略嵌套内容 - 嵌套层级没有硬性限制,但每层都必须有独立的
itemscope+itemtype
schema.org 本身支持多类型继承,但要用 URL 合并写法
某些 schema.org 类型天然具备多重身份,比如 https://schema.org/LocalBusiness 已隐含继承自 Organization 和 Place。这种继承关系由词汇表定义,不需要、也不能靠多个 itemtype 声明。
真正需要“混合类型”的场景(如某页面同时描述产品与评论),应该拆成多个独立 itemscope 块,各自声明对应 itemtype:
<div itemscope itemtype="https://schema.org/Product"> <h1 itemprop="name">iPhone 15</h1> </div> <div itemscope itemtype="https://schema.org/Review"> <p itemprop="reviewBody">很棒!</p> </div>
- 不要试图用
itemtype="https://schema.org/Product https://schema.org/Review"——这不是合法 URL,解析器直接报错 - URL 中不能有空格、逗号或分号;所有 schema.org 类型 URL 都是单值、绝对、HTTPS 开头
- 多个
itemscope可共存于同一页面,互不影响,Google 会分别提取
验证时最容易被忽略的点:HTTP 状态码和大小写
即使你只写了一个 itemtype,只要它指向的 URL 返回非 200 状态码(比如 404、301、甚至 302 跳转到 HTTP),Google 就认为该类型不可验证,整块结构化数据失效。
- 务必检查
itemtypeURL 是否能被 curl 或浏览器直连返回 200 ——例如https://schema.org/Person可以,但https://schema.org/person(小写 p)会 404 - 所有 schema.org URL 区分大小写,
Product≠product,Offer≠offer - 别用本地路径、相对路径、短链接或重定向服务生成的 URL,它们都不满足“可验证 HTTPS URL”要求


















