免费工具 结构化数据检测:JSON-LD 与整页源代码
粘贴一段 JSON-LD,或者整页的网页源代码。工具会找出所有 application/ld+json,JSON 写错时告诉你第几行第几列,列出每一项的 @type 和 @id,并按 Google 的要求检查属性。它不是 Google 官方的检测工具:用它快速找问题,再用富媒体搜索结果测试确认。
- 找出所有 JSON-LD
- 与生成器同一套规则
- 本地检测
检测 JSON-LD 或整个网页
示例是一个带两段 JSON-LD 的商品页,里面有几处常见错误。换成你自己的代码:在浏览器里查看网页源代码(Ctrl+U / ⌥⌘U)全选复制,或只贴一段 JSON-LD。
以 { 或 [ 开头按一段 JSON-LD 处理;其它内容按 HTML 处理,从中找 <script type="application/ld+json">。
JSON-LD 块
2
找到的 script 标签数
条目
2
顶层对象,@graph 里的每一项单独算
错误
2
会失去富结果资格
警告
2
推荐项或有风险的写法
找到的条目
| 块 | @type | @id 或名称 | 状态 |
|---|---|---|---|
| 1 | Product | 亚麻短袖衬衫 藏青色 | 2 个错误 |
| 2 | BreadcrumbList | — | 通过 |
检查结果
按严重程度排序;行号对应你粘贴的内容。
- 错误第 14 行Product › offers › price:"¥299.00" 带了货币符号或币种。price 只写数字(299.00),币种写在 priceCurrency(CNY)。
- 错误第 17 行Product › offers › priceValidUntil:"2026/12/31" 不是 ISO 8601 日期,应写成 2026-11-09 或 2026-11-09T09:00:00+08:00。
- 警告第 6 行Product:缺少推荐属性 "description"。页面上有这项信息就补上。
- 警告第 10 行Product › image:"/images/linen-navy.jpg" 是相对地址。写成带 https:// 的完整网址,换到哪里读都不会出错。
- 通过第 23 行BreadcrumbList:面包屑有效。2025 年 1 月起 Google 只在电脑端结果显示面包屑,手机端只显示域名。
版本 v1.0更新于 更新记录
报告里每一部分的意思
四个数字、一张条目表、一份检查清单。
块和条目
一个块就是一个 script 标签;条目是块里的顶层对象,带 5 个节点的 @graph 算 5 项。Product 里的 Offer 这类嵌套对象随上级一起检查,不单独计数。
语法错误
某一块不是合法 JSON,Google 和本工具都读不出里面的任何内容。行列号指向解析停下的位置,从你粘贴内容的第一行算起,所以直接贴整页源代码就能对上。
错误和警告
错误:缺必填属性或格式不对,这一项拿不到富结果。警告:漏了推荐属性,或写法合法但有风险,比如相对网址。
提示
值得知道但不算错的信息:Google 已不展示 FAQ、HowTo 富结果,面包屑只在电脑端显示,或者某个类型不在本工具的规则表里。
本工具不是 Google 的检测工具,也不是 Schema.org 官方验证器。它只按常见类型的规则检查你粘贴的 JSON,看不到 JavaScript 渲染出来的标记、页面正文和人工处罚。最终结论以 Google 富媒体搜索结果测试为准。百度不按 schema.org 展示富结果,它的「时间因子」JSON-LD 规范不在本工具检查范围内。
三步
一段代码、一个模板或整页源代码都可以。
-
1
粘贴代码
打开页面,查看源代码,全选粘贴。如果 JSON-LD 是 JavaScript 加载后才插入的(Vue、React 单页应用常见),改从开发者工具的 Elements 面板复制渲染后的 HTML。
-
2
先改错误
先改语法错误:一个多余的逗号就会让整块失效。再改必填属性和格式。
-
3
用 Google 确认
清单干净后发布,用富媒体搜索结果测试检测网址;之后在 Search Console 的「增强功能」报告里看全站情况。
报告背后的规则
检查分三类:JSON 语法、schema.org 结构、Google 对已支持类型的要求。规则和结构化数据生成器是同一套。
- 深度检查的类型:文章类、Product、Offer、AggregateRating、Review、Organization、LocalBusiness 及常见子类型、BreadcrumbList、FAQPage、SoftwareApplication、HowTo
- 同一块里用
@id引用的节点会跟过去检查 - 不认识的类型只给提示,不算错误;schema.org 有几百个类型
| 检查 | 问题示例 | 级别 |
|---|---|---|
| JSON 语法 | 末尾逗号、单引号、中文引号、注释 | 错误,带行列号 |
| @context | 缺失,或写成不带 https:// 的 "schema.org" | 错误 |
| @type 拼写 | "product" 而不是 "Product" | 错误 |
| 必填属性 | Product 没有 offers、review、aggregateRating | 错误 |
| 日期 | 2026/12/31 而不是 2026-12-31 | 错误 |
| 价格和币种 | "¥299.00"、"1,299"、"RMB" | 错误 |
| 网址 | /images/a.jpg(相对地址) | 警告 |
| 推荐属性 | Article 没有 dateModified | 警告 |
示例页面逐行看
默认输入是一个带两段 JSON-LD 的商品页,检测结果:2 项、2 个错误、2 个警告。
| 位置 | 问题 | 改法 |
|---|---|---|
| Product › offers › price | "¥299.00" 带了货币符号 | "price": "299.00",币种仍写 CNY |
| Product › offers › priceValidUntil | "2026/12/31" 不是 ISO 8601 | "2026-12-31" |
| Product › image | 相对地址 | "https://example.cn/images/linen-navy.jpg" |
| Product | 没有 description | 补上页面上的商品描述 |
| BreadcrumbList | 有效;最后一项没有网址 | 不用改:最后一项就是当前页 |
改掉两处错误后,Product 就没有错误了,可以参与商品摘要。ratingValue 写成字符串 "4.8" 也接受,写数字同样可以。
结构化数据最常坏在哪里
这些在真实网页源代码里反复出现。
CMS 把引号转义了
会做 HTML 转义的字段把 " 变成 ",放在 script 标签里就不是 JSON 了。
同一个东西输出了两份
主题和插件各输出一份 Product 或 Organization,取值还不同,Google 只能猜哪个是对的。
从文档里复制带来中文引号
在飞书、微信、Word 里写好再复制的代码,引号常被换成 “ ”,整块解析失败。
日期写成中文习惯
2026年3月1日、2026/03/01 在页面上没问题,在 JSON-LD 里要写 2026-03-01。
改完之后,看流量有没有变化
标记正确能帮搜索引擎读懂页面,有没有带来访问要看流量。TapCub 把搜索表现、爬虫抓取和页面行为放在一起。
和 Google 富媒体搜索结果测试有什么区别?
Google 的测试会抓取并渲染你的线上页面,告诉你能出哪些富结果。本工具检查你粘贴的代码,上线前的草稿和模板也能查,会列出每一项,并按行定位 JSON 错误。编辑时用这个,最后用 Google 的确认。
Google 的结构化数据测试工具去哪了?
Google 在 2021 年停用了结构化数据测试工具(Structured Data Testing Tool):通用的 schema.org 检查迁到 Schema Markup Validator(validator.schema.org),针对 Google 富结果的检查改用富媒体搜索结果测试。本工具适合在这两步之前检查粘贴的代码:JSON 错误按行定位,并按 Google 必填属性检查它支持的类型。
和 Schema Markup Validator 有什么区别?
validator.schema.org 按整套 schema.org 词汇检查,但不管 Google 的要求。本工具认识的类型少一些,但对这些类型加上了 Google 的必填、推荐属性和格式规则。
百度有结构化数据检测工具吗?
百度没有公开的 schema.org 检测工具,也没有说按 schema.org 展示富结果。百度搜索资源平台发布过自己的 JSON-LD「时间因子」规范,用 pubDate、upDate 等字段,和 schema.org 是两套东西。
为什么提示「没有找到 JSON-LD」?
可能是粘贴的代码里没有 type="application/ld+json" 的 script;或者页面用的是 Microdata / RDFa;或者 JSON-LD 是页面加载后由 JavaScript 插入的。最后一种情况,从开发者工具里复制渲染后的 HTML。
可以直接输入网址检测吗?
暂时不行:抓取别的网站需要服务器,而本工具完全在浏览器里运行。查看源代码复制粘贴,几秒钟就好。
为什么相对网址只是警告?
JSON-LD 解析器会按页面地址补全相对网址,所以很多时候能用。但同一段标记换个页面复用、或脱离页面被读取时就会出错,所以写完整网址最稳妥。
粘贴的代码会上传吗?
不会。解析和检查都在你的浏览器里完成,不会发给 TapCub;这个工具也没有分享链接,源代码不会出现在网址里。