这三个属性必须成套出现,缺一不可;itemscope与itemtype须共存于外层容器声明作用域,itemprop用于绑定字段且大小写敏感,嵌套需紧贴、url须完整https,验证须用google工具确认检测结果。

直接说结论:这三个属性必须成套出现,缺一不可;单独加 itemprop 或只写 itemscope itemtype 都不会被搜索引擎识别为有效结构化数据。
itemscope + itemtype 必须写在外层容器上
这是作用域起点,相当于“声明一个新对象”。它不能加在文本节点、<p></p> 里没内容的空标签,也不能跨多个不相干区块复用。
-
itemscope必须配合itemtype,且itemtype值必须是完整 HTTPS URL,比如https://schema.org/Product,不能是Product或http://schema.org/Product - 推荐复用已有语义标签作容器,例如用
<article itemscope itemtype="https://schema.org/Recipe"></article>,而不是额外套一层<div> <li>如果页面有多个同类实体(如三篇食谱),每个都要独立的 <code>itemscope容器,不能共用一个 - 错误写法:
<p itemprop="name">iPhone <sup>®</sup></p>→ 提取值是"iPhone ®",含 HTML 实体和符号,Google 可能拒收价格或名称 - 正确做法:确保纯文本,必要时用
<meta itemprop="name" content="iPhone 15">替代可见内容 -
itemprop="price"只在itemtype="https://schema.org/Offer"下合法;写在Person里会报错 - 同一
itemscope内可多次使用相同itemprop(如多个itemprop="review"),会自动转为数组 - ✅ 正确:
<div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">张三</span></div> - ❌ 错误:
<div itemprop="author"><div itemscope itemtype="https://schema.org/Person"><span itemprop="name">张三</span></div></div>——itemprop="author"没绑定到任何itemscope - 地址类嵌套常漏掉
postalCode或addressCountry,导致LocalBusiness标记不完整,地图功能失效 - 日期时间必须用
<time itemprop="datePublished" datetime="2026-06-24">今天</time>,datetime属性才是机器读取源 - 价格优先用
<data itemprop="price" value="89.00">¥89</data>,避免空格、货币符号干扰解析 - SKU、库存状态等不可见字段,用
<meta itemprop="sku" content="AB123">,放在同级itemscope容器内即可 - 不要依赖
itemref跨区域拼接数据——主流搜索引擎基本不支持,验证时几乎不显示
itemprop 只能标注直接子内容,且大小写敏感
itemprop 不是“贴标签”,而是“绑定字段”——它提取的是当前元素的 textContent,不是 innerHTML。
嵌套对象必须紧贴 itemprop 所在元素写 itemscope
当某个属性本身是另一个实体(比如作者、地址、评论者),嵌套的 itemscope 不能隔层,否则 Google 直接丢弃整个嵌套块。
时间、价格、隐藏字段要用专用写法
纯文本易歧义,机器读取依赖特定 HTML 元素或属性,不能靠渲染后肉眼判断。
真正容易被忽略的,是 itemtype URL 的协议、大小写和末尾斜杠;哪怕只是多打一个字符,整个微数据块就变成普通 HTML 文本。验证务必用 Google Rich Results Test,看 “Detected items” 是否与预期完全一致,而不是只看有没有报错。











