如果資料儲存庫已啟用進階網站索引建立功能,您可以使用下列類型的結構化資料來強化索引:
本頁將介紹這兩種網頁結構化資料,並說明如何在資料儲存庫結構定義中新增自訂結構化屬性。
關於 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
標記,為各部門相關的網頁加上標籤。接著,您就可以在查詢中使用已編入索引的標記做為篩選器。這可讓您將搜尋結果限制為包含標籤的網頁,該標籤與任何指定部門相符。
這項程序的摘要如下:
- 將下列
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>
PageMaps 的用途範例
假設你有幾個含有食譜的網頁,您可以將 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
的路徑新增至資料儲存庫結構定義。在資料儲存庫結構定義中使用 ID 做為欄位名稱,例如rating_value
,如新增自訂結構化資料屬性至資料儲存庫結構定義 一節所述。
更新結構定義後,資料儲存庫會自動重新建立索引。重新建立索引後,您可以在篩選器運算式中使用 rating_value
屬性,重新排序或篩選搜尋結果。舉例來說,當使用者搜尋書籍時,請使用 rating_value
做為自訂數值屬性,提升搜尋結果的評分。
事前準備
更新資料儲存庫結構定義前,請先執行下列操作:
- 為資料儲存庫啟用進階網站索引建立功能。詳情請參閱「開啟進階網站索引建立功能」。
- 瞭解結構化資料的運作方式。
- 瞭解如何使用 PageMaps。查看可新增至 PageMap 資料的已知 DataObject 清單。
- 瞭解如何使用
meta
標記。請確認您沒有使用任何遭到排除或不支援的中繼標記。 - 請確認需要建立索引的屬性不含下列任何值:
datePublished
dateModified
siteSearch
- 請注意,在網頁中加入結構化資料後,您必須重新檢索網頁。這項作業可能需要數小時才能完成。
- 請注意,在資料儲存庫結構定義中加入結構化資料屬性後,資料儲存庫中的網頁會自動重新索引。重新建立索引是一項長時間執行的作業,可能需要數小時才能完成。
將自訂結構化資料屬性新增至資料儲存庫結構定義
如要將自訂結構化資料屬性新增至資料儲存庫結構定義,請按照下列步驟操作:
將
meta
標記、PageMap 資料和 schema.org 資料新增至網站中所有要透過結構化資料索引功能加以強化的網頁:適用於
meta
代碼:如為 PageMap 資料:
- PageMap 資料必須包含已辨識的 DataObjects,其中包含要建立索引的屬性名稱。DataObjects 中的屬性名稱必須設為要建立索引的欄位。
針對 schema.org 資料:
- 註解必須採用有效的 JSON-LD、微資料或 RDFa 格式。詳情請參閱「支援的格式」。
重新檢索已更新的網頁。
透過 REST API 查看資料儲存庫的結構定義。
使用 Google Cloud 控制台或 API 更新資料儲存格式。如果您選擇透過 API 執行這項操作,請瞭解如何將您自己的結構定義做為 JSON 物件提供。
- 為每個要讓系統搜尋、擷取或建立索引的自訂屬性新增物件。
- 新增自訂屬性,並將其
type
設為array
。 - 新增自訂屬性值的資料類型。
- 指定自訂屬性的來源,可在
siteSearchStructuredDataSources
欄位中找到該屬性。 - 針對 schema.org 資料:在 schema.org 註解中指定屬性路徑,該路徑會從
siteSearchSchemaOrgPaths
欄位中的字串_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
標記定義為<meta name="department" content="eng, infotech">
,請使用department
- 如果 PageMap 屬性定義為
<Attribute name="rating">4.9</Attribute>
,請使用rating
有時,您要加入至結構定義的
meta
標記名稱並未遵循[a-zA-Z0-9][a-zA-Z0-9-_]*
模式,且包含特殊字元,例如冒號:
。在這種情況下,請指定代表meta
標記名稱的自訂屬性,然後在siteSearchMetatagName
欄位中指定確切的meta
標記名稱。舉例來說,如果meta
標記名稱為og:updated_time
,請在CUSTOM_ATTRIBUTE
欄位中使用og_updated_time
做為 ID,並在METATAG_NAME
欄位中使用og:updated_time
。- 如果
DATA_TYPE
:name
屬性的資料類型。必須是字串、數字或日期時間。例如:- 如果
meta
標記定義為<meta name="department" content="eng, infotech">
,請使用string
- 如果 PageMap 屬性定義為
<Attribute name="rating">4.9</Attribute>
,請使用number
- 如果 PageMap 屬性定義為
<Attribute name="lastPublished">2015-01-01</Attribute>
,請使用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
做為 ID,並在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 欄位的自訂 ID。這個名稱不必與網頁 schema.org 註解中的欄位名稱完全相同。舉例來說,如果欄位的路徑為_root.nutrition.calories
,則 ID 可以是calorific_value
或nutrition_value
。DATA_TYPE_SCHEMA_ORG_FIELD
:schema.org 欄位的資料類型。必須是字串、數字或日期時間。例如:- 如果 schema.org 欄位定義為「calories」:"240 calories",請使用
string
- 如果 schema.org 欄位定義為「calories」:240,請使用
number
- 如果 schema.org 欄位定義為「foundingDate」:"1991-05-01",請使用
datetime
詳情請參閱
FieldType
。- 如果 schema.org 欄位定義為「calories」:"240 calories",請使用
PATH_TO_THE_SCHEMA_ORG_FIELD
:需要存取的 schema.org 欄位中單一欄位的路徑。您可以使用點分隔符指定每個巢狀層級。您必須指定存取必要欄位所需的完整路徑。舉例來說,如果欄位ratingValue
是巢狀在aggregateRating
欄位中,您可以將路徑指定為_root.aggregateRating.ratingValue
。
更新網站結構定義後,系統會自動重新為網站建立索引。這項作業可能需要數小時才能完成。
後續步驟
使用索引中繼資料進行以下操作: