使用结构化数据进行高级网站索引编制

如果您在数据存储区中启用了高级网站索引编制,则可以使用以下类型的结构化数据来丰富索引:

本页介绍了适用于网页的这两种结构化数据,并介绍了如何向数据存储区架构添加自定义结构化属性。

Google 推断出的预定义网页日期简介

在抓取网站数据存储区中的网页时,Google 会使用适用于您内容的属性推断网页数据。Vertex AI Search 会将这些推断出的网页数据属性添加到您的架构中。这些推断出的数据包括以下预定义日期属性(也称为旁白日期):

  • datePublished:网页的首次发布日期和时间
  • dateModified:网页最近一次修改的日期和时间

系统会自动为这些媒体资源编制索引。您可以直接使用这些日期属性来丰富搜索结果,而无需将其添加到架构中。如需向您的网站添加署名日期,请参阅影响您在 Google 搜索中的署名日期

如需了解如何在搜索请求(例如过滤条件表达式和提升规范)中添加这些预定义日期属性,请参阅使用 Google 推断的网页日期的示例用例

网页上的自定义日期时间字段简介

您可以向网页添加自定义日期时间字段。当您向数据存储区架构添加自定义结构化数据属性时,可以将此类标记与高级索引结合使用。
以下示例展示了在网页上的什么位置添加名为 lastModified 的自定义日期时间元标记。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Your web page title</title>

    <!-- Vertex AI Search can use this date. -->
    <meta name="lastModified" content="2022-07-01">
</head>
<body>
    </body>
</html>

如需了解如何在搜索请求(例如过滤表达式和加权规范)中添加此类自定义日期时间标记,请参阅使用自定义日期时间属性的示例用例

自定义结构化数据属性简介

您可以将结构化数据属性作为 meta 标记和网页地图添加到网页中,并使用这些属性来丰富索引。如需使用自定义结构化属性进行索引编制,您必须更新架构。

meta 标记的使用场景示例

假设您有大量与贵组织中的各个部门相关的网页。您可以使用 meta 标记与每个部门相关的网页。然后,您可以在查询中将编入索引的代码用作过滤条件。这样,您就可以将搜索结果限制为包含与任何指定部门匹配的标签的网页。

此过程可总结如下:

  1. 将以下 meta 代码添加到部分网页中:
    • 与工程和 IT 部门相关:<meta name="department" content="eng, infotech">
    • 与财务和人力资源部门相关:<meta name="department" content="finance, human resources">
  2. 重新抓取更新后的网页。
  3. department 作为可编制索引的数组添加到数据存储区架构中,如向数据存储区架构添加自定义结构化数据属性部分中所述。

更新架构后,系统会自动重新编制数据存储区的索引。重新编制索引完成后,您可以在过滤表达式中使用 department 过滤器来重新排序或过滤搜索结果。例如,当财务部门的用户发出查询时,您可以将 department 过滤器设置为 finance,以便为他们提供更相关的搜索结果。

网页上的 meta 代码示例

以下是可添加到网页中的 meta 代码示例。当您向数据存储区架构添加自定义结构化数据属性时,可以将此类标记与高级索引结合使用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Your web page title</title>

    <!-- Robots instructions for crawlers and for Vertex AI Search. -->
    <meta name="robots" content="index,follow">

    <!-- Vertex AI Search can use custom datetime fields to filter, boost, and order. -->
    <meta name="lastModified" content="2024-09-06">

    <!-- Vertex AI Search can filter by category or tags. -->
    <meta name="category" content="archived">
    <meta name="tags" content="legacy,interesting,faq">

    <!-- Vertex AI Search can index these common HTML tags. -->
    <meta name="description" content="A description of your web page's content.">
    <meta name="author" content="Your name or organization">
    <meta name="keywords" content="relevant,keywords,separated,by,commas">
    <link rel="canonical" href="https://www.yourwebsite.com/this-page">
    <meta property="og:title" content="Your Webpage Title">
    <meta property="og:description" content="A description of your webpage's content.">
    <meta property="og:image" content="https://www.yourwebsite.com/image.jpg">
    <meta property="og:url" content="https://www.yourwebsite.com/this-page">
    <meta property="og:type" content="website">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Your customized Webpage Title">
    <meta name="twitter:description" content="A description of your webpage's content.">
    <meta name="twitter:image" content="https://www.yourwebsite.com/image.jpg">
</head>
<body>
...
</body>
</html>

PageMap 的使用场景示例

假设您有多个包含食谱的网页。您可以将 PageMap 数据添加到每个网页的 HTML 内容中。然后,您可以在查询中使用编入索引的 PageMap 属性名称作为过滤条件。例如,如果您打算根据食谱评分来提升或隐藏网页,可以按照以下步骤操作:

  1. 将类似于以下内容的 PageMap 数据添加到您的网页中:

    <html>
    <head>
    ...
    <!--
    <PageMap>
        <DataObject type="document">
            <Attribute name="title">Baked potatoes</Attribute>
            <Attribute name="author">Dana A.</Attribute>
            <Attribute name="description">Homestyle baked potatoes in oven. This
            recipe uses Russet potatoes.</Attribute>
            <Attribute name="rating">4.9</Attribute>
            <Attribute name="lastUpdate">2015-01-01</Attribute>
        </DataObject>
    </PageMap>
    -->
    </head>
    ...
    </html>
    
  2. 重新抓取更新后的网页。

  3. rating 作为可编制索引的数组添加到数据存储区架构中,如向数据存储区架构添加自定义结构化数据属性部分中所述。

更新架构后,系统会自动重新编制数据存储区的索引。重新编制索引完成后,您可以在过滤表达式中使用 rating 属性来重新排序或过滤搜索结果。例如,当用户搜索食谱时,您可以将 rating 用作自定义数值属性,以提升评分最高的搜索结果的排名。

schema.org 数据的使用场景示例

假设您有一个评价网站,其网页在 HTML script 标记中使用 JSON-LD 格式的 schema.org 数据进行注释。然后,您可以在查询中将编入索引的注释用作过滤条件。例如,如果您打算根据综合评分来提升或隐藏网页,可以按照以下步骤操作:

  1. 在您的网页中添加与以下内容类似的评价内容的 schema.org 注释。如需查看其他类型的 schema.org 模板,请参阅架构

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Review",
      "aggregateRating": {
        "@type": "Average Rating",
        "ratingValue": 3.5,
        "reviewCount": 11
      },
      "description": "Published in 1843, this is the perfect depiction of the Victorian London. A Christmas Carol is the story of Ebenezer Scrooge's transformation.",
      "name": "A Christmas Carol",
      "image": "christmas-carol-first-ed.jpg",
      "review": [
        {
          "@type": "Review",
          "author": "Alex T.",
          "datePublished": "2000-01-01",
          "reviewBody": "Read this in middle school and have loved this ever since.",
          "name": "Worth all the adaptations",
          "reviewRating": {
            "@type": "Rating",
            "bestRating": 5,
            "ratingValue": 5,
            "worstRating": 1
          }
        }
      ]
    }
    </script>
    
  2. 重新抓取更新后的网页。

  3. ratingValue 的路径添加到数据存储区架构中。在数据存储区空间架构中,使用标识符作为字段名称,例如 rating_value,如向数据存储区架构添加自定义结构化数据属性部分中所述。

更新架构后,系统会自动重新编制数据存储区的索引。重新编制索引完成后,您可以在过滤表达式中使用 rating_value 属性来重新排序或过滤搜索结果。例如,当用户搜索图书时,您可以使用 rating_value 作为自定义数值属性,提升评分最高的搜索结果的排名。

准备工作

在更新数据存储区架构之前,请执行以下操作:

  • 为数据存储区开启高级网站索引编制。如需了解详情,请参阅启用高级网站索引编制
  • 了解结构化数据的工作原理
  • 了解如何使用 PageMap。查看可添加到 PageMap 数据的已识别 DataObject 列表。
  • 了解如何使用 meta 标记。确保您未使用任何已排除不受支持的元标记
  • 确保需要编入索引的属性不含以下任何值:
    • datePublished
    • dateModified
    • siteSearch
  • 请注意,向网页添加结构化数据后,您必须重新抓取这些网页。此过程可能需要几个小时。
  • 请注意,向数据存储区架构添加结构化数据属性后,系统会自动重新编制数据存储区中的网页索引。重新编制索引是一项长时间运行的操作,可能需要数小时。

向数据存储区架构添加自定义结构化数据属性

