必须使用 https://schema.org/BlogPosting,且需套在 <article> 标签上;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 套在 <div> 上不如套在 <article> 里
因为 <article> 本身语义就是“可独立分发的内容单元”,和 BlogPosting 的语义完全对齐。搜索引擎和爬虫会优先信任这种原生语义与微数据的一致性,而额外套 <div itemscope itemtype="https://schema.org/BlogPosting"> 属于“语义冗余+结构污染”。
- 用
<article itemscope itemtype="https://schema.org/BlogPosting">可省掉一层 DOM,也避免 CSS 或 JS 因误选div而干扰语义逻辑 - 如果外层已用
<main>包裹整篇博文,<article>应是它的直接子元素,不能嵌套在<section>或<div class="wrapper">里——否则破坏层级可信度 - 某些 CMS 输出的 HTML 会自动给
<article>加 class 或 id,只要不覆盖itemscope和itemtype,就无需移除
常见错误:headline、author、datePublished 这些 itemprop 写在哪才生效
itemprop 必须出现在 <article itemscope itemtype="https://schema.org/BlogPosting"> 的**直接子元素或其后代中**,且每个字段要严格匹配 BlogPosting 官方定义的属性名(大小写敏感)。错位、拼写偏差、或脱离作用域都会导致字段丢失。
-
headline应绑定在<h1>或<h2>上,不能放在<p class="title">里;文本需纯文字,避免含<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">,datetime值必须是 ISO 8601 格式(YYYY-MM-DD或更精确),渲染文本可本地化,但机器只读datetime
隐藏字段(如 articleBody、publisher)怎么安全补全
博客正文(articleBody)通常很长,不适合重复写两遍(一次可见,一次供结构化数据)。这时要用 <meta> 或 <script type="application/ld+json"> 补充,但注意:<meta itemprop> 必须在 <article> 内部,且带 content 属性。
立即学习“前端免费学习笔记(深入)”;
- 正确:
<meta itemprop="articleBody" content="这是博客正文的纯文本摘要...">(放在<article>开始后、正文前) - 错误:
<meta itemprop="articleBody" value="...">(value属性不被识别)或<meta itemprop="articleBody">(缺content,值为空) -
publisher若是组织而非个人,必须嵌套Organization实体,并提供name和logo(后者需<link itemprop="logo" href="logo.png">);漏掉logo会导致富摘要无图标
最易被忽略的是嵌套层级:哪怕只错开一层(比如 itemprop="author" 在外层 <div>,而 itemscope itemtype="https://schema.org/Person" 在它内部的 <span> 里),Google 就会整个丢弃 author 字段——它不尝试“猜测修复”,只按规范硬匹配。



















