是向html中嵌入符合json-ld规范的结构化数据的标准方式,用于向google等搜索引擎精准传递页面内容语义,需严格遵循schema.org类型要求、合法json格式及完整https url等规则。

什么是 script type="application/ld+json" 标记
结构化数据加 schema.org,本质就是往网页 HTML 里塞一段符合 JSON-LD 规范的 script 块。Google 和 Bing 都优先认这个格式,不是加在 meta 里,也不是用 microdata 或 RDFa——除非你有特殊兼容需求,否则别绕弯。
关键点:必须是 <script type="application/ld+json"></script>,且内容是合法 JSON(不能有注释、尾逗号、单引号),放在 或 顶部都行,但别塞在其他 script 里或被 JS 动态注入(Google 不保证能抓到)。
怎么选对 @type 和必填字段
乱填 Article 或 WebPage 几乎没用,得按页面真实内容匹配最细粒度类型。比如企业官网首页用 Organization,产品页用 Product,博客文章用 BlogPosting,餐厅详情页用 Restaurant。
每个类型有强制字段,漏了 Google 可能直接忽略整段标记:
-
Organization:至少要有name、url、sameAs(或logo+image) -
Product:必须含name、offers(含price和priceCurrency)、image -
BlogPosting:需要headline、datePublished、author(含@type和name)
查字段要求别翻文档——直接用 schema.org 页面搜类型名,看右侧 “Properties” 列表里标 * 的项。
常见错误:JSON 格式错、URL 写死、时间戳不合规
这些错误不会让页面崩,但结构化数据在 Google Search Console 里显示“无效”,白忙活:
- JSON 里用了 JavaScript 风格写法:
const data = {...}或带// 注释—— 全部删掉,只留纯 JSON 对象 -
url或image字段写成相对路径(如"./logo.png")或本地路径("C:\img.jpg")——必须是完整 HTTPS URL -
datePublished写成"2024-05-20"(缺时间)或"May 20, 2024"(非 ISO 8601)——正确格式是"2024-05-20T14:30:00+08:00"或至少"2024-05-20" - 多个实体堆在一个
script块里却没用数组包住——每个script只放一个对象,或明确用[{...}, {...}]
怎么验证和上线后检查
别信编辑器语法高亮,用 Google 官方工具实测:
- 本地调试:把整段
script复制进 Markup Helper,选类型、粘贴 HTML 片段,它会标出缺失字段 - 上线后:用 URL Inspection Tool 抓取页面,点“测试实时 URL”,展开“富媒体搜索结果”看是否识别成功
- 真出问题?打开浏览器 DevTools → Network → 刷一次页面 → 找到 HTML 响应 → 搜索
ld+json,确认那段 JSON 确实返回了,且没被 CMS 或 CDN 错误截断
最常被忽略的是动态渲染场景:Next.js、Vue SSR 生成的页面,如果结构化数据靠客户端 JS 拼接再插入 DOM,Googlebot 很可能看不到。必须确保它出现在初始 HTML 字符串里。










