必须使用 https://schema.org/blogposting,且需套在 标签上;headline、author(嵌套 person)、datepublished(iso 8601 格式 time 标签)等属性须严格按规范置于其内部直接子元素或后代中。

itemtype该用哪个URL才能被Google识别为博客文章
必须用 https://schema.org/BlogPosting,不是 Article,也不是 Blog 或 Post。虽然 Article 也能表示内容,但 Google Rich Results Test 明确要求博客类富摘要(如“博客文章”结果卡)只认 BlogPosting 类型。写成 http://schema.org/BlogPosting(HTTP 协议)或 https://schema.org/blogposting(小写)都会被直接忽略。
-
BlogPosting是唯一能触发“博客文章”富摘要的类型;Article只能触发通用“文章”结果,且不保证展示发布时间、作者头像等关键字段 - 不能用已弃用的旧 vocab,比如
http://data-vocabulary.org/Article——2026 年所有主流解析器均已停用该协议 - URL 必须完整、无多余斜杠,例如
https://schema.org/BlogPosting/(末尾多斜杠)会被视为无效
为什么把 itemtype 套在 上不如套在 里
因为 <article></article> 本身语义就是“可独立分发的内容单元”,和 BlogPosting 的语义完全对齐。搜索引擎和爬虫会优先信任这种原生语义与微数据的一致性,而额外套 <div itemscope itemtype="https://schema.org/BlogPosting"> 属于“语义冗余+结构污染”。
<ul>
<li>用 <code><article itemscope itemtype="https://schema.org/BlogPosting"></article> 可省掉一层 DOM,也避免 CSS 或 JS 因误选 div 而干扰语义逻辑
如果外层已用 <main></main> 包裹整篇博文,<article></article> 应是它的直接子元素,不能嵌套在 <section></section> 或 <div class="wrapper"> 里——否则破坏层级可信度
<li>某些 CMS 输出的 HTML 会自动给 <code><article></article> 加 class 或 id,只要不覆盖 itemscope 和 itemtype,就无需移除
常见错误:headline、author、datePublished 这些 itemprop 写在哪才生效
itemprop 必须出现在 <article itemscope itemtype="https://schema.org/BlogPosting"></article> 的**直接子元素或其后代中**,且每个字段要严格匹配 BlogPosting 官方定义的属性名(大小写敏感)。错位、拼写偏差、或脱离作用域都会导致字段丢失。
-
headline 应绑定在 <h1></h1> 或 <h2></h2> 上,不能放在 <p class="title"></p> 里;文本需纯文字,避免含 <sup></sup>、 等不可见字符
-
author 必须指向一个嵌套的 Person 实体:<span itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">李四</span></span>,不能只写 <span itemprop="author">李四</span>
-
datePublished 必须用 <time itemprop="datePublished" datetime="2026-09-28"></time>,datetime 值必须是 ISO 8601 格式(YYYY-MM-DD 或更精确),渲染文本可本地化,但机器只读 datetime
隐藏字段(如 articleBody、publisher)怎么安全补全
博客正文(articleBody)通常很长,不适合重复写两遍(一次可见,一次供结构化数据)。这时要用 <meta> 或 <script type="application/ld+json"></script> 补充,但注意:<meta itemprop> 必须在 <article></article> 内部,且带 content 属性。
- 正确:
<meta itemprop="articleBody" content="这是博客正文的纯文本摘要...">(放在 <article></article> 开始后、正文前)
- 错误:
<meta itemprop="articleBody" value="...">(value 属性不被识别)或 <meta itemprop="articleBody">(缺 content,值为空)
-
publisher 若是组织而非个人,必须嵌套 Organization 实体,并提供 name 和 logo(后者需 <link itemprop="logo" href="logo.png">);漏掉 logo 会导致富摘要无图标
最易被忽略的是嵌套层级:哪怕只错开一层(比如 itemprop="author" 在外层 <div>,而 <code>itemscope itemtype="https://schema.org/Person" 在它内部的 <span></span> 里),Google 就会整个丢弃 author 字段——它不尝试“猜测修复”,只按规范硬匹配。
因为 <article></article> 本身语义就是“可独立分发的内容单元”,和 BlogPosting 的语义完全对齐。搜索引擎和爬虫会优先信任这种原生语义与微数据的一致性,而额外套 <div itemscope itemtype="https://schema.org/BlogPosting"> 属于“语义冗余+结构污染”。
<ul>
<li>用 <code><article itemscope itemtype="https://schema.org/BlogPosting"></article> 可省掉一层 DOM,也避免 CSS 或 JS 因误选 div 而干扰语义逻辑
<main></main> 包裹整篇博文,<article></article> 应是它的直接子元素,不能嵌套在 <section></section> 或 <div class="wrapper"> 里——否则破坏层级可信度
<li>某些 CMS 输出的 HTML 会自动给 <code><article></article> 加 class 或 id,只要不覆盖 itemscope 和 itemtype,就无需移除常见错误:headline、author、datePublished 这些 itemprop 写在哪才生效
itemprop 必须出现在 <article itemscope itemtype="https://schema.org/BlogPosting"></article> 的**直接子元素或其后代中**,且每个字段要严格匹配 BlogPosting 官方定义的属性名(大小写敏感)。错位、拼写偏差、或脱离作用域都会导致字段丢失。
-
headline应绑定在<h1></h1>或<h2></h2>上,不能放在<p class="title"></p>里;文本需纯文字,避免含<sup></sup>、等不可见字符 -
author必须指向一个嵌套的Person实体:<span itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">李四</span></span>,不能只写<span itemprop="author">李四</span> -
datePublished必须用<time itemprop="datePublished" datetime="2026-09-28"></time>,datetime值必须是 ISO 8601 格式(YYYY-MM-DD或更精确),渲染文本可本地化,但机器只读datetime
隐藏字段(如 articleBody、publisher)怎么安全补全
博客正文(articleBody)通常很长,不适合重复写两遍(一次可见,一次供结构化数据)。这时要用 <meta> 或 <script type="application/ld+json"></script> 补充,但注意:<meta itemprop> 必须在 <article></article> 内部,且带 content 属性。
- 正确:
<meta itemprop="articleBody" content="这是博客正文的纯文本摘要...">(放在<article></article>开始后、正文前) - 错误:
<meta itemprop="articleBody" value="...">(value属性不被识别)或<meta itemprop="articleBody">(缺content,值为空) -
publisher若是组织而非个人,必须嵌套Organization实体,并提供name和logo(后者需<link itemprop="logo" href="logo.png">);漏掉logo会导致富摘要无图标
最易被忽略的是嵌套层级:哪怕只错开一层(比如 itemprop="author" 在外层 <div>,而 <code>itemscope itemtype="https://schema.org/Person" 在它内部的 <span></span> 里),Google 就会整个丢弃 author 字段——它不尝试“猜测修复”,只按规范硬匹配。











