itemprop 必须依附于有效的 itemscope + itemtype 容器,值须来自用户可见文本或标准 / 标签,否则 google 视为无效;不可拼接、不可隐藏、不可跨标签提取,嵌套需直连。

直接说结论:itemprop 单独用没用,它必须依附于一个有效的 itemscope + itemtype 容器,且值必须来自用户可见文本或标准 <meta>/<time></time> 标签——否则 Google 会当它不存在。
itemprop 必须绑定在 itemscope 容器内才生效
itemprop 不是独立属性,它像“子字段”,没有父级上下文就无法被识别。常见错误是把 itemprop="name" 写在没套 itemscope itemtype 的 <div> 或 <code><p></p> 里,整段结构化数据直接被跳过。
- ✅ 正确写法:
<div itemscope itemtype="https://schema.org/Product"><h1 itemprop="name">iPhone 15</h1></div> - ❌ 错误写法:
<div><h1 itemprop="name">iPhone 15</h1></div>(缺itemscope和itemtype) - ⚠️ 更隐蔽的错:
<div itemscope><div itemtype="https://schema.org/Product"><span itemprop="name">…</span></div></div>(itemscope和itemtype分开在父子标签上)
itemprop 值不能靠拼接,只取第一个匹配元素的文本
Google 不会合并多个 itemprop 元素的内容,也不支持跨标签提取。比如想标产品价格,不能把数字和货币符号拆成两个标签写。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
- ✅ 可识别:
<span itemprop="price">¥5999</span>或<meta itemprop="price" content="5999"> - ❌ 无效:
<span itemprop="price">5999</span><span>元</span>(后一个没itemprop,不参与结构化) - ⚠️ 注意:
<span itemprop="price">¥</span><span itemprop="price">5999</span>会只取第一个“¥”,不是“¥5999”
不可见内容必须用 或
搜索引擎优先抓用户能看到的文本。itemprop 写在 display: none 的 <div> 里,或 CSS 隐藏的元素中,大概率被忽略;但用 <code><meta itemprop="sku" content="A123"> 就完全没问题。
- 日期必须用:
<time datetime="2026-07-23T10:00:00+08:00" itemprop="datePublished"></time>,不能写“今天”或“7月23日” - SKU、MPN、GTIN 等内部标识,一律走
<meta itemprop="sku" content="..."> - 图片 URL 不能用
itemprop="image"包裹<img>标签,而应写成:<link itemprop="image" href="https://example.com/1.jpg">或<meta itemprop="image" content="https://example.com/1.jpg">
嵌套对象要用紧贴的 itemscope,不能隔层
当某个 itemprop 指向另一个实体(如 author 是 Person),嵌套的 itemscope 必须作为该 itemprop 属性的**直接子容器**,中间不能插其他标签。
- ✅ 正确:
<div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">张三</span></div> - ❌ 失效:
<div itemprop="author"><div><div itemscope itemtype="...">…</div></div></div>(itemprop="author"和itemscope不直连) - ⚠️ 地址类常漏字段:
PostalAddress必须包含addressCountry、postalCode、streetAddress,缺一不可,否则 LocalBusiness 富摘要不展示地图标记
真正难的不是写对语法,而是让每个 itemprop 值都和页面上用户实际看到的内容严格一致——哪怕多一个空格、少一个单位符号,都可能让富摘要掉线。Google 不会帮你“猜意图”,它只认你明确定义的、可验证的、可见的那部分。










