如果資料儲存庫已啟用進階網站索引功能,您可以使用下列類型的結構化資料來豐富索引:
本頁將介紹這兩種網頁結構化資料,並說明如何將自訂結構化屬性新增至資料存放區結構定義。
關於預先定義的 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
的路徑新增至資料儲存庫結構定義。在資料存放區結構定義中,使用 ID 做為欄位名稱,例如rating_value
,如「將自訂結構化資料屬性新增至資料存放區結構定義」一節所述。
更新結構定義後,資料存放區會自動重新建立索引。重新建立索引完成後,您可以在篩選器運算式中使用 rating_value
屬性,重新排序或篩選搜尋結果。舉例來說,當使用者搜尋書籍時,您可以將 rating_value
設為自訂數值屬性,藉此提升高評價書籍的搜尋結果。
事前準備
更新資料存放區結構定義前,請先執行下列操作:
- 為資料儲存庫啟用進階網站索引建立功能。詳情請參閱「啟用進階網站索引功能」。
- 瞭解結構化資料的運作方式。
- 瞭解如何使用 PageMap。查看可新增至 PageMap 資料的已辨識 DataObject 清單。
- 瞭解如何使用
meta
標記。請勿使用任何排除或不支援的中繼標記。 - 確認需要建立索引的屬性不含下列任何值:
datePublished
dateModified
siteSearch
- 請注意,在網頁中加入結構化資料後,您必須重新檢索網頁。這項作業可能需要數小時才能完成。
- 請注意,將結構化資料屬性新增至資料存放區結構定義後,資料存放區中的網頁會自動重新建立索引。重新建立索引是長時間執行的作業,可能需要數小時才能完成。
將自訂結構化資料屬性新增至資料儲存庫結構定義
如要將自訂結構化資料屬性新增至資料儲存庫結構定義,請按照下列步驟操作:
在網站中,將
meta
標記、PageMap 資料和 schema.org 資料新增至所有要透過結構化資料索引功能豐富內容的網頁:如果是
meta
標記:如為 PageMap 資料:
- PageMap 資料必須包含可辨識的 DataObject,其中含有您要建立索引的屬性名稱。DataObject 中的屬性名稱必須設為要建立索引的欄位。
如果是 schema.org 資料:
- 註解必須採用有效的 JSON-LD、微資料或 RDFa 格式。 詳情請參閱「支援的格式」。
重新檢索更新後的網頁。
透過 REST API 查看資料存放區的結構定義。
使用 Google Cloud 控制台或 API 更新資料存放區結構定義。如果選擇透過 API 執行這項操作,請參閱這篇文章,瞭解如何以 JSON 物件的形式提供自己的結構定義。
- 針對要設為可搜尋、可擷取或可建立索引的每個自訂屬性,新增物件。
- 新增自訂屬性,並將其
type
設為array
。 - 新增自訂屬性值的資料類型。
- 在
siteSearchStructuredDataSources
欄位中指定自訂屬性的來源。 - 如果是 schema.org 資料:在
siteSearchSchemaOrgPaths
欄位中,以字串_root
開頭,指定 schema.org 註解中的屬性路徑。
以下是網站的結構定義更新範例:
{ "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
- 如果 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
:自訂 ID,用來表示 schema.org 欄位。不必與網頁上 schema.org 註解中的欄位名稱完全相同。舉例來說,如果欄位的路徑為_root.nutrition.calories
,則 ID 可以是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
。
更新網站結構化資料後,系統會自動重新建立網站索引。 這項作業需要長時間執行,可能需要數小時才能完成。
後續步驟
使用已建立索引的中繼資料執行下列操作: