如果您的数据存储区中启用了高级网站索引编制,您可以使用以下类型的结构化数据来丰富索引:
本页将介绍这两种网页结构化数据,并说明如何向数据存储区架构添加自定义结构化属性。
预定义日期和 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 name="department" content="finance, human resources">
- 与工程和 IT 部门相关:
- 重新抓取更新后的网页。
- 按照向数据存储区架构添加自定义结构化数据属性部分中的说明,将
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
有时,您要添加到架构中的
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_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
:网页上显示的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_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
。
更新网站架构后,系统会自动重新为网站编制索引。 这是一项长时间运行的操作,可能需要几个小时才能完成。
后续步骤
使用已编入索引的元数据执行以下操作: