第一次将模式标记添加到客户端站点时,我手动输入了 a Product block到主题头,部署它,然后继续感觉很聪明,两周后丰富的结果测试告诉我offer对象缺少它 @type、价格是谷歌想要一个字符串的数字,一个杂散的尾随逗号已经悄悄地使整个区块无效,谷歌一直忽视它,这就是没有人用结构化数据警告你的事情:无效的JSON-LD不会抛出错误或使任何东西变红,它只是默默地什么也不做,几个月后你发现你所指望的丰富结果从未出现。
词汇本身发布于 schema.org谷歌实际上会展示一个丰富的结果,那就是其中的一个更窄的列表 结构化数据文档。
我为谋生构建工具 - toolz。dev、WP Adminify 插件、一堆 Laravel 和 React 应用程序 - 结构化数据是我经常做的任务之一,足以怨恨手工完成它,很少能忘记每次的确切属性名称。所以我构建了 架构标记生成器 去错误嵌套和静默无效这两种花费我最大的失败模式,本指南将浏览架构标记实际执行的操作,生成器如何构建它,以及使看起来有效的标记无法获得丰富结果的具体错误。
TL;博士: Schema标记是结构化数据(使用schema。org词汇),它准确地告诉搜索引擎一个页面的内容,使其有资格获得丰富的结果,如常见问题手风琴,产品价格和面包屑谷歌推荐JSON-LD格式 - 一个独立的
<script type="application/ld+json">block。generator 为九种常见类型构建有效的 JSON-LD,嵌套子对象,例如PostalAddress並Offer正确地,标记缺少必填字段和推荐字段,并且 100% 在浏览器中运行,因此您输入的任何内容都不会上传。
什么是模式标记?为什么这很重要?
Schema markup是一种标准化的方式来描述页面的内容,这样机器就可以理解它,而不仅仅是渲染它词汇来自schema。org,一个由谷歌、微软、雅虎和Yandex支持的共享项目,当你将一个页面标记为一个 Article,你告诉的是搜索引擎"这是一篇新闻或博客文章,这是它的标题,这是谁写的,这是它发布的时间。"这种结构化的描述使页面有资格获得丰富的结果 - 具有星级、价格、常见问题解答下拉、活动日期和面包屑路径的增强列表比纯蓝色链接占用更多空间并赢得更多点击。
重要原因在过去几年中发生了变化,它以前纯粹是关于谷歌的丰富结果,现在结构化数据还提供AI答案引擎和Google's AI概述当ChatGPT、Perplexity或Gemini试图总结您的业务做什么或哪个产品与查询匹配时,干净的结构化数据是帮助他们正确获取事实的信号之一。明确声明自己为一个页面 Organization 对于任何机器来说,使用名称、徽标和社交配置文件比将所有内容都隐含在 HTML 中的机器更容易推理。
Catch是结构化数据无情,是代码,代码要完全正确,拼写的属性 datePublish 代替 datePublished 是被简单地忽略了。安 Offer 没有一个 @type 不被认可为报价。并且由于这些错误都没有破坏可见页面,因此它们无限期地隐藏在生产中。这就是生成器填补的空白 - 不是为您编写概念,而是每次都正确地获取语法和结构。
为什么 JSON-LD 而不是 Microdata 或 RDFa?
3种方法可以将schema。org数据添加到页面中,它有助于理解为什么生成器只生成其中一种。
微观数据 並 RDFa 使用额外的属性将结构化数据直接编织到可见 HTML 中 - itemscope、 itemprop、 property、等等。你的 <div> for a product review gains 属性,标记每一段可见文本。这有效,但它紧紧地将你的标记与你的页面结构耦合。改变布局,你就有可能打破模式。它也是冗长的,很难阅读。
JSON-LD 取相反的方法。它将所有结构化数据放在一个独立的 <script type="application/ld+json"> 块,通常在 <head>的,与可见的HTML完全分离,谷歌多年来一直推荐JSON-LD正是因为这种分离:你可以在不触摸你的模板的情况下添加它、更新它或通过标签管理器注入它,它是每个现代模式教程所教的格式,也是生成器输出的。
| 格式 | 它住在哪里 | 易于维护 | Google's 的立场 |
|---|---|---|---|
| JSON-LD | 单身 <script> 块,与 HTML 分开 |
最简单 - 编辑一个块 | 推荐 |
| 微观数据 | 可见 HTML 内部的属性 | 更难 - 与布局相结合 | 支持 |
| RDFa | 可见 HTML 内部的属性 | 更难 - 与布局相结合 | 支持 |
WordPress 中工作的话,JSON-LD 也是大多数 SEO 插件注入的,WP Adminify 这样的工具干净利落地坐在一起,因为它是一个独立的块,你可以在这里生成它,粘贴到自定义 HTML 字段、标签管理器或 Laravel Blade 布局中,而不需要任何特定于框架的体操。
如何使用模式标记生成器?
工作流程围绕选择类型和填写简短表格以及实时预览构建,以便您在输入时看到 JSON-LD 汇编。
1步 - 选择模式类型。 Pick 从组织、本地业务、WebSite、文章、产品、常见问题页面、面包屑列表、个人或事件。表单立即交换到类型需要的字段。这九个涵盖了中小型网站实际需要标记的绝大多数。
第 2 步 - 填写字段。 所需字段用星号标记。当您输入时,该工具会组装 JSON-LD 并删除您留下的任何空白字段,因此您永远不会以空结束 "" properties污染输出,对于基于地址的类型,如本地业务和事件,各个地址字段折叠成正确输入的 PostalAddress 自动对象。
第 3 步 - 观看验证。 生成器标记两种问题。错误(缺少必填字段、格式错误的 URL)会阻止干净的结果并以红色显示。警告(缺少 Google 推荐的字段,例如 image 或 datePublished的(或缺少其占位符的搜索 URL 模板)以琥珀色显示 - 标记仍然有效,但您在表中留下了丰富的结果潜力。
4步 - 复制和部署。 在满之间切换 <script> 标签(可粘贴到您的标签中 <head>()和原始JSON(对于标签管理器和CMS字段)。脚本输出会逃避否则会让误入歧途的字符 </script> 在您的数据中打破页面。然后使用 Google's 丰富的结果测试验证实时页面。
因为一切都运行客户端,所以在未发布的产品页面、暂存环境和 NDA 下的客户端工作上使用是安全的。您的价格、活动详细信息和内部 URL 永远不会离开浏览器 - 站点上每个工具背后的隐私立场相同,我在网站上写过 数据隐私指南。
我实际上应该使用哪些模式类型?
并非每个页面都需要标记,堆积你无法支持的类型比没有更糟糕。以下是我对生成器覆盖的九个的看法。
组织 属于您的主页或有关页面 - 它是提供知识面板的模式,并帮助 Google 通过将您的品牌与其社交资料连接起来 sameAs。 网站 与它配对,可以通过 a 声明 Sitelinks 搜索框 SearchAction的, 让用户直接从结果页面搜索您的网站。 本地商业 如果您有物理位置,这一点至关重要:它承载您的地址、电话、价格范围和开放时间,并且它是本地包和地图结果的基础。
文章 (生成器发射的) Article 型(对博客文章同样有效)将编辑内容与标题、作者、出版商和出版日期标记。 产品 描述一些待售的东西,有一个嵌套 Offer 携带价格、货币和可用性 - 这就是价格和可用性片段的动力。 事件 涵盖任何包含日期和地点的内容,从会议到网络研讨会。
常见问题解答页面 並 面包屑列表 是结构性的,而不是关于"事物。"常见问题页面标记问答内容;注意,谷歌将常见问题丰富的结果缩小到权威的政府和健康网站,但标记仍然可以帮助其他搜索引擎和人工智能答案引擎解析您的问答;A。breadcrumblist在结果中生成标题下显示的面包屑轨迹,这可以改善您的url结构读取方式。 人 标记个人(作者、创始人或公众人物),对于作者简介和 EET 信号很有用。
I遵循的规则:标记页面的真实内容,并且只声明反映页面上实际可见内容的属性。Google's指南明确指出,结构化数据必须描述真实的、可见的内容- 标记页面上未出现的价格是一种违规行为,而不是捷径。
生成器如何保持标记有效?
Zhi值在细节上容易手错, 几个值得唿唤。
正确的嵌套 @type。 JSON-LD中,嵌套对象不是普通的子对象- 每一个都需要自己的子对象 @type.一个地址是 a PostalAddress,一个报价是一个 Offer,一篇文章's作者是a Person,其发行商是一个 Organization 其标志是 ImageObject。生成器用正确的类型构建这些中的每一个,以便解析器识别它们,而不是将它们视为匿名斑点。
修剪空。 留空应删除属性,而不是发出 "telephone": ""。自动从输出中剥离空字符串和空数组,因此您复制的内容始终是干净的。
脚本安全逃逸。 内联 JSON-LD 中最危险的角色是 a < - 特别是序列 </script> 据(比如说,在描述中)内部出现,这会提前终止脚本块并破坏页面生成器逃逸 <、 >、和 & unicode转义的脚本标签输出中,这正是谷歌'自己的例子所做的。
所需和建议的意识。 每种类型都有自己的 Google 要求与推荐的列表。文章真的想要一个 image 並 datePublished;产品想要一个 price;事件需要a startDate。该工具将硬性要求(它将其视为错误)与建议(警告)区分开来,因此您知道"这不起作用"和"这可以更好地发挥作用。"
如果您正在组装更广泛的技术工作流程,模式生成器自然会与其他 SEO 实用程序并存 - 元标记生成器 对于您的标题、描述和 Open Graph 标签,以及 XML 站点地图生成器 为提交您的URL。它们一起覆盖了页面上的大部分技术SEO表面,我为此将它们分组在 web开发人员工具包概述。
如何测试和部署结构化数据?
生成有效的 JSON-LD 是工作的一半;另一半是确认 Google 按照您的意愿阅读它。
从谷歌开始's 丰富的结果测试的,它获取一个URL或接受粘贴的代码和报告哪些丰富的结果类型页面符合条件,加上任何错误或警告。然后通过运行相同的标记 模式标记验证器 at validator。schema。org,它检查与 schema。org 词汇本身的一致性,而不是 Google's 富结果要求。两者捕获不同的东西:富结果测试告诉您是否符合特定的 Google 功能,而验证者告诉您标记是否是结构合理的 schema。org。
页面上线后,增强功能就会报告 谷歌搜索控制台 google在抓取过程中发现的时间和标志错误跟踪性能。这是您捕获仅大规模出现的问题的地方 - 模板,会发出重复的面包屑位置,例如,或者产品提要偶尔会省略一个必填字段。
对于部署,请粘贴 <script> 块进入 <head> 的它描述的特定页面。不要在运行在每个页面的全局模板中放置单个产品块 - 标记必须与其所生活的页面相匹配。在CMS中,使用平台给你的任何自定义-HTML或SEO字段。在标签管理器中,使用自定义HTML标签并复制JSON。在React或Laravel应用程序中,注入块服务器端,以便爬虫在初始HTML中看到它,而不是在水合后。
我仍然看到常见的错误
一次又一次地出现一些错误,每个错误都会产生看起来不错但无济于事的标记。
经典是 标记隐形内容 --页面任何地方都没有出现的评论评级或价格,谷歌明确禁止这样做,可以为其发布手动操作,二是 嵌套对象上的错误类型的,通常是失踪 @type on 地址或要约。第三是 混淆相似类型的,像使用 Product markup在一个分类列表页面上,而不是单个产品。而第四个,我的个人克星,是 手动编辑的语法错误 - 后面的逗号或未转义的引号使整个块无效。
这些中的每一个都是生成器赢得其保留的原因。它无法知道您的价格是否在页面上可见 - 即您所在的页面 - 但它永远不会发出尾随逗号,缺失逗号 @type的,或者一个空属性。仅此一项就消除了结构化数据默默失败的大部分方式。对于开发人员工作流程的更深层背景,围绕这种工具, 编码工具指南 是好伴侣读。
常见问题
什么是模式标记?
Schema markup 是描述一个页面's 内容的结构化数据,使用共享 schema。org 词汇到搜索引擎,添加它可以使一个页面符合常见问题手风琴、产品价格、评论之星和面包屑等丰富结果的资格。JSON-LD,该工具产生的格式,是 Google 推荐的语法,因为它生活在与您可见的 HTML 分开的单个脚本标签中。
JSON-LD、微数据和RDFA有什么区别?
这三种方法都是将 Schema.org 结构化数据添加到页面的方法。 微数据和 RDFA 是编织到可见 HTML 中的属性,而 JSON-LD 是脚本标记中的自包含的 JSON 块。 Google 推荐 JSON-LD,因为它更容易添加、更新和与页面标记分开。 出于这个原因,此工具输出 JSON-LD。
我在哪里把生成的json-ld放在哪里?
粘贴完整 <script type="application/ld+json"> 标记到 <head> 它描述的页面或页面中的任何位置 <body> - Google 在任一位置读取,如果使用 Google 标签管理器,复制 JSON 并通过自定义 HTML 标签添加。始终将标记放置在其描述内容的同一页面上,而不是将其应用到任何地方的模板。
添加模式标记是否保证丰富的结果?
不 有效的结构化数据使页面有资格获得丰富的结果,但 Google 决定是否根据质量、相关性及其自己的指南来显示它们。 您的标记还必须反映页面上实际可见的内容。 将 Schema 视为对丰富结果的要求,而不是将其打开的开关。
如何测试我的结构化数据?
Google's丰富的结果测试和架构标记验证器(schema。org's验证器)运行生成的标记。既可以解析您的JSON-LD,又可以报告缺少的必填字段或语法错误。页面处于实时状态后,Google搜索控制台增强功能报告会跟踪您的结构化数据随时间的表现。
每种类型都需要哪些字段?
要求因类型而异:文章需要标题,产品需要名称,活动需要名称和开始日期,FAQPage 至少需要一个问答。 此工具标记必填字段并阻止输出,直到它们被填满,同时还警告推荐的字段,以提高您获得丰富结果的机会。
我可以为我的页面生成常见问题解答架构吗?
是的。 选择常见问题页面类型,添加每个问题的答案,该工具会自动构建问答对象的 MainEntity 数组。 请注意,Google Now 主要针对权威政府和健康网站显示常见问题解答丰富的结果,但该标记对其他搜索引擎和 AI 答案引擎仍然有效且有用。
我的数据是否保密?
是。JSON-LD完全在您的浏览器中组装,使用普通的JavaScript。您输入的任何内容 - 包括未发布的价格,事件详细信息或私人URL - 均不会传输,记录或存储,并且一旦加载,生成器将继续工作,没有网络连接。



