使用 Sitemap 索引及重新整理網頁

如果資料儲存庫已啟用進階網站索引功能,您可以提交及使用 Sitemap,為資料儲存庫中的網頁建立索引並重新整理。這項功能僅支援 XML Sitemap 和 Sitemap 索引

本頁說明如何提交 Sitemap 或 Sitemap 索引,以觸發 Sitemap 索引作業和重新整理。如要瞭解及實作自動和手動重新整理功能 (不使用 Sitemap),請參閱「重新整理網頁」。

此外,本頁面也會說明如何查看資料存放區中的 Sitemap,或刪除 Sitemap。

以 Sitemap 為基礎的重新整理概念

以下是幾個有助於入門的重要概念和術語:

  • Sitemap 通訊協定:Vertex AI Search 支援的所有 Sitemap 和 Sitemap 索引都必須遵循Sitemap 通訊協定

  • Sitemap:Sitemap 採用 UTF-8 編碼,這種 XML 檔案會列出網站頁面和檔案的網址,並提供其他重要卻非必要的資訊,例如網頁上次修改日期,以及特定網頁的檢索優先順序 (相較於網站中的其他頁面)。根據 Sitemap 通訊協定,單一 Sitemap 最多可包含 50,000 個網址,且檔案大小不得超過 50 MB。

  • Sitemap 索引:如果 Sitemap 超過網址或大小上限,可以建立多個 Sitemap,並在 Sitemap 索引檔中列出這些 Sitemap。根據 Sitemap 通訊協定,單一 Sitemap 索引最多可巢狀包含 50,000 個 Sitemap,且大小不得超過 50 MB。

您可以向 Vertex AI Search 提交一或多個 Sitemap、一或多個 Sitemap 索引,或是 Sitemap 和 Sitemap 索引的組合。

Sitemap 或 Sitemap 索引提交至 Vertex AI Search 資料儲存庫時,系統會觸發下列動作:

  • 為資料儲存庫索引中包含的網址建立索引。

    • 如果是僅重新整理 Sitemap,這份清單只會包含 Sitemap 或 Sitemap 索引中符合資料存放區網址模式的網址。
    • 如果是組合式重新整理,這份清單會列出自動重新整理程序發現的所有網址。

    如要進一步瞭解這兩種重新整理程序,請參閱「網站資料存放區重新整理方法」和「僅重新整理 Sitemap」。

  • 每天重新整理 Sitemap 中新增、刪除及更新的網址。 舉例來說,更新網址時,您會更新 Sitemap 中網址的 lastmod 欄位。

  • 每 14 天定期重新整理未變更的網址。

網站資料儲存庫的重新整理方法

你可以選擇下列其中一種方式,在資料儲存庫中納入以 Sitemap 為基礎的重新整理:

  • 僅限 Sitemap 的重新整理:關閉初始索引和自動重新整理,即可只使用 Sitemap 重新整理。
  • 組合式重新整理:使用以 Sitemap 為基礎的重新整理功能,進行初始索引和自動重新整理。

無論選擇哪種重新整理方法,你都可以隨時手動重新整理資料儲存庫索引中的特定網頁。

僅重新整理 Sitemap

建立網站資料儲存庫時,您必須提供要納入資料儲存庫索引的網頁網址模式。根據預設,建立網站資料儲存庫後,Vertex AI Search 會為這些網頁產生初始索引。

如果網站資料儲存庫採用進階網站索引功能,初始索引程序會是自動重新整理的一部分。初始索引程序會為 Google 搜尋中所有可用的網址建立索引。這些網址的初始新鮮度與 Google 搜尋提供的新鮮度相同。完成初始索引後,自動重新整理程序會盡力探索並重新整理新網頁。這可能會導致網頁相對過時,且索引較為龐大,因為這個程序會探索可能超出必要範圍的網址。

不過,您可以選擇只重新整理 Sitemap,這在下列情況中很有用:

  • 你擁有維護良好的最新 Sitemap。
  • 您擁有大型網站,需要更嚴格地控管要建立索引的網頁。這樣就能建立更精簡且易於管理的索引。
  • 您必須每天重新整理新增和更新的頁面,並移除已刪除的頁面。這樣一來,索引就會更新,反映 Sitemap 的內容。

下表比較了重新整理資料存放區索引的不同方法:

重新整理方法 精確度 手動介入 頻率 探索
以 Sitemap 為基礎的重新整理 沒錯。只為 Sitemap 中的網址建立索引。 提交 Sitemap 或 Sitemap 索引後,就不需要再執行這項操作 每天檢查 Sitemap 中新增、刪除及更新的網址。網址未變更:14 天 不得超出 Sitemap 中指定的範圍。
手動重新整理 (也稱為重新檢索) 沒錯。只為重新檢索要求中指定的網址建立索引。 必填 隨選 不用
自動重新整理 不完全正確。系統會盡可能更新資料儲存庫。 非必要 隨機,並盡力而為 可以。探索 Google 搜尋以外的網址。

事前準備

將 Sitemap 或 Sitemap 索引提交至 Vertex AI Search 資料儲存庫前,請先完成下列步驟:

  • 根據 Sitemap 通訊協定,建立 XML Sitemap 或 Sitemap 索引,參照網站的所有 Sitemap。
  • 請注意,如要將 Sitemap 或 Sitemap 索引提交至 Vertex AI Search 資料儲存庫,不必提交至 Google 搜尋。
  • 如要為 Sitemap 中的網址建立索引,這些網址必須屬於資料儲存庫中已驗證的公開網域。詳情請參閱「驗證網站網域」。
  • Sitemap URI 或包含巢狀 Sitemap URI 的 Sitemap 索引 URI 必須公開。

將 Sitemap 或 Sitemap 索引提交至資料儲存庫

如要觸發資料存放區中網頁的索引和重新整理作業,請按照下列步驟操作:

  1. 決定要只重新整理 Sitemap,還是要搭配其他方法重新整理。

  2. 如要只重新整理 Sitemap,請按照這個步驟操作,否則請跳至下一個步驟。

    您無法使用已完成初始索引和重新整理的現有資料儲存庫。您必須關閉初始索引和自動重新整理功能,並使用 AdvancedSiteSearchConfig 設定建立新的資料存放區。

    REST

    建立資料儲存庫,並只啟用 Sitemap 重新整理功能。方法是關閉初始索引和自動重新整理。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID&createAdvancedSiteSearch=true" \
    -d '{
       "displayName": "DATA_STORE_DISPLAY_NAME",
       "industryVertical": "GENERIC",
       "content_config": "PUBLIC_WEBSITE",
       "searchTier": "ENTERPRISE",
       "advancedSiteSearchConfig": {
          "disableInitialIndex": true,
          "disableAutomaticRefresh": true,
       }
    }'
    

    更改下列內容:

    • PROJECT_ID:您的 Google Cloud 專案 ID。
    • DATA_STORE_ID:您要建立的 Vertex AI Search 資料儲存庫 ID。這個 ID 只能包含小寫字母、數字、底線和連字號。
    • DATA_STORE_DISPLAY_NAME:要建立的 Vertex AI Search 資料儲存庫顯示名稱。

  3. 更新資料存放區中要納入和排除的網站網址模式。詳情請參閱「使用網站內容建立資料儲存區」。

  4. 驗證資料商店中網頁的網域

  5. 無論選擇只重新整理 Sitemap 或重新整理組合,都請使用 sitemaps.create 方法,將 Sitemap 或 Sitemap 索引 URI 提交至資料存放區。

    REST

    提交 Sitemap 或 Sitemap 索引。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_NUMBER" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine/sitemaps?sitemap.uri=SITEMAP_URI"
    

    更改下列內容:

    • PROJECT_ID:您的 Google Cloud 專案 ID。
    • DATA_STORE_ID:Vertex AI Search 資料儲存庫的 ID。
    • SITEMAP_URI:要提交的個別 Sitemap 或 Sitemap 索引的公開 URI。提交 Sitemap 索引時,只要提交 Sitemap 索引的 URI 即可。Vertex AI Search 會自動為 Sitemap 索引中巢狀結構的所有 Sitemap 建立索引。

    將網站地圖或網站地圖索引提交至資料儲存庫後, Vertex AI Search 會觸發下列動作:

    • 為 Sitemap 中符合資格的網址建立索引,也就是資料儲存庫中包含的網址。這項程序可能需要數小時才能完成。如果 Sitemap 較大,建立索引的時間可能會比較長。
    • 每天重新整理含有符合資格網址的網頁。

    如要瞭解修改 Sitemap 或 Sitemap 索引對重新整理的影響,請參閱「變更 Sitemap 和 Sitemap 索引」。

  6. 查看資料儲存庫中的網站地圖。

Sitemap 和 Sitemap 索引異動

首次提交後,Vertex AI Search 每天都會偵測 Sitemap 或 Sitemap 索引的修改內容,並以以下方式處理這些修改:

  • 變更 Sitemap:
    • 新增網址:系統會將符合資料商店所含網址模式的網址加入索引,並每天重新整理。
    • 移除網址:如果移除的網址位於索引中,系統會將其從索引中移除,且不再重新整理。
    • 更新現有網址時 (例如更新 Sitemap 中網址的 lastmod 欄位),系統會重新整理與資料存放區的已納入網址模式相符的所有更新網址。更新後,系統通常會在 24 小時內重新整理。
  • 變更 Sitemap 索引:
    • 新增 Sitemap 時,系統會將新 Sitemap 中符合資料存放區所含網址模式的網址新增至索引,並每天重新整理。
    • 移除 Sitemap 後,系統就不會再重新整理與資料儲存庫所含網址模式相符的網址。不過,這些網頁仍會保留在索引中。如要從索引中移除 Sitemap 和相關網址,請參閱「從索引中移除 Sitemap 和相關網址」。

列出資料儲存庫中的 Sitemap 和 Sitemap 索引

如要列出資料存放區中的所有 Sitemap 和 Sitemap 索引,請使用 sitemaps.fetch 方法。如果您已提交 Sitemap 索引,這個方法會傳回 Sitemap 索引,而不是個別的巢狀 Sitemap。如果資料儲存庫中沒有網站地圖,這項要求會傳回空白的 JSON 檔案。

REST

列出資料儲存庫中的 Sitemap 和 Sitemap 索引。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine/sitemaps:fetch"

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • DATA_STORE_ID:Vertex AI Search 資料儲存庫的 ID。

檢查資料存放區中是否有 Sitemap 或 Sitemap 索引

如要檢查資料儲存庫中是否有 Sitemap 或 Sitemap 索引,請使用 sitemaps.fetch 方法。如果提交至資料存放區的 Sitemap 或 Sitemap 索引與您要檢查的項目相符,則回應會包含 Sitemap 名稱和 URI。如果已提交 Sitemap 索引,檢查 Sitemap 索引中的個別 Sitemap 就不會傳回正確結果。

REST

在資料儲存庫中檢查是否有 Sitemap 或 Sitemap 索引。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine/sitemaps:fetch?matcher.uris_matcher.uris=SITEMAP_URI_1&matcher.uris_matcher.uris=SITEMAP_URI_2"

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • DATA_STORE_ID:Vertex AI Search 資料儲存庫的 ID。
  • SITEMAP_URI_N:要檢查資料存放區的 Sitemap 或 Sitemap 索引的公開 URI。

從資料儲存庫刪除 Sitemap 或 Sitemap 索引

如要從資料儲存庫刪除 Sitemap,請使用 sitemap.delete 方法。刪除 Sitemap 不會從索引中移除其網址。如要從索引中移除 Sitemap 和相關網址,請參閱「從索引中移除 Sitemap 和相關網址」。

REST

刪除 Sitemap 或 Sitemap 索引。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine/sitemaps/SITEMAP_ID"

更改下列內容:

從資料儲存庫索引中移除 Sitemap 或 Sitemap 索引及其網址

如要從索引中移除 Sitemap 或 Sitemap 索引及其網址,請按照下列步驟操作:

  1. 從資料存放區中提交的 Sitemap 或 Sitemap 索引中移除所有網址,清空該 Sitemap 或 Sitemap 索引。

    如果已將 Sitemap 索引提交至資料儲存庫,請移除所有網址,清空巢狀 Sitemap,並從 Sitemap 索引中移除 Sitemap。

  2. 等待 48 小時,讓 Vertex AI Search 處理這些變更,並從資料儲存庫的索引中移除網址。

  3. 刪除 Sitemap 或 Sitemap 索引