2026年起主流搜索引擎已停止解析hcard等旧微格式,仅支持schema.org/product微数据或json-ld;需严格匹配dom结构、url、uri规范及html语义层级,否则富摘要不触发。

搜索引擎根本不解析微格式(Microformats)
2026 年起,Google、百度等主流搜索引擎已停止对 hCard、hProduct 等旧式微格式的富摘要支持。你写再多 class="price" 或 rel="tag",爬虫不会提取、不校验、不展示——不是解析失败,是压根不看。
验证方式很简单:把页面丢进 Google Rich Results Test,如果报 “no structured data detected”,大概率就是用了微格式而非 Schema.org。
真正被解析的是 schema.org/Product 微数据或 JSON-LD
只有明确声明 itemtype="https://schema.org/Product"(带完整 HTTPS 协议头)的微数据,或语法正确的 Product 类型 JSON-LD,才可能触发电商富片段(价格、星级、供货状态)。
-
itemprop="price"必须嵌套在itemprop="offers"下,且priceCurrency和availability(值必须是https://schema.org/InStock这类标准 URI)不能缺 - JSON-LD 中的
"@id"必须匹配页面中某个真实 DOM 元素的id属性(如"@id": "https://example.com/p/123#main"→ 对应<div id="main">) <li> <code>"url"字段必须与当前页面 URL 完全一致,包括协议、域名、路径、查询参数;多一个&ref=abc就校验失败 - 商品核心内容(标题、价格、图片、评价)必须包裹在唯一
<main></main>内,且<main></main>是的直接子元素 -
<h1></h1>必须出现在<main></main>内,且与<title></title>语义一致;塞在<footer></footer>或靠display: none隐藏,会被判为 spam signal - 价格、库存等字段若由 JS 异步注入,而 JSON-LD 在首屏 HTML 中已固化,爬虫抓取到的就是空值或过期值
- DOM 中找不到 JSON-LD
"image"数组里的任意一张图(src 或 srcset 未命中)→ 标记降权处理 - 评价星级来自 Yotpo 等第三方插件,但其 DOM 节点没用
<div itemscope itemtype="https://schema.org/AggregateRating"> 包裹 → <code>"aggregateRating"被判定为“无来源凭据” - 同一页面混用微数据和 JSON-LD → 百度优先取 JSON-LD,但若 JSON-LD 有语法错误(如单引号、末尾逗号),整块失效
HTML 结构错位会让结构化数据“有标记却无效果”
即使 JSON-LD 语法完全正确,如果 HTML 主体结构不合规,搜索引擎无法将标记与视觉内容对齐,富片段照样不出现。
常见失效场景:不是代码写错,而是链路断了
90% 的“标记写了但 SERP 不显示”,问题不在 JSON-LD 本身,而在 HTML 与标记之间的上下文锚定断裂。
真正难的不是写出合法的 JSON-LD,而是让每一个字段都能在真实 DOM 中找到可验证的落点——结构是地基,标记只是图纸。











