跳到主要内容

如何测试和验证结构化数据

2024-02-14

根据 Schema.org 规范和 Google 的搜索功能要求审核和验证结构化数据,以启用特殊的搜索结果功能。


使用 SEO Spider 工具进行结构化数据测试​

结构化数据为搜索引擎提供了关于页面及其组件含义的明确线索,并可以在 Google 中启用特殊的搜索结果功能和增强功能。

不同的 Google“富结果”搜索功能需要不同类型的结构化数据,实施它们可以帮助获得富摘要(搜索结果中更突出、更详细的“摘要”),这可能会带来更多流量。

Google 的结构化数据测试工具可以帮助审查和验证结构化数据的实施,以满足其富结果功能的要求。 遗憾的是,它没有 API,不允许批量审核 URL,有时会遗漏或错误分类所需属性和推荐属性之间的验证问题。

Google 也在努力开发富结果报告,以帮助监控 Search Console 中的验证,尽管它们尚未支持所有富结果功能。

考虑到以上因素,我们的团队在 Screaming Frog SEO Spider 中构建了自己的结构化数据验证器,以帮助提高审核过程的效率和规模。

本教程将引导您了解如何使用该工具根据 Schema.org 规范和 Google 的 富结果功能 要求审核和验证结构化数据。

要开始使用,您需要下载 SEO Spider,拥有 付费许可证,然后按照以下步骤操作。

1) 在“Configuration > Spider > Extraction”下启用结构化数据选项​

勾选“JSON-LD”、“Microdata”、“RDFa”、“Schema.org Validation”和“Google Rich Result Feature Validation”。

结构化数据验证配置

虽然 Schema.org 词汇区分大小写(您可以启用此选项),但 Google 并没有那么严格——因此对于 Google 富结果功能及其对结构化数据的理解来说,这不是必需的。

2) 抓取网站​

打开 SEO Spider,在“Enter URL to spider”框中键入或复制您要抓取的网站,然后点击“Start”。

结构化数据验证爬虫

然后爬网将开始,结构化数据将从页面中提取并验证。 喝杯咖啡,等待进度条达到 100%,爬网完成。

3) 查看结构化数据选项卡​

结构化数据选项卡 显示爬网中找到的所有 URL 以及单独对应列中的不同结构化数据类型,以及主窗口窗格中的总数、错误和警告。

结构化数据选项卡

结构化选项卡有 8 个过滤器,可帮助您了解结构化数据的实施并识别验证问题。“Total Types”和“Unique Types”列计算为每个 URL 发现的结构化数据 itemtypes 的数量。

右侧的概览窗口窗格提供了每个选项卡和过滤器中包含的数据的摘要,因此您知道在哪里单击,而无需检查每个过滤器以查看是否有数据。

结构化数据右侧概览窗格

您可以按以下内容进行过滤 -

  • Contains Structured Data – 这些只是包含结构化数据的任何 URL。 您可以在上部窗口的列中看到不同的类型。
  • Missing Structured Data – 这些是不包含任何结构化数据的 URL。
  • Validation Errors – 这些是包含验证错误的 URL。 这些错误可以是 Schema.org、Google 富结果功能或两者兼有——具体取决于您的配置。 Schema.org 问题将始终被归类为错误,而不是警告。 Google 富结果功能验证将显示缺少必需属性或必需属性的实施问题的错误。 Google 的“必需属性”必须包含且有效,内容才有资格显示为富结果。
  • Validation Warnings – 这些是包含 Google 富结果功能的验证警告的 URL。 这些将始终是“推荐属性”,而不是必需属性。 可以包含推荐属性以添加有关内容的更多信息,这可以提供更好的用户体验——但它们不会使您没有资格获得富摘要。 Schema.org 验证问题没有“警告”,但是使用较旧的 data-vocabulary.org 模式会发出警告。
  • Parse Errors – 这些是结构化数据未能正确解析的 URL。 这通常是由于不正确的标记造成的。 如果您使用的是 Google 首选的 JSON-LD 格式,那么 JSON-LD Playground 是一个出色的工具,可以帮助调试解析错误。
  • Microdata URLs – 这些是包含 microdata 格式的结构化数据的 URL。
  • JSON-LD URLs – 这些是包含 JSON-LD 格式的结构化数据的 URL。
  • RDFa URLs – 这些是包含 RDFa 格式的结构化数据的 URL。

4) 查看下部窗口窗格“结构化数据详细信息”选项卡以分析验证错误和警告​

结构化数据详细信息下部窗口窗格提供有关发现的项目和问题的更多信息。 下部窗口窗格的左侧显示属性值和图标,当存在错误或警告时,右侧窗口提供有关特定验证问题的详细信息。

结构化数据详细信息选项卡

下部窗口窗格的右侧将详细说明确切的验证类型(Schema.org 或相关的 Google 富结果功能)、严重性(错误、警告或仅信息)以及要修复的特定问题的消息。 它还将提供指向特定 Schema.org 属性的链接,以提供有关要求的更多详细信息。

5) 参考 Schema.org 或 Google 富结果功能文档以更好地理解验证问题​

即使在工具的帮助下,结构化数据也可能具有挑战性。 因此,请始终参考相关文档以提供更多上下文并遵循指南。

结构化数据审核的一个简单规则是修复验证错误以确保内容被视为 Google 富结果功能和富摘要,并考虑警告中的信息是否对用户有用,然后实施或忽略。

验证问题基于 Google 富结果功能 必需和推荐属性以及 Schema.org 规范。 验证也针对属性的值执行,以确保它们采用正确的形式。 例如,如果属性应该是 URL 或数字等。

查看 Google 富结果功能指南将更好地理解验证问题——因此请始终参考它们。 让我们看一些例子和这个过程。

Google 产品验证错误示例​

在下面的示例中,我们可以看到 lv.com 具有“Google 产品”功能验证错误和警告。 右侧窗口窗格列出了那些必需的(带有错误)和推荐的(带有警告)。

结构化数据详细信息选项卡

您可能会争辩说不应该在此处使用“product”,但事实是,它将根据 Google 产品功能 指南进行验证,而根据 Google 文档,需要图像,并且缺少其他六个推荐属性。

可以实施突出显示为警告的推荐属性以添加有关内容的更多信息(这可能会提供更好的用户体验),或者只是忽略它们。

Google 公司联系人验证错误示例​

在下面的下一个示例中,Direct Line 在“contactType”schema 属性中使用“customer service general enquiries”时,存在 Google 公司联系人功能 验证错误。

Google 公司联系人验证错误

右侧窗口窗格解释说,“http://schema.org/contactType”需要是“customer service”、“customer support”、“technical support”、“billing support”、“bill payment”、“sales”、“reservations”、“credit card support”、“emergency”、“baggage tracking”、“roadside assistance”或“package tracking”在“ContactPoint”中。

Google 公司联系人验证错误 contactType

如上所示,验证错误与 Google 文档中的要求相符。 但是,Google 结构化数据测试工具 没有将其作为验证错误来拾取。

结构化数据测试工具公司联系人验证错误遗漏

虽然 Google 的工具可能不太严格或遗漏某些项目,但我们建议遵循指南,以便所有结构化数据都采用正确的格式,以确保它是机器可读的并且没有问题。

Google 聚合评分(评论摘要)验证错误示例​

在此示例中,Admiral 存在 Google 聚合评分错误,该错误是 Google 评论摘要富结果功能的一部分。

聚合评分验证错误

该问题指出,AggregateRating 需要 worstRating 属性。 再次参考 Google 的 评论摘要文档,我们可以看到 bestRating 和 worstRating 实际上只是推荐属性。

但是,进一步阅读,如果评分系统不是 5 分制,则需要它们。 在这种情况下,Admiral 使用的是 10 分制。 因此,这使它们成为一项要求,并且它们正确地使用了 bestRating,但未包含 worstRating。 Google 结构化数据测试工具未拾取到这一点。

Google 面包屑验证错误示例​

在下面的最后一个示例中,汇丰银行存在 Google 面包屑富结果功能错误。 该问题指出,“http://schema.org/item”属性是“ListItem”所必需的。

Google 面包屑验证

Google 的 面包屑功能 指南指出,推荐属性必须包括 item(网页的 URL)、name(面包屑的标题)和 position(面包屑在轨迹中的位置)。 汇丰银行只是缺少 item 属性和关联的 URL,无法利用此富结果功能。

总而言之,请始终查看相应的文档和指南以验证验证错误和警告。

6) 使用“Reports > Structured Data”报告批量导出验证错误和警告​

可以通过“reports”顶级菜单获得两个结构化数据的批量导出。

结构化数据验证错误和警告报告

“Validation Errors & Warnings Summary”报告特别有用,因为它将数据聚合到发现的唯一问题(而不是报告每个实例),并显示受每个问题影响的 URL 数量,以及具有特定问题的示例 URL。 可以在下面看到示例报告。

结构化数据验证摘要报告

这意味着该报告高度浓缩,非常适合想要了解需要在整个站点中修复的唯一验证问题的开发人员。“Validation Errors & Warnings”导出是与发现它的 URL 一起导出的每个错误和警告的批量导出。

常见问题解答​

您是否支持验证 GTM 和 JavaScript 生成的结构化数据?​

是的。 您可以验证客户端 JavaScript 的结构化数据和通过 Google Tag Manager (GTM) 的实施。

切换到 JavaScript 渲染模式,SEO Spider 将提取并验证仅在渲染的 HTML 中的结构化数据。

请参阅 Google 关于 使用 JavaScript 生成结构化数据 的指南。

SEO Spider 执行哪些 Schema.org 和 Google 富结果功能验证?​

Schema.org 验证包括检查类型和属性是否存在于 Schema 词汇表中,并将显示遇到的任何问题的“错误”。 例如,Schema.org 验证将检查 https://schema.org/author 是否存在于属性中,或者 https://schema.org/Book 是否作为类型存在。

它根据 Schema.org 中的主要和待处理的 Schema 词汇表 进行验证,并定期更新到最新版本以及 SEO Spider 的新版本。

SEO Spider 还会根据 Google 的富媒体搜索结果功能验证结构化数据。它使用 Google 自己的文档和指南,针对必需和推荐的属性执行验证。还会检查属性的值,以确保它们格式正确,例如它们应该是数字、URL 还是文本。

如上所述,“必需”属性的问题会导致错误,而“推荐”属性的问题,如果现有实现存在问题,会导致错误;如果缺少这些属性,则会导致警告。这与 Google 自己的结构化数据测试工具对错误和警告进行分类的方式类似。

SEO Spider 能够验证的Google 富媒体搜索结果功能的完整列表包括:

SEO Spider 当前无法验证的 Google 富媒体搜索结果功能列表是:

  • 我们目前支持所有 Google 功能。

为什么验证错误和警告与 Google 的结构化数据测试工具或富媒体搜索结果工具不同?​

我们强烈建议使用 Google 结构化数据测试工具。它是一个出色的工具,可用于审查和验证结构化数据。

但是,两种工具的结果有时会有所不同。我们通常发现 SEO Spider 会发现更多的错误和警告。Google 的工具通常比他们的文档更宽松,有时会遗漏问题,或者错误地对它们进行分类。

我们在上面的示例中分享了一些小的差异,虽然它通常是可靠的,但像任何工具一样,它并不完美。这样做的目的不是为了挑剔 Google 的 SDTT,而是指出它并不总是准确的,并且不应在不考虑的情况下盲目地遵循结果。

我们看到的一个更大且更常见的问题是,Google 似乎针对非 AMP URL 检查 AMP 必需和推荐的属性。

此 Spotify 页面 使用 Article Schema(并且不是 AMP)在 Google 的结构化数据测试工具 中有 7 个关于“Article”的错误。例如,它显示了针对发布商“logo”和“name”的错误。

Google 结构化数据测试工具对非 AMP URL 的错误

但是,查看 Google 的 Article 功能指南,我们可以看到对于 非 AMP URL,这些不是必需的。它们仅对 AMP URL 是必需的。SEO Spider 不会显示这些错误,因为它正确地确定它不是 AMP。

SEO Spider 也不会是完美的,因此我们建议结合使用这两种工具,并参考相应的文档来验证结果和发现的任何差异。

我们还建议使用 Google Search Console 中的增强报告来帮助验证错误。虽然对所有富媒体搜索结果功能的支持正在逐步推出,但一些流行的类型是可用的。Google 还允许您使用 URL 检查工具 在 URL 级别测试结构化数据,查看有关该问题的更多信息,并验证修复。

富媒体搜索结果测试工具 还可以帮助您测试网站是否有资格获得富代码段,尽管仍然只支持 一小部分类型。但是,正如 Dave Ojeda 所指出的,虽然目前仍处于 beta 阶段,但 Google 在 I/O 2019 上宣布富媒体搜索结果测试工具 是 SDTT 的继任者。它显示了像 SDTT 一样的验证错误,尽管为了增加混乱,这两个工具偶尔会显示不同的结果。

另一个需要考虑的点是 Google 的指南在不断发展,其中包含已弃用的功能(社交资料)、重命名(LocalBusiness 到 Local Business Listing)以及对必需和推荐属性的修改。

一个很好的例子是 Google 的本地商家要求,这些要求最近发生了变化,但仍然可以查看旧的指南由 Archive.org 提供。旧的要求是“addressCountry”属性必须是 2 个字母的 ISO 3166-1 alpha-2 国家/地区代码。

Google 的旧本地商家列表要求

这与 Schema.org/addressCountry 的要求不同,后者声明您可以只使用国家/地区,例如“USA”。

虽然 SEO Spider 根据 Google 自己的指南将其作为 Google 本地商家验证错误来处理,但 Google 结构化数据测试工具没有。这引起了一些混乱,因为 Google 的文档与其自己的工具不一致。

尝试从 G 获得确认。如果您查看,SDTT 与其自己的本地商家搜索功能文档不一致。 <https://t.co/DZfI4EmKQP> 这很酷。我认为从经验来看没问题,但如果这样,更新文档会很有用。 :-)

— Screaming Frog (@screamingfrog) 2019 年 3 月 12 日

Google 的本地商家富媒体搜索结果功能指南现已更新,删除了此要求,仅参考 Schema.org PostalAddress。虽然 公司联系人功能 的“AreaServed”属性仍然有此要求,并且可能也需要进行调整。

我们会尽可能密切地跟踪这些更改,并相应地更新 SEO Spider,但在 SEO Spider 版本之间提供这些更改可能会有延迟(不幸的是,我们没有收到预先警告!)。

Google 的一些结构化数据文档也可以进行解释,因此我们欢迎 SEO 社区通过我们的支持提供反馈,以继续改进该工具。

最后,重要的是要记住,即使结构化数据测试工具对某些属性或值更加宽松,Google 仍建议遵循其指南。John Mueller(Google 的网站站长趋势分析师)回复了关于在其文档和工具之间发现的不一致之处的建议。

我会使用文档中的内容。我们的工具可能更宽松一些,但如果您想确保以推荐的方式进行操作,请遵循文档中的指导。

— 🍌 John 🍌 (@JohnMu) 2019 年 3 月 13 日

更多支持​

上面的指南应有助于说明使用 SEO Spider 中的结构化数据测试工具验证 Schema 和 Google 富媒体搜索结果功能所需的简单步骤。

另请阅读我们的 Screaming Frog SEO Spider 常见问题解答 和完整的用户指南,以获取有关该工具的更多信息。

如果您有任何其他疑问,请通过支持与我们联系。