如需向数据存储区架构添加自定义结构化数据属性,请执行以下操作:

  1. meta 标记、PageMap 数据和 schema.org 数据添加到您网站中希望通过结构化数据索引编制功能进行丰富的所有网页:

    • 对于 meta 代码:
      • 每个 meta 标记的 name 属性都必须设置为您要编入索引的字段,其 content 属性必须设置为一个或多个以英文逗号分隔的值的字符串。
      • Vertex AI Search 支持名称与 [a-zA-Z0-9][a-zA-Z0-9-_]* 模式匹配的 meta 标记。确保您未使用任何排除不受支持的元标记
    • 对于 PageMap 数据:
      • PageMap 数据必须由包含您要编入索引的属性名称的已识别的数据对象组成。DataObject 中的属性名称必须设置为要编入索引的字段。
    • 对于 schema.org 数据:
      • 注释必须采用有效的 JSON-LD、微数据或 RDFa 格式。 如需了解详情,请参阅支持的格式
  2. 重新抓取更新后的网页。

  3. 通过 REST API 查看数据存储区的架构定义

  4. 通过 REST API 更新数据存储区架构。如需了解详情,请参阅关于将自己的架构作为 JSON 对象提供

    1. 为您希望可搜索、可检索或可编入索引的每个自定义属性添加对象。
    2. 添加自定义属性,并将其 type 设置为 array
    3. 添加自定义属性值的数据类型。
    4. 指定自定义属性的来源,该来源可在 siteSearchStructuredDataSources 字段中找到。
    5. 对于 schema.org 数据:在 siteSearchSchemaOrgPaths 字段中,在 schema.org 注解中指定以字符串 _root 开头的属性路径。

    以下是网站架构更新示例:

    {
      "type": "object",
      "properties": [{
        "CUSTOM_ATTRIBUTE": {
          "type": "array",
          "items": {
            "type": "DATA_TYPE",
            "searchable": true,
            "retrievable": true,
            "indexable": true,
            "siteSearchStructuredDataSources": ["STRUCTURED_DATA_SOURCE_1", "STRUCTURED_DATA_SOURCE_2"]
          }
        }
      }
      {
        "IDENTIFIER_FOR_SCHEMA_ORG_FIELD": {
          "type": "array",
          "items": {
            "type": "DATA_TYPE_SCHEMA_ORG_FIELD",
            "searchable": true,
            "retrievable": true,
            "indexable": true,
            "siteSearchSchemaOrgPaths": ["_root.PATH_TO_THE_SCHEMA_ORG_FIELD"]
          }
        }
      }],
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }

    替换以下内容:

    • CUSTOM_ATTRIBUTEname 属性的值。例如:
      • 对于定义为 <meta name="department" content="eng, infotech">meta 标记,请使用 department
      • 对于定义为 <Attribute name="rating">4.9</Attribute> 的 PageMap 属性,请使用 rating
    • DATA_TYPEname 属性的数据类型。必须是字符串、数字或日期时间。例如:

      • 对于定义为 <meta name="department" content="eng, infotech">meta 标记,请使用 string
      • 对于定义为 <Attribute name="rating">4.9</Attribute> 的 PageMap 属性,请使用 number
      • 对于定义为 <Attribute name="lastPublished">2015-01-01</Attribute> 的 PageMap 属性,请使用 datetime

      如需了解详情,请参阅 FieldType

    • STRUCTURED_DATA_SOURCE_N:一个数组,由以下一个或两个结构化数据源组成,其中包含 CUSTOM_ATTRIBUTE 属性:

      • 如果可以将自定义属性作为 meta 标记找到,请指定 METATAG
      • 如果可以将自定义属性作为 PageMap 属性找到,请指定 PAGEMAP
      • 如果可以将自定义属性作为 schema.org 数据找到,请指定 SCHEMA_ORG
      • 如果 siteSearchStructuredDataSources 字段不存在或留空,系统会将来自所有三个数据源的值合并到一个数组中。
    • IDENTIFIER_FOR_SCHEMA_ORG_FIELD:用于表示 schema.org 字段的自定义标识符。它不必与网页上的 schema.org 注解中的字段名称相同。例如,如果字段的路径为 _root.nutrition.calories,则标识符可以是 calorific_valuenutrition_value

    • DATA_TYPE_SCHEMA_ORG_FIELD:schema.org 字段的数据类型。必须是字符串、数字或日期时间。例如:

      • 对于定义为“calories”:“240 calories”的 schema.org 字段,请使用 string
      • 对于定义为“calories”: 240 的 schema.org 字段,请使用 number
      • 对于定义为“foundingDate”的 schema.org 字段:“1991-05-01”,请使用 datetime

      如需了解详情,请参阅 FieldType

    • PATH_TO_THE_SCHEMA_ORG_FIELD:需要访问的 schema.org 字段中的单个字段的路径。它在每个嵌套级别后面使用英文句点分隔符进行指定。您必须指定访问所需字段所需的完整路径。例如,如果字段 ratingValue 嵌套在字段 aggregateRating 中,您可以将路径指定为 _root.aggregateRating.ratingValue

更新网站架构后,系统会自动重新编制该网站的索引。这是一个长时间运行的操作,可能需要几个小时才能完成。

后续步骤

您可以将编入索引的元数据用于以下用途: