最稳妥方式是用<script type="application/ld+json">嵌入合法JSON对象,需严格满足五点硬性条件:type属性必须精确匹配、@context必须为https://schema.org、JSON语法合法、script标签直置于head或body内、服务端渲染不可依赖客户端JS注入。

直接用 <script type="application/ld+json"> 嵌入合法 JSON 对象,是向搜索引擎提交结构化数据最可靠、Google 明确推荐的方式。其他方式(如 Microdata、RDFa)容错率低、易随 HTML 结构变动失效,不建议新项目采用。
JSON-LD script 标签必须满足的硬性条件
Google 不会解析不符合基本规范的 JSON-LD,哪怕语义完全正确。以下五点任一不满足,Rich Results Test 就会报“无法解析”或字段缺失:
-
type属性必须严格写成"application/ld+json"(不是"text/json"、"application/json"或漏写) -
@context必须是"https://schema.org"(协议必须为https,拼错或写成http会失败) - 整个内容必须是合法 JSON:所有字符串键和值用双引号包裹,末尾不能有多余逗号,不能用单引号或未转义的换行
-
<script>标签必须直接置于<head>或<body>内——不能嵌套在<div>、<template>或其他标签中 - 不能依赖客户端 JS 注入:SSR 框架(如 Next.js、Nuxt)必须在服务端吐出该 script;
useEffect或DOMContentLoaded里动态插入无效
常见 Schema 类型对应的关键字段要求
填错类型或漏关键字段,Google 会静默忽略,不会报错但也不生成富摘要。不同 @type 的强制字段差异很大:
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
-
Article:必须含headline、datePublished(ISO 8601 格式,如"2026-05-07T14:22:00+08:00")、author(需是对象,带@type和name) -
BreadcrumbList:必须用itemListElement数组,每个元素是@type: "ListItem",含position(从 1 开始连续)、item(至少含@id绝对 URL 或name) -
TechArticle(适合 API 文档):除Article字段外,description强烈建议填写,publisher推荐补全组织信息 -
Organization或WebSite:首页用,避免在每页重复注入;logo必须是可公开访问的绝对 URL,返回 200
本地验证时最容易被忽略的细节
别等上线再测。用 Google URL Inspection Tool(原 Rich Results Test)拖入 HTML 文件或粘贴完整源码即可实时反馈。但以下三点常导致误判:
立即学习“前端免费学习笔记(深入)”;
- 浏览器插件干扰:广告屏蔽、隐私类扩展可能过滤掉
<script type="application/ld+json">,测试前务必禁用 - 相对路径未转绝对:比如
"image": "/assets/logo.png"会被视为无效 URL;必须写成"https://example.com/assets/logo.png" - 多实体共存时错误合并:页面同时有文章 + 作者 + 网站,应写成 JSON 数组
[{...Article...}, {...Person...}, {...WebSite...}],而非强行塞进一个对象的字段里
真正难的不是写对语法,而是让每个字段都指向真实、可访问、语义无歧义的资源——比如 datePublished 不能是占位符,@id 不能是死链,author.name 不能是 “管理员”。搜索引擎不校验真假,但用户点击后跳转失败,反而损害信任。


















