itemprop="author"必须嵌套在itemscope容器内,单独使用无效;作者值推荐嵌套person实体以支持url、sameas等扩展属性,纯字符串仅识别为文本;常见错误包括父级无itemscope、itemtype不匹配或内容为空。

itemprop="author" 必须嵌套在有 itemscope 的容器里
单独写 <span itemprop="author">张三</span> 是无效的,Google Structured Data Testing Tool 会直接忽略。必须让这个元素属于某个 itemscope 标记的实体,比如 Article 或 BlogPosting。
常见错误是只加了 itemprop,却忘了上层容器的 itemscope 和 itemtype:
<article itemscope itemtype="https://schema.org/Article"><h1 itemprop="headline">标题</h1> <span itemprop="author">张三</span> </article>
如果作者是多人,itemprop="author" 可重复出现,但每个都得在同一个 itemscope 下。
作者值该用字符串还是嵌套 Person 实体?
两种写法都合法,但语义强度和富媒体展示效果差别很大:
- 纯字符串(简单):
<span itemprop="author">李四</span>→ 仅被识别为文本,无法关联头像、主页、社交账号等 - 嵌套
Person(推荐):<span itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">李四</span></span>→ 支持扩展url、sameAs、image等属性,利于 Google 展示作者卡片
注意:嵌套时 itemprop="author" 的值就是整个 Person 实体,不是里面的 name 字段——所以不要误写成 itemprop="author" itemprop="name",这会导致后者覆盖前者。
遇到 “Author not detected” 错误的三个高频原因
在 Google Rich Results Test 中提示未检测到作者,大概率是以下之一:
-
itemprop="author"所在元素没有渲染到 DOM(例如被 JS 动态插入但测试工具未执行 JS) - 父级
itemscope容器的itemtype不是 Google 支持的类型(如用了https://schema.org/CreativeWork而非Article或BlogPosting) - 作者内容为空或只含空白字符,比如
<span itemprop="author"> </span>,Google 会跳过
验证前先用浏览器“查看页面源代码”,确认结构已静态存在,而非依赖客户端渲染。
microdata 和 JSON-LD 混用时 author 属性不冲突
可以同时用 microdata(即 itemprop)和页面底部的 <script type="application/ld+json"></script>,Google 会合并解析。但要注意:如果两者都声明了 author,且值不一致,Google 可能取其一或报 warning。
实际建议是二选一,优先用 JSON-LD —— 更易维护、不污染 HTML 结构、支持更复杂的嵌套关系。只有当 CMS 限制无法注入 script 标签时,才用 microdata。
真正容易被忽略的是时间戳配合:Google 对 Article 类型要求至少有 datePublished,否则即使 author 正确,也可能降权或不触发富结果。别只盯着作者字段本身。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











