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

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

本页将介绍这两种网页结构化数据,并说明如何向数据存储区架构添加自定义结构化属性。

预定义日期和 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 标记和 PageMap 添加到网页中,并使用这些属性来丰富索引。如需使用自定义结构化属性进行索引,您必须更新架构。

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 标记。确保您未使用任何排除的不受支持的元标记

        如果您的 meta 代码名称包含特殊字符(例如英文冒号 [:]),您必须在架构中选择其他标识符来表示该特殊字符,然后在架构的 siteSearchMetatagName 字段中指定 meta 代码的确切名称。

    • 对于 PageMap 数据:

      • PageMap 数据必须包含您要编入索引的属性名称所对应的已识别的 DataObject。DataObjects 中的属性名称必须设置为您要编入索引的字段。
    • 对于 schema.org 数据:

      • 注释必须采用有效的 JSON-LD、微数据或 RDFa 格式。 如需了解详情,请参阅支持的格式
  2. 重新抓取更新后的网页。

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

  4. 使用 Google Cloud 控制台或 API 更新数据存储区架构。如果您选择通过 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,
            "siteSearchMetatagName": "METATAG_NAME",
            "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

      有时,您要添加到架构中的 meta 标记名称不遵循 [a-zA-Z0-9][a-zA-Z0-9-_]* 模式,并且包含特殊字符,例如英文冒号 :。在这种情况下,请指定一个代表 meta 标记名称的自定义属性,然后在 siteSearchMetatagName 字段中指定确切的 meta 标记名称。例如,如果您的 meta 标记名称为 og:updated_time,请在 CUSTOM_ATTRIBUTE 字段中使用 og_updated_time 作为标识符,并在 METATAG_NAME 字段中使用 og:updated_time

    • 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

    • METATAG_NAME:网页上显示的 meta 标记的确切名称。如果您要添加到架构中的 meta 标记名称不遵循 [a-zA-Z0-9][a-zA-Z0-9-_]* 模式且包含特殊字符(例如英文冒号 :),此字段会很有用。在这种情况下,请在 CUSTOM_ATTRIBUTE 中指定代表 meta 标记名称的自定义属性,然后在 siteSearchMetatagName 字段中指定确切的 meta 标记名称。例如,如果您的 meta 标记名称为 og:updated_time,请在 CUSTOM_ATTRIBUTE 字段中使用 og_updated_time 作为标识符,并在 METATAG_NAME 字段中使用 og:updated_time。添加此字段以更新架构时,您必须使用 v1alpha 端点(而非 v1 端点)来调用 schema 方法。

    • STRUCTURED_DATA_SOURCE_N:一个数组,包含以下一个或两个可找到 CUSTOM_ATTRIBUTE 属性的结构化数据源:

      • 如果自定义属性可以作为 meta 标记找到,请指定 METATAGS
      • 如果自定义属性可以作为 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 字段的数据类型。必须是字符串、数字或日期时间。例如:

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

      如需了解详情,请参阅 FieldType

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

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

后续步骤

使用已编入索引的元数据执行以下操作: