如果您的数据存储区中启用了高级网站索引编制,您可以使用以下类型的结构化数据来丰富索引:
本页介绍了网页的这两种结构化数据,并说明了如何向数据存储区架构添加自定义结构化属性。
预定义日期和 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 标记来标记与每个部门相关的网页。然后,您可以在查询中使用已编入索引的标记作为过滤条件。这样一来,您就可以将搜索结果限制为包含与任何指定部门匹配的标签的网页。
此过程可总结如下:
- 将以下 - meta标记添加到部分网页:- 与工程和 IT 部门相关: - <meta name="department" content="eng, infotech"> <meta property="og:title" content="Password best practices">
- 与财务和人力资源部门相关: - <meta name="department" content="finance, human resources"> <meta property="og:image" content="https://example.com/images/team-training-contractors.jpg">- 如需查看更详细的示例,请参阅网页上的 - meta标记示例。
 
- 重新抓取更新后的网页。 
- 按照向数据存储区架构添加自定义结构化数据属性部分中的说明,将 - 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 属性名称作为过滤条件。例如,如果您打算根据食谱评分来提升或降低网页的排名,可以按以下流程操作:
- 向网页添加类似于以下内容的 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>
- 重新抓取更新后的网页。 
- 按照向数据存储区架构添加自定义结构化数据属性部分中的说明,将 - rating添加到数据存储区架构中,作为可编入索引的数组。
更新架构后,数据存储区会自动重新编制索引。重新编制索引完成后,您可以在过滤表达式中使用 rating 属性来重新排序或过滤搜索结果。例如,当用户搜索食谱时,使用 rating 作为自定义数值属性,提升获得最高评分的搜索结果。
schema.org 数据的应用场景示例
假设您有一个评价网站,其网页在 HTML script 标记内以 JSON-LD 格式添加了 schema.org 数据注释。然后,您可以在查询中使用已编入索引的注释作为过滤条件。例如,如果您打算根据汇总评分来提升或隐藏网页,可以按以下流程操作:
- 向网页添加类似于以下内容的 评价内容的 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>
- 重新抓取更新后的网页。 
- 将 - ratingValue的路径添加到数据存储区架构。在数据存储区架构中使用标识符作为字段名称,例如- rating_value,如向数据存储区架构添加自定义结构化数据属性部分中所述。
更新架构后,数据存储区会自动重新编制索引。重新编制索引完成后,您可以在过滤表达式中使用 rating_value 属性来重新排序或过滤搜索结果。例如,当用户搜索图书时,使用 rating_value 作为自定义数值属性来提升高评分搜索结果的排名。
准备工作
在更新数据存储区架构之前,请执行以下操作:
- 为数据存储区启用高级网站索引编制。如需了解详情,请参阅启用高级网站索引编制功能。
- 了解结构化数据的工作原理。
- 了解如何使用 PageMap。查看可添加到 PageMap 数据的已识别 DataObject 的列表。
- 了解如何使用 meta代码。确保您未使用任何排除或不受支持的元标记。
- 确保需要编入索引的属性不包含以下任何值:
- datePublished
- dateModified
- siteSearch
 
- 请注意,向网页添加结构化数据后,您必须重新抓取这些网页。此过程可能需要几个小时。
- 请注意,向数据存储区架构添加结构化数据属性后,数据存储区中的网页会自动重新编入索引。 重新编制索引是一项长时间运行的操作,可能需要数小时。
向数据存储区架构添加自定义结构化数据属性
如需向数据存储区架构添加自定义结构化数据属性,请执行以下操作:
- 向您网站中要通过结构化数据索引功能丰富的所有网页添加 - meta标记、PageMap 数据和 schema.org 数据:- 对于 - meta代码:
- 对于 PageMap 数据: - PageMap 数据必须包含您要编入索引的属性名称所对应的已识别的 DataObject。DataObjects 中的属性名称必须设置为您要编入索引的字段。
 
- 对于 schema.org 数据: - 注释必须采用有效的 JSON-LD、微数据或 RDFa 格式。 如需了解详情,请参阅支持的格式。
 
 
- 重新抓取更新后的网页。 
- 通过 REST API 查看数据存储区的架构定义。 
- 使用 Google Cloud 控制台或 API 更新数据存储区架构。如果您选择通过 API 执行此操作,请了解如何以 JSON 对象的形式提供您自己的架构。 - 为要设为可搜索、可检索或可编入索引的每个自定义属性添加对象。
- 添加自定义属性,并将其 type设置为array。
- 添加自定义属性值的数据类型。
- 在 siteSearchStructuredDataSources字段中指定自定义属性的来源。
- 对于 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_ATTRIBUTE:- name属性的值。 例如:- 对于定义为 <meta name="department" content="eng, infotech">的meta标记,请使用department
- 对于定义为 <Attribute name="rating">4.9</Attribute>的 PageMap 属性,请使用rating
 
- 对于定义为 
- DATA_TYPE:- name属性的数据类型。必须是字符串、数字或日期时间。例如:- 对于定义为 <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:- siteSearchMetatagName字段的值,用于指定网页中- meta代码的确切名称。只有当- meta标记的- name属性包含特殊字符(例如英文冒号)且不符合- CUSTOM_ATTRIBUTE的必需模式(即- [a-zA-Z0-9][a-zA-Z0-9-_]*)时,您才需要使用此字段。- 例如,如果您有标记 - <meta name="og:updated_time" ...>,则- og:updated_time不能用作- CUSTOM_ATTRIBUTE。您应改为使用符合要求的- CUSTOM_ATTRIBUTE标识符(例如- og_updated_time),然后将- siteSearchMetatagName的值设置为- og:updated_time。- 使用 - siteSearchMetatagName更新架构时,您必须使用 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_value或- nutrition_value。
- DATA_TYPE_SCHEMA_ORG_FIELD:schema.org 字段的数据类型。必须是字符串、数字或日期时间。例如:- 对于定义为“卡路里”的 schema.org 字段:“240 卡路里”,请使用 string
- 对于定义为“卡路里”的 schema.org 字段:240,请使用 number
- 对于定义为“foundingDate”的 schema.org 字段:“1991-05-01”,请使用 datetime
 - 如需了解详情,请参阅 - FieldType。
- 对于定义为“卡路里”的 schema.org 字段:“240 卡路里”,请使用 
- PATH_TO_THE_SCHEMA_ORG_FIELD:需要访问的 schema.org 字段中单个字段的路径。它使用点分隔符在每个嵌套级别后指定。您必须指定访问所需字段所需的完整路径。例如,如果字段- ratingValue嵌套在字段- aggregateRating中,您可以将路径指定为- _root.aggregateRating.ratingValue。
 
更新网站架构后,系统会自动重新为网站编制索引。 这是一项长时间运行的操作,可能需要几个小时才能完成。
后续步骤
使用已编入索引的元数据执行以下操作: