网站 / SEO · SEO 工具

Schema JSON-LD

Article/Product/FAQ 等类型生成

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 69 次使用
选类型 → 填字段 → 实时生成 JSON-LD · 全本地
JSON-LD application/ld+json
就绪 · 选择类型并填写字段,右侧实时生成结构化数据
第一节

关于本工具

About

在结构化数据测试工具里反复粘贴 JSON 片段来调试,一旦 Article 或 Product 类型写错一个 @type,整段验证就报错。这个工具把常用 Schema 类型做成表单,填标题、描述、价格或问题列表,自动拼出符合 Google 建议的 JSON-LD 代码。生成的片段可直接复制到页面 <head> 或 GTM 自定义 HTML 中。所有字段处理在浏览器内完成,页面关闭即清除,不经过服务器。

使用场景

产品页改版迁移

电商运营小陈,公司要把 300 个旧产品页面从 HTTP 迁移到 HTTPS,同时升级商品描述结构。旧页面只有纯文本描述,新站要求用 Product + Offer 双重 Schema 标记。逐个手改 HTML 会漏标价格字段,且容易把库存状态写错。用本工具批量生成 JSON-LD 片段,填入统一商品 ID、价格和库存值,输出后直接粘贴到新站 <head> 区,3 小时内完成全站标记迁移。

FAQ 落地页被降权

SEO 专员阿杰发现公司 FAQ 页面在百度搜索的点击率连续三周下滑,排查发现页面虽然有问答内容,但缺少结构化标记,搜索引擎无法直接提取问答对展示在搜索结果摘要里。他使用本工具,把 12 个常见问题和对应答案逐条填入,选择 FAQPage 类型,生成代码后嵌入页面底部。两周后搜索展现量恢复,且摘要直接显示前两条问答,点击率回升 25%。

新闻稿被谷歌忽略

创业公司公关经理林姐,每次发布新品新闻稿后,谷歌搜索都只显示标题和 URL,不展示发布时间和作者信息。她发现原因是新闻页面缺少 Article 标记。用本工具填入文章标题、发布日期、作者和图片链接,生成 Article JSON-LD 代码,粘贴到文章页 <script> 标签内。下次发布后 24 小时内,搜索结果摘要出现了发布日期和作者头像,新闻收录速度从 3 天缩短到 6 小时。

招聘页面没人投递

HR 主管王姐在官网放了 5 个技术岗位招聘页,但一个月只收到 2 份简历。技术团队分析发现,招聘页面没有 JobPosting 结构化标记,在 Google for Jobs 和百度职选中无法展示。王姐用本工具逐个岗位填写职位名称、工作地点、薪资范围和申请链接,生成代码后部署。一周后招聘页面在百度搜索中出现了“招聘”标签和薪资区间,投递量增加到 18 份。

视频页面无预览图

自媒体博主老刘,把教程视频嵌入到个人网站,但微信和微博分享时只显示一个灰色链接卡片,没有视频封面和播放按钮。他检查发现页面缺少 VideoObject 标记,导致社交平台无法识别视频内容。用本工具填入视频标题、时长、封面图 URL 和播放地址,生成 VideoObject JSON-LD。重新分享后,微信卡片自动展示视频封面和播放时长,点击率从 3% 提升到 15%。

第二节

使用指南

Getting Started

使用步骤

  1. 1在「结构化数据」面板选择内容类型(Article/Product/FAQ),下拉菜单即时切换对应字段模板
  2. 2按提示填写标题、描述、图片 URL 等必填字段,右侧代码预览区同步生成 JSON-LD 片段
  3. 3点击「复制代码」按钮,代码自动写入剪贴板,底部出现「已复制」提示
  4. 4将复制的 JSON-LD 粘贴到网页 <head> 或 <body> 中,保存后即可被搜索引擎识别

输入输出示例

输入输出说明
{ "@context": "https://schema.org", "@type": "Article", "headline": "如何优化网站加载速度", "author": "张三", "datePublished": "2025-03-20" }{ "@context": "https://schema.org", "@type": "Article", "headline": "如何优化网站加载速度", "author": { "@type": "Person", "name": "张三" }, "datePublished": "2025-03-20" }常规:Article 类型基础输入,验证工具自动将 author 字符串转为 Person 对象,并补全 @type
{ "@context": "https://schema.org", "@type": "Product", "name": "无线蓝牙耳机", "offers": { "@type": "Offer", "price": "199.00", "priceCurrency": "CNY" } }{ "@context": "https://schema.org", "@type": "Product", "name": "无线蓝牙耳机", "offers": { "@type": "Offer", "price": "199.00", "priceCurrency": "CNY" } }常规:Product 类型带嵌套 Offer 对象,验证工具保留已有嵌套结构,不破坏子对象
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "发货时间?", "acceptedAnswer": { "@type": "Answer", "text": "下单后 48 小时内" } } ] }{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "发货时间?", "acceptedAnswer": { "@type": "Answer", "text": "下单后 48 小时内" } } ] }常规:FAQPage 类型带数组结构,验证工具正确处理 mainEntity 数组,不丢失元素
{ "@context": "https://schema.org", "@type": "Article", "headline": "" }{ "@context": "https://schema.org", "@type": "Article", "headline": "" }边界:headline 为空字符串,验证工具不报错也不自动填充,保留原始空值
{ "@context": "https://schema.org", "@type": "Product", "name": "测试商品", "offers": [] }{ "@context": "https://schema.org", "@type": "Product", "offers": [] }边界:offers 为空数组,验证工具不删除空数组字段,也不报错
{ "@context": "https://schema.org", "@type": "Article", "headline": "标题", "unknownField": "值" }{ "@context": "https://schema.org", "@type": "Article", "headline": "标题", "unknownField": "值" }易错:用户误写了 Schema.org 未定义的字段,验证工具保留未知字段不报错,但输出可能不被搜索引擎识别
{ "@context": "https://schema.org", "@type": "Article", "headline": "标题", "datePublished": "2025-13-01" }{ "@context": "https://schema.org", "@type": "Article", "headline": "标题", "datePublished": "2025-13-01" }易错:datePublished 为无效日期(13月),工具不校验日期合法性,用户需自行确保格式正确

常见错误对照

1.JSON-LD 脚本标签未正确闭合

✗ 错误<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"示例"}</script>
✓ 修复<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"示例"}</script>

部分编辑器或 CMS 会自动转义双引号,导致 JSON 语法错误。必须确保 JSON 字符串内双引号未被 HTML 实体化,且脚本标签完整闭合。

2.@type 使用了无效或拼写错误的 Schema 类型

✗ 错误"@type": "Article"(实际想标记产品,却用了文章类型)
✓ 修复"@type": "Product"

Google 结构化数据测试工具会严格校验 @type 是否在 schema.org 词汇表中。拼错或类型不匹配会导致标记被忽略。

3.缺少必填属性,导致标记无效

✗ 错误{"@context":"https://schema.org","@type":"Product","name":"示例商品"}(缺少 offers 或 image)
✓ 修复{"@context":"https://schema.org","@type":"Product","name":"示例商品","image":"https://example.com/photo.jpg","offers":{"@type":"Offer","price":"99.00","priceCurrency":"CNY"}}

每种 Schema 类型都有 Google 要求的必填属性(如 Product 需 name + image + offers)。缺失时该结构化数据不会在搜索结果中展示。

4.URL 字段使用了相对路径而非绝对 URL

✗ 错误"url": "/article/123"
✓ 修复"url": "https://www.example.com/article/123"

Schema.org 规范要求 url 字段必须是绝对 URL(含协议和域名)。相对路径会被解析为当前页面路径,导致链接错误。

5.日期格式不符合 ISO 8601 标准

✗ 错误"datePublished": "2024-1-5"
✓ 修复"datePublished": "2024-01-05"

Google 要求日期字段严格遵循 ISO 8601(YYYY-MM-DD)。缺少前导零或使用其他分隔符会导致日期无法被解析。

6.嵌套对象未正确包裹,导致 JSON 结构扁平化

✗ 错误"author": "张三"
✓ 修复"author": {"@type": "Person", "name": "张三"}

许多 Schema 类型(如 Article)的 author 要求是 Person 或 Organization 对象,而非纯字符串。直接写字符串会被忽略。

7.多个结构化数据块使用了重复的 @id

✗ 错误两个 <script> 块都写 "@id": "#main"
✓ 修复每个块使用唯一 @id,如 "@id": "#article-1" 和 "@id": "#article-2"

@id 用于标识和关联实体。重复的 @id 会导致 Google 合并或覆盖数据,造成信息丢失。

8.在 JSON-LD 中混入了 JavaScript 注释

✗ 错误{"@context":"https://schema.org", // 这是注释 "@type":"Article"}
✓ 修复删除注释,或使用 JSON 标准外的工具处理后再嵌入

JSON 标准不允许注释。// 或 /* */ 会导致 JSON 解析失败,整个结构化数据块失效。

第三节

工作原理

How It Works

核心公式

JSON-LD 结构 = { "@context": "https://schema.org", "@type": "类型", "属性1": "值1", "属性2": "值2", ... }

变量说明

  • @context固定值 https://schema.org
  • @typeSchema 类型,如 Article/Product
  • 属性Schema 定义的字段,如 name/description

示例

为产品页生成 JSON-LD:类型为 Product,属性 name="智能手表 Pro"、description="心率监测,续航 14 天"、brand.name="TechFit"、offers.priceCurrency="CNY"、offers.price="1299"。最终 JSON-LD:{ "@context": "https://schema.org", "@type": "Product", "name": "智能手表 Pro", "description": "心率监测,续航 14 天", "brand": { "@type": "Brand", "name": "TechFit" }, "offers": { "@type": "Offer", "priceCurrency": "CNY", "price": "1299" } }。该结构可直接嵌入网页 <script type="application/ld+json"> 标签中,帮助搜索引擎理解产品信息。

选择类型Article/Product/FAQ填写字段内容标题/描述/图片等浏览器内组装JSON-LD按Schema.org规范拼接实时校验与格式化语法高亮/缩进对齐输出JSON-LD代码
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
我直接把文章内容贴进去,它能自动识别出标题和正文吗?

不能。这个工具生成的是结构化数据(JSON-LD)的代码框架,不是自动提取器。需要手动把文章标题、描述、发布日期、作者等字段填入对应输入框。它主要解决的是「格式对不对、字段全不全」的验证问题,帮你输出一段可以直接贴到网页 <head> 里的标准代码。如果希望自动抓取页面内容,需要配合 CMS 插件或爬虫工具。

生成的 Article 类型和 Product 类型有什么区别,选错了会怎样?

选错类型不会报错,但搜索引擎理解错误。Article 用于新闻、博客、教程等内容页,会让 Google 在搜索结果里展示作者、发布时间、预览段落。Product 用于商品页,会展示价格、库存、评分、评价数量。如果内容页用了 Product 类型,Google 可能不会展示文章特有的摘要和作者信息,反而可能要求填写价格字段,导致数据不完整。建议根据页面核心用途选择,不要混用。

为什么我填了日期,生成出来的代码里时间变成了 `T00:00:00Z`?

因为你只填了日期(如 2025-03-20),没填具体时间。JSON-LD 的 `datePublished` 字段接受完整日期时间格式(ISO 8601),当只给日期时,工具默认补 `T00:00:00Z`(UTC 零点)。如果需要精确到小时,请在日期后加时间,格式如 `2025-03-20T14:30:00+08:00`。如果不在意具体时间,`2025-03-20` 也有效,搜索引擎会按当天 00:00 UTC 理解。

生成的代码是不是直接复制到网页里就能用?还要不要改什么?

可以直接用,但建议做两步检查。第一,确认 `@id` 和 `url` 字段里的网址是否与当前页面 URL 一致(工具默认用 `https://example.com` 占位,需要替换成真实地址)。第二,如果是 Article 类型,`image` 字段需要填写图片的完整 URL(包括 `https://`),否则搜索引擎可能无法抓取配图。其余字段如 `headline`、`description`、`author` 建议对照实际内容核对一遍。

这个工具是在浏览器里处理的,我的数据会不会被传到服务器?

不会。工具纯前端运行,所有输入的数据只在浏览器内存中处理,生成代码后不向任何服务器发送请求。关闭页面或刷新后,输入内容自动清空。如果对隐私敏感,填写时避免粘贴完整的用户隐私数据(如真实手机号、身份证号),只填必要的标题、描述等公开信息即可。

FAQ 类型生成的代码,一个问题能不能加多个答案?

不能。Google 的 FAQ 结构化数据规范中,一个问题(`Question`)只能对应一个答案(`AcceptedAnswer`)。如果同一个问题有多个不同角度的回答,需要拆成多个独立的问题条目,或者把多个答案合并成一段文字。如果强行在代码里写多个 `AcceptedAnswer`,Google 可能会忽略多余的部分甚至判定数据无效。

生成的代码在 Google 结构化数据测试工具里验证通过了,是不是就一定能出富文本摘要?

不一定。验证通过只代表语法正确、字段齐全,但搜索引擎是否展示富文本摘要还取决于内容质量、页面权威性、竞争情况等。特别是 Article 类型,Google 通常只对新闻类或高权威站点展示作者头像和发布时间;中小站点即使代码正确,也可能只显示普通标题。Product 类型的价格和评分展示门槛相对低一些,但仍需确保价格字段值与页面实际显示一致。

我贴了代码到网页里,过了一周搜索还是没看到效果,是不是工具生成的代码有问题?

大概率不是代码问题,而是索引和生效周期。第一,Google 抓取新页面或更新页面后,通常需要几天到两周才会重新解析结构化数据。第二,可以打开 Google Search Console 的「增强功能」面板,查看「文章」或「商品」报告,里面会显示已识别和报错的数据条数。如果报告里显示「有效」,说明代码已被正确解析,只是还没触发富文本展示。如果显示「错误」,可以点进去看具体报错字段。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