itemtype必须是完整HTTPS Schema.org URL,如https://schema.org/BlogPosting,写成BlogPosting或缺协议/路径均无效;须与itemscope成对置于<article>等外层容器,且每个博文需独立声明。

itemtype 必须是完整 HTTPS Schema.org URL
静态博客里写 itemtype="BlogPosting" 或 itemtype="https://schema.org/BlogPosting",只有后者会被搜索引擎识别。前者根本无效——Google Structured Data Testing Tool 会直接报错“Invalid type”。Schema.org 明确要求使用带协议、域名、路径的绝对 URL,且必须是 HTTPS。
itemtype 要和 itemscope 成对出现在外层容器上
不能只加 itemtype,也不能把它丢在 <p> 或 <span> 里。它必须和 itemscope 一起写在包裹整篇博文的语义化标签上,比如:
<article itemscope itemtype="https://schema.org/BlogPosting"> <h1 itemprop="headline">我的第一篇技术笔记</h1> <time itemprop="datePublished" datetime="2026-10-05">2026年10月5日</time> <div itemprop="articleBody">正文内容...</div> </article>
-
<article>是推荐容器,比<div>更语义化,也更利于 SEO - 每个独立博文必须有自己独立的
itemscope+itemtype,不能多个文章共用一个外层容器 - 如果用了 Jekyll/Hugo 等静态生成器,确保模板中
itemscope和itemtype在每篇post循环内正确渲染
itemprop 值必须匹配 itemtype 的合法字段
itemprop="author" 在 BlogPosting 下合法,但 itemprop="price" 就不行——后者只属于 Offer 或 Product。常见误配包括:
- 在
BlogPosting里用itemprop="offers"(应属Product) - 用
itemprop="name"代替itemprop="headline"(BlogPosting要求用headline) -
itemprop="image"指向相对路径如"/img/cover.jpg",但 Google 要求绝对 URL 或带src的<img>标签
时间、作者等嵌套结构必须紧贴 itemprop 写
如果想标出作者是 Person 类型,不能这样写:
立即学习“前端免费学习笔记(深入)”;
<p itemprop="author"><span itemscope itemtype="https://schema.org/Person">张三</span></p>
这是错的——itemprop="author" 没绑定到任何 itemscope,Google 直接忽略整个嵌套。正确写法是:
<span itemprop="author" itemscope itemtype="https://schema.org/Person"> <span itemprop="name">张三</span> </span>
- 嵌套的
itemscope必须和itemprop在同一个元素上,不能隔层 - 日期必须用
<time>标签 +datetime属性,纯文本如 “2026年10月5日” 不会被解析为机器可读时间 - 隐藏字段(如作者邮箱)可用
<meta itemprop="email" content="me@example.com">,放在<head>或<article>内均可,但需确保父级有对应itemscope
itemprop 其实没被识别。尤其注意嵌套层级和 URL 协议——这两个点,90% 的静态博客微数据失效都卡在这儿。



















