了解结构化数据的工作原理

Google 搜索致力于了解网页内容。您可通过在网页上添加结构化数据向 Google 提供有关该网页含义的明确线索,从而帮助我们理解该网页。结构化数据是一种标准化格式,用于提供网页的相关信息并对网页内容进行分类;例如,食谱网页上会有食材、烹饪时长和温度、卡路里等各类信息。

Google 会利用在网络上找到的结构化数据来了解网页内容并收集有关网络和世界的一般信息。例如,以下 JSON-LD 结构化数据片段可能会显示在 Unlimited Ball Bearings 公司的联系信息页面上,用于描述他们的联系信息:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.example.com",
  "name": "Unlimited Ball Bearings Corp.",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-401-555-1212",
    "contactType": "Customer service"
  }
}
</script>

Google 搜索也会利用结构化数据来启用特殊的搜索结果功能和增强选项。例如,一个包含有效结构化数据的食谱网页可以显示在图片搜索结果中,如下所示:

搜索结果功能 等效的结构化数据(为简洁起见,削减了部分数据)
苹果派食谱富媒体搜索结果。 


 <html>
<head>
<title>Grandma's Holiday Apple Pie</title>
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Recipe",
  "name": "Grandma's Holiday Apple Pie",
  "author": "Elaine Smith",
  "image": "http://images.edge-generalmills.com/56459281-6fe6-4d9d-984f-385c9488d824.jpg",
  "description": "A classic apple pie.",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4",
    "reviewCount": "276",
    "bestRating": "5",
    "worstRating": "1"
  },
  "prepTime": "PT30M",
  "totalTime": "PT1H",
  "recipeYield": "8",
  "nutrition": {
    "@type": "NutritionInformation",
    "servingSize": "1 medium slice",
    "calories": "230 calories",
    "fatContent": "1 g",
    "carbohydrateContent": "43 g",
  },
  "recipeIngredient": [
    "1 box refrigerated pie crusts, softened as directed on box",
    "6 cups thinly sliced, peeled apples (6 medium)",
    "..."
  ],
  "recipeInstructions": [
    "1...",
    "2..."
   ]
}
</script>
</head>
<body>
</body>
</html>
  

由于结构化数据可标识食谱的各个元素,因此用户可按食材、卡路里数、烹饪时长等条件搜索您的食谱。

结构化数据是使用应用相关信息的网页上的页内标记进行编码的。该网页上的结构化数据应描述该网页的内容。您不应仅为了容纳结构化数据而创建空白网页或空网页;也不应添加与用户无法看到的信息相关的结构化数据(即使这些信息准确无误)。要了解更多技术和质量准则,请参阅结构化数据常规准则

结构化数据格式

本文档介绍了对 Google 搜索有特殊含义的结构化数据的必需属性、推荐属性或可选属性分别是哪些。大多数的 Google 搜索结构化数据都使用 schema.org 词汇表,但您应根据 developers.google.com 上的文档(而不是 schema.org 文档)来决定 Google 搜索的行为。Google 搜索不需要使用此处未作介绍的属性或对象(即使相应属性或对象被 schema.org 标记为必需)。

请务必在开发期间使用结构化数据测试工具测试您的结构化数据,并在部署后使用“富媒体搜索结果状态”报告监控您网页的运行状况(在部署后,这些网页可能会因模板或呈现方面的问题而发生中断)。

若想让某个对象在 Google 搜索结果中出现时具有增强的显示效果,您必须为它添加所有的必需属性。一般来说,采用的推荐功能越多,您的信息就越有可能会在 Google 搜索结果中出现时具有增强的显示效果。 不过,更重要的是要提供数量较少但完整无误的推荐属性,而不要尝试为每个可能的推荐属性提供不够完整、格式有误或不够准确的数据。

除了此处所述的属性和对象之外,Google 还可以广泛使用 sameAs 属性和其他 schema.org 结构化数据。其中的部分元素可用于实现未来发布的搜索功能(如果被视为有用)。

除非另有说明,否则 Google 搜索支持以下格式的结构化数据:

格式 说明和放置位置
JSON-LD*(推荐) 嵌在网页标头或正文的 <script> 标记中的 JavaScript 表示法。此标记不与用户可见文本交错显示,因而能使得嵌套数据项更易于表达(例如,某个 Event 的 MusicVenue 的 PostalAddress 中的 Country)。此外,Google 可在 JSON-LD 数据被动态注入网页内容时读取它,例如通过内容管理系统中的 JavaScript 代码或嵌入式微件。
微数据 一种开放社区 HTML 规范,用于在 HTML 内容中嵌套结构化数据。与 RDFa 一样,它会使用 HTML 标记属性为您想让以结构化数据形式显示的属性命名。它通常用在网页正文中,但也可用在标头中。
RDFa 一种 HTML5 扩展功能,通过引入与您要向搜索引擎描述的用户可见内容对应的 HTML 标记属性来支持关联的数据。RDFa 通常用在 HTML 网页的标头和正文部分中。

结构化数据准则

请务必遵循结构化数据常规准则以及任何与您所用的结构化数据类型相关的准则,否则您的结构化数据可能无法在 Google 搜索中显示为富媒体搜索结果。

构建、测试和发布结构化数据

参阅我们推荐的流程,了解如何创建新的结构化数据网页。