Product JSON-LD 检查器
官方测试工具要么要求提供已上线的公开 URL,要么要求你把数据上传到它们的服务器。对于正在本地编辑、尚未发布的模板而言,这两种方式都指望不上。直接将代码块粘贴在此处 —— 任何数据都不会离开本页面。
🔒 你的数据不会离开浏览器。
结构正确只是最基础的第一步
大多数校验器只检查字段是否存在。这能抓住缺失 name 的数据块,却容易放过那些结构无懈可击、内容却错漏百出的代码:
- 价格写成了
"19,99"。在欧洲读者看来这是 19.99,但对结构化数据解析器而言它根本不是一个合法数字。在源代码里看完全合理,代码审查时也挑不出毛病,但搜索结果里的富媒体摘要就是出不来。 - 校验码错误的 GTIN。字段存在,长度也对,但这份标记现在却以机器可读的形式向搜索引擎断言——这是一个根本不存在的商品。本工具使用与 GTIN 验证器 相同的规则引擎校验条码,因此内部保留编码段和占位伪码同样会被检出。
- 使用了非 ISO 4217 货币代码,或者其小数位数与货币辅币单位不符。例如
1500.00 JPY是不合规的,因为日元没有小数位。 - 没有任何实际评价支撑的 aggregateRating。凭空声明评分却没有评价数量,等于没有人评过分;虚构评分是有明确记载的引发搜索引擎人工处置(手动惩罚)的原因,而结构化数据就是直接证据。
这些校验在本站并非额外编写的代码——它们复用了本站已在条形码、货币和数字格式验证中运行的同套规则引擎,直接应用于承载这些数据的字段。
offers、review 或 aggregateRating 必有其一
一个 Product 至少需要这三者之一。如果一项都没有,富媒体搜索结果就没有任何内容可以展示,最终不会呈现任何富媒体摘要——效果与完全没有添加结构化标记毫无二致,这也是此类错误往往潜伏很久才被发现的原因。
生成合规代码
输出的代码在提供之前会重新跑一遍上述校验,因此你复制的代码必定能通过本页面的所有检查。
本工具运行的所有校验规则(15 项)
LD-P01 不是合法的 JSON
该数据块解析失败。常见原因包括末尾多写了逗号、从文档复制粘贴时混入了弯引号,或者商品名称内部的双引号未进行转义。
修复: 修复语法错误;解析器报错信息已指出中断位置。
来源: 依据的是 JSON 语法本身。
LD-T01 类型不是 Product
缺少 @type 或其值不是 Product,因此任何针对商品结构化数据的规则均不适用。
修复: 设置 "@type": "Product"。
LD-C01 缺少 @context
未声明 "@context": "https://schema.org",导致词汇表未定义;无论其余部分多规范,该数据块都会被完全忽略。
修复: 添加 "@context": "https://schema.org"。
LD-N01 缺少 name
name 是 Product 的必填属性。若缺少该字段,其余所有属性描述的都是一个未具名的实体。
LD-O01 offers、review 或 aggregateRating 必有其一
Google 要求至少具备 offers、review 或 aggregateRating 中的一项。若三者皆无,则富媒体结果没有任何可供展示的信息,最终不会呈现任何内容 —— 效果与完全未添加标记毫无二致。
修复: 添加带有价格的 offers 块,这是绝大多数商品页面都能真实提供的属性。
LD-PR01 价格不是合法的数字
price 必须为纯数字。货币符号、千分位分隔符或逗号小数点均会使其变成无法被读取为金额的字符串 —— 其中 "19,99" 最为隐蔽,在欧洲读者看来合情合理,解析时却会被解析为其他内容或直接丢失。
修复: 写为以句点分隔小数的纯数字:19.99,并将货币符号移入 priceCurrency。
LD-PR02 缺少价格(price)
没有价格的报价等于没有任何实质报价。Google 规定必须提供 price 或 priceSpecification.price。
LD-CU01 priceCurrency 不是 ISO 4217 货币代码
货币必须为三位大写字母的 ISO 4217 代码 —— 例如 USD,而不是 $,也不是 "dollars"。符号在任何情况下都具有歧义:有超过二十种货币同时使用 $ 符号。
修复: 使用三位大写字母的 ISO 4217 代码。
LD-CU02 小数位数与货币辅币要求不符
绝大多数货币使用两位小数,但日元(JPY)和韩元(KRW)没有小数位,巴林第纳尔(BHD)与科威特第纳尔(KWD)使用三位小数。价格的小数位与货币不符通常意味着金额在上游某个环节经过了不当转换或换算。
来源: 与本站自带的 ISO 4217 辅币单位表交叉核对过。
LD-G01 GTIN 无效
gtin 校验失败 —— 校验位错误、属于限制流通号段,或是已知的占位伪码。带有损坏标识符的结构化数据比完全没有标记更糟:它以机器可读的形式向搜索引擎断言,这是一个根本不存在的商品。
修复: 在发布结构化数据之前先校验条形码。
LD-G02 GTIN 包含警告
gtin 通过了校验,但条码校验引擎标记了注意事项 —— 属于店内限制流通号段、已知占位伪码或出版物号段。结构化数据是向机器声明的标识符,在表格中尚可容忍的瑕疵,在标记中同样值得重视。
修复: 打开完整校验详情查看具体警告内容。
LD-A01 availability 不是合法的 schema.org 取值
availability 接收形如 https://schema.org/InStock 的 schema.org URL。像 "in stock" 或 "yes" 这样的自由文本无法被识别,会被直接丢弃。
修复: 使用 https://schema.org/InStock、OutOfStock、PreOrder 或 BackOrder。
LD-I01 image 不是绝对 URL
相对图片路径将根据嵌入该标记的具体页面来解析,这往往并非你测试时的那个页面。
修复: 使用包含协议和主机名的完整绝对 URL。
来源: 依据的是爬虫如何解析这个值 —— 它自己没有页面上下文。
LD-R01 aggregateRating 没有任何评价作为支撑
声明的评分评价数量为零 —— 或者根本没有计数 —— 等于没有任何人评过分。虚构评分是有据可查的搜索引擎人工处置(手动处罚)原因,而结构化标记就是机器可读的直接证据。
修复: 仅在能拿出真实评价依据时才发布 aggregateRating。
LD-V01 合规的 Product 结构化数据
必填属性均已提供,且其取值均已通过本站条码、货币及数字格式规则引擎的校验。
规则要求级别引自 Google Search Central — Product snippet structured data。本页面校验的是结构化数据标记本身——无法替你判断外层页面上展示给用户的价格是否与之一致。
关于这些规则。 每一条都有编号、严重级别和通俗解释。每个来源链接都已登记在案,并对线上页面实际复验过,而不是凭印象写上去的;本工具的来源最近一次复验于 2026年8月23日. 规则如何编写、测试与保持更新 →