JSON-LD Article 标记怎么写:字段清单、代码模板与验证方法 — 答流 AIGeoFlow · GEO 实战指南

JSON-LD Article 标记写在文章页 HTML 的 <script type="application/ld+json"> 中,用 Article、BlogPosting 或 NewsArticle 类型声明 headline、image、datePublished、dateModified、author 五个必填字段,取值须与页面可见内容一致;写完用 Rich Results Test 验证,再以 Search Console 文章报告确认生效。

Article 标记的作用与类型选择

JSON-LD 是 schema.org 词表的一种序列化方式,通过 <script type="application/ld+json"> 标签把页面实体写成内嵌 JSON。对文章页来说,它把标题、作者、时间、配图这些散落在 HTML 各处的信息,收敛成机器可无歧义读取的键值结构。Google、Bing 以及各家 AI 爬虫抓取页面时,解析这段 JSON 的成本远低于从自由文本里猜测。

选型先看继承链:Article 继承自 CreativeWork,NewsArticle 与 BlogPosting 又继承自 Article。Google 文章富结果同时接受这三个类型。实际规则很直接:新闻站或时政内容用 NewsArticle,这是 Google News 与 Top Stories 场景的约定类型;普通博客、企业内容页用 BlogPosting;拿不准就用父类型 Article 兜底——子类型语义缺失时,解析器会向上继承处理,不会因此丧失富结果资格。

要管理好预期:Google 从未把结构化数据列为直接排名因素。它的价值是让引擎更准确地抽取标题、作者与时间,从而稳定搜索结果里展示的文章名、发布日期与缩略图,解决的是「被正确理解」而非「排名靠前」。判断标记是否生效的唯一权威标准是 Search Console「增强功能」报告出现文章项且状态为有效,而不是肉眼猜测或第三方工具打分。若同站同时存在多种内容形态,按内容逐页选类型,不必全站统一。

必填字段与推荐字段逐项核对

对照 Google 文章结构化数据文档,以下字段为必填,缺失任意一个都会导致富结果判定不合格:

推荐补充这些字段:

一个高频坑:所有 URL——页面地址、图片、作者页、logo——都必须是带协议的绝对地址。相对路径如 /images/cover.jpg 在部分解析器里会被直接丢弃且不报错,只能靠富结果测试的警告或人工 view-source 发现。

完整可复制的 Article 代码模板

以下模板覆盖上文全部必填与推荐字段,替换成真实值后可直接粘贴到文章页 HTML 的 <head> 内(放在 body 里也能解析,位置不影响结果):

{
  "@context": "https://schema.org",
  "@type": "Article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.example.com/blog/json-ld-guide"
  },
  "headline": "JSON-LD Article 标记完整指南",
  "description": "本文讲解 Article 结构化数据的字段选择、代码写法与验证方法。",
  "image": [
    "https://www.example.com/images/cover-16x9-1200.jpg",
    "https://www.example.com/images/cover-4x3.jpg",
    "https://www.example.com/images/cover-1x1.jpg"
  ],
  "datePublished": "2026-09-15T09:30:00+08:00",
  "dateModified": "2026-09-18T14:20:00+08:00",
  "author": {
    "@type": "Person",
    "name": "张伟",
    "url": "https://www.example.com/authors/zhangwei"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example 出品",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.example.com/logo.png"
    }
  },
  "inLanguage": "zh-CN",
  "articleSection": "技术 SEO",
  "isAccessibleForFree": true
}

嵌入页面的最小写法:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "示例文章标题",
  "datePublished": "2026-09-15T09:30:00+08:00"
}
</script>

三点注意:第一,datePublished 与 dateModified 的时区偏移要与站点真实时区一致,中文站通常写 +08:00。第二,headline 面向用户展示优先于面向爬虫,不要写成关键词堆砌版本。第三,WordPress 用户先用浏览器 view-source 搜索 ld+json,确认主题或 SEO 插件是否已输出过一套 Article 标记;两套并存不一定报错,但字段值冲突时解析结果不可控,保留一套即可。

日期与作者字段的高频错误

这两个字段贡献了大多数无效标记,逐条排查:

日期类错误:

作者类错误:

多作者场景用数组,顺序即展示顺序:

"author": [
  { "@type": "Person", "name": "张伟", "url": "https://www.example.com/authors/zhangwei" },
  { "@type": "Person", "name": "李娜" }
]

修复后回到 Rich Results Test 重跑一次,确认错误清零;Search Console 的文章报告通常需要数天到两周才反映变更,期间不要反复改结构。

验证流程:三个工具加一条命令

上线前和上线后各验一次,流程固定:

1. Rich Results Test(search.google.com/test/rich-results)。粘贴 URL 或直接粘贴 JSON 代码,看两层数据:顶部是否检测到文章富结果;下方逐字段列出 error 与 warning。error 意味着不合格、拿不到富结果;warning 意味着可上线但缺推荐项。优先清 error,warning 逐步补齐。 2. Schema Markup Validator(validator.schema.org)。它只校验 schema.org 语法,不管富结果资格,能查出类型嵌套错误、非法属性名这类 Rich Results Test 不报的问题。 3. Search Console「增强功能 → 文章」报告。看有效、有效但有警告、无效三档数量趋势,这是唯一反映 Google 真实抓取后判定结果的工具,数据有数天延迟。

本地或 CI 里先做语法层校验,把明显错误挡在上游:

# 校验 JSON 语法,非法会直接报错并指出行号
jq . article.json > /dev/null && echo "JSON OK"

# 快速核对关键字段是否齐全
jq '{headline, datePublished, dateModified, author}' article.json

# 确认线上页面确实输出了 JSON-LD(返回值应 ≥ 1)
curl -s https://www.example.com/blog/json-ld-guide | grep -c 'application/ld+json'

最后一个动作别省:浏览器打开 view-source,确认 JSON-LD 存在于原始 HTML,而不是靠前端 JS 动态注入。Google 会执行渲染,但不少爬虫不跑 JS,注入式标记对它们等于不存在。

常见失败模式与排查清单

按出现频率从高到低:

排查顺序建议固定:语法、字段完整性、资源可达性、边缘拦截、日志确认,五步走完,绝大多数无效标记都能定位到具体环节。

结构化数据对 AI 搜索引擎意味着什么

JSON-LD 最初的消费方是搜索引擎富结果,现在多了一层:AI 搜索引擎的爬虫。我们自己站点的实测能说明它们的节奏:GPTBot 在站点上线后第 4 天完成全站 24 页抓取,此后每日 17:20–17:40 固定巡检 sitemap;Meta-ExternalAgent 会在新文章发布当天抓取,最快间隔约 2 小时。爬虫来得快,意味着标记错误也会被快速固化成机器对站点的理解。

需要诚实说明:OpenAI、Perplexity 等官方从未公布其管道是否直接消费 JSON-LD,这一点无法验证,只能通过引用结果反推。但结构化数据的工程逻辑是普适的——它把标题、作者、日期、事实以三元组形式写死在 HTML 里,任何抽取器的容错成本都低于解析自由文本。对希望被 AI 引用为答案来源的内容,这是边际成本最低的一项改造。

主动发现层面,向 IndexNow 推送 URL 有可观测效果:我们实测推送 43 个 URL 后返回 HTTP 202,次日 YandexBot 首次到访。IndexNow 对 Bing 与 Yandex 生效,对 Google 无效。

如果不想自建诊断、接入、监测这一整条链路,答流 AIGeoFlow 提供从 AI 可见性诊断、零改造技术接入到内容矩阵与引用监测的全栈交付,附技术就绪度与内容就绪度双维度免费评分——不承诺保证被 AI 推荐,只承诺可验证的硬指标。

常见问题

BlogPosting、NewsArticle 和 Article 应该选哪个?
看内容性质。新闻站或时政内容选 NewsArticle,这是 Google News 与 Top Stories 场景的约定类型;普通博客与企业内容选 BlogPosting;拿不准就用父类型 Article。三者都在 Google 文章富结果接受范围内,子类型缺失的属性会向上继承,不会因用父类型而丧失资格。
headline 超过 110 个字符会怎样?
Google 曾在文档中要求 headline 不超过 110 个字符,超出时富结果里的标题可能被截断,但不会直接判定无效。中文一个汉字计一个字符,写标题时把核心信息放在前 110 字符内即可。headline 应与页面 H1 一致或高度相关,不要写成关键词堆砌版本。
dateModified 每天自动更新会更好吗?
不会,反而有风险。Google 明确表示该字段应反映实质性内容修改,无实质改动却每天刷新属于时间操纵信号。原则是:更新数据、结论或大段正文时才改 dateModified,并同步在页面可见位置标注更新时间,保持标记与页面信息一致。
一个页面可以放多段 JSON-LD 吗?
可以。多段 <script type="application/ld+json"> 会被视为同一数据图合并,也可以用 @graph 把 Article、BreadcrumbList、Organization 写进一段脚本。前提是各段字段不冲突——同一页面出现两个不同的 datePublished 值时,解析结果不可控。
JSON-LD 能提升排名或加快收录吗?
都不能直接实现。Google 从未把结构化数据列为排名因素,其作用是让标题、作者、时间被准确抽取并稳定展示;收录取决于抓取与索引机制。我们实测新域名 13 天发布 53 篇内容、标记全部合格,site: 查询仍为零结果,索引明显滞后于抓取。
免费测一测:AI 能找到你的网站吗?

相关阅读