使用結構化資料進行進階網站索引

如果資料儲存庫已啟用進階網站索引建立功能,您可以使用下列類型的結構化資料來強化索引:

本頁將介紹這兩種網頁結構化資料,並說明如何在資料儲存庫結構定義中新增自訂結構化屬性。

關於 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 標記,為各部門相關的網頁加上標籤。接著,您就可以在查詢中使用已編入索引的標記做為篩選器。這可讓您將搜尋結果限制為包含標籤的網頁,該標籤與任何指定部門相符。

這項程序的摘要如下:

  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>

PageMaps 的用途範例

假設你有幾個含有食譜的網頁,您可以將 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 的路徑新增至資料儲存庫結構定義。在資料儲存庫結構定義中使用 ID 做為欄位名稱,例如 rating_value,如新增自訂結構化資料屬性至資料儲存庫結構定義 一節所述。

更新結構定義後,資料儲存庫會自動重新建立索引。重新建立索引後,您可以在篩選器運算式中使用 rating_value 屬性,重新排序或篩選搜尋結果。舉例來說,當使用者搜尋書籍時,請使用 rating_value 做為自訂數值屬性,提升搜尋結果的評分。

事前準備

更新資料儲存庫結構定義前,請先執行下列操作:

  • 為資料儲存庫啟用進階網站索引建立功能。詳情請參閱「開啟進階網站索引建立功能」。
  • 瞭解結構化資料的運作方式
  • 瞭解如何使用 PageMaps。查看可新增至 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 資料必須包含已辨識的 DataObjects,其中包含要建立索引的屬性名稱。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 資料:在 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_ATTRIBUTEname 屬性的值。例如:

      • 如果 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_TYPEname 屬性的資料類型。必須是字串、數字或日期時間。例如:

      • 如果 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_NAMEmeta 標記在網頁中出現的確切名稱。如果您要加入至結構定義的 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_valuenutrition_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

    • PATH_TO_THE_SCHEMA_ORG_FIELD:需要存取的 schema.org 欄位中單一欄位的路徑。您可以使用點分隔符指定每個巢狀層級。您必須指定存取必要欄位所需的完整路徑。舉例來說,如果欄位 ratingValue 是巢狀在 aggregateRating 欄位中,您可以將路徑指定為 _root.aggregateRating.ratingValue

更新網站結構定義後,系統會自動重新為網站建立索引。這項作業可能需要數小時才能完成。

後續步驟

使用索引中繼資料進行以下操作: