itemprop 必须与 itemscope、itemtype 成套使用,否则被搜索引擎忽略;itemscope 定边界,itemtype 定契约,itemprop 仅标识字段归属。

直接加 itemprop 没用,必须和 itemscope、itemtype 成套出现,否则搜索引擎完全忽略。
为什么 itemprop 单独写无效
itemprop 不是独立语义标签,它只是“在某个已声明的实体里,标记某段内容属于哪个字段”。没有 itemscope 定边界、没有 itemtype 定契约,itemprop 就像没填收件人地址的快递单——系统根本不知道往哪送、该信谁。
-
itemscope必须加在外层容器(如<div>、<code><section></section>)上,不能只加在文本元素里 -
itemtype必须是完整 HTTPS URL,比如https://schema.org/Product,写成http://、小写product或缺斜杠都会被 Google 直接丢弃 - 浏览器和结构化数据测试工具(如 Rich Results Test)对大小写、协议、拼写零容忍,2026 年已不兼容旧 vocab(如
http://data-vocabulary.org/Person) - 错误写法:
<p itemprop="price">¥ 89.00</p>→ 提取值为"¥ 89.00"(含不间断空格),Google 拒绝识别价格 - 正确做法:用普通空格,并统一清洗:
textContent.replace(/\s+/g, ' ').trim() - 想隐藏值(如 SKU、内部 ID),用
<meta itemprop="sku" content="A2890">,但必须放在同级itemscope容器内;没有content的<meta>会被忽略 -
<img itemprop="image" src="...">不生效——itemprop="image"要求值是 URL 字符串,得改用<link itemprop="image" href="...">或<meta itemprop="image" content="..."> - ✅ 正确:
<div itemprop="author" itemscope itemtype="https://schema.org/Person">张三</div> - ❌ 错误:
<div itemprop="author"><div itemscope itemtype="..."></div></div>→itemprop="author"没绑定任何itemscope,Google 不认 - 常见漏项:LocalBusiness 的
address嵌套中,缺postalCode或addressCountry,会导致地图展示失败 -
itemref在 2026 年几乎无实际效用——主流搜索引擎不支持跨区域拼接,别依赖它
itemprop 值只能是纯文本或 URL,不能含 HTML 标签
微数据提取器只读取元素的 textContent,不是 innerHTML。一旦你在 itemprop 元素里嵌了 <sup></sup>、<em></em> 或空格实体(如 ),那些字符会原样进结构化值,导致价格、日期等字段解析失败。
嵌套结构里 itemprop 和 itemscope 必须在同一元素上
当属性本身是个对象(比如 author 是 Person,address 是 PostalAddress),嵌套的 itemscope 不能“隔层”,必须作为该 itemprop 的直接载体,否则整个嵌套块被丢弃。
最容易出问题的不是语法写错,而是类型选错:页面主体是公司介绍页,却套用 Product 类型;price 写在 Person 下;startDate 用在非 Event 类型里。这些不是警告,是直接失效。











