サイトマップを使用してウェブページをインデックス登録し、更新する

ウェブサイトの高度なインデックス登録がデータストアで有効になっている場合は、サイトマップを送信して使用し、データストア内のウェブページのインデックス登録と更新を行うことができます。この機能は、 XML サイトマップとサイトマップ インデックスのみをサポートしています。

このページでは、サイトマップまたはサイトマップ インデックスを送信して、サイトマップ ベースのインデックス登録と更新をトリガーする方法について説明します。サイトマップを使用せずに自動更新と手動更新を理解して 実装するには、 ウェブページを更新するをご覧ください。

また、このページでは、データストア内のサイトマップを表示する方法や、サイトマップを削除する方法についても説明します。

サイトマップ ベースの更新のコンセプト

始めるにあたって役立つ主なコンセプトと用語は次のとおりです。

  • サイトマップ プロトコル: エージェント検索がサポートするすべてのサイトマップとサイトマップ インデックスは、 サイトマップ プロトコルに準拠している必要があります。

  • サイトマップ: サイトマップは UTF-8 でエンコードされた XML ファイルです。このファイルには、ウェブサイト内のウェブページとファイルの URL のリストが含まれています。また、ウェブページの最終 更新日や、ウェブサイト内の他の ウェブページに対するクローラによるウェブページの優先度など、その他の重要な情報も含まれている場合があります。サイトマップ プロトコルによると、1 つのサイトマップに含めることができる URL の数は最大 50,000 個で、サイズは最大 50 MB です。

  • サイトマップ インデックス: サイトマップが URL の最大数または最大サイズを超える場合は、 複数のサイトマップを作成し、それらのサイトマップをサイトマップ インデックス ファイルに記載できます。サイトマップ プロトコルによると、1 つの サイトマップ インデックスにネストできるサイトマップの数は最大 50,000 個で、サイズは最大 50 MB です。

エージェント検索には、1 つ以上のサイトマップ、1 つ以上のサイトマップ インデックス、またはサイトマップとサイトマップ インデックスの組み合わせを送信できます。

サイトマップまたはサイトマップ インデックスをエージェント検索データストアに送信すると、次のアクションがトリガーされます。

  • データストア インデックスに含まれる URL のインデックス登録。

    • サイトマップのみの更新の場合、このリストには、データストアに含まれる URL パターンに一致するサイトマップまたはサイトマップ インデックス内の URL のみが含まれます。
    • 組み合わせ更新の場合、このリストには自動更新プロセスで検出されたすべての URL が含まれます。

    これら 2 つの更新プロセスの詳細については、 ウェブサイトのデータストアの更新方法サイトマップのみの更新をご覧ください。

  • サイトマップに追加、削除、更新された URL の毎日の更新。 更新された URL の例としては、サイトマップ内の URL の lastmod フィールドを更新した場合などがあります。

  • 変更されていない URL の 14 日ごとの定期的な更新。

ウェブサイトのデータストアの更新方法

データストアにサイトマップ ベースの更新を組み込むには、次のいずれかの方法を選択します。

  • サイトマップのみの更新: 初期インデックス登録と自動更新をオフにして、 サイトマップ ベースの更新のみを使用します。
  • 組み合わせ更新: 初期インデックス登録と 自動更新でサイトマップ ベースの更新を使用します。

選択した更新方法に関係なく、データストア インデックス内の特定のウェブページをいつでも手動で更新できます。

サイトマップのみの更新

ウェブサイトのデータストアを作成する場合は、データストアのインデックスに含めるウェブページの URL パターンを指定する必要があります。デフォルトでは、ウェブサイトのデータストアの作成が完了すると、エージェント検索によって、含まれているウェブページの初期インデックスが生成されます。

ウェブサイトの高度なインデックス登録を使用するウェブサイトのデータストアの場合、初期インデックス登録 プロセスは自動更新の一部です。初期インデックス登録プロセスでは、Google 検索で利用可能なすべての URL がインデックスに登録されます。これらの URL の初期の鮮度は、Google 検索で利用可能な鮮度を反映しています。初期インデックス登録後、自動更新プロセスで新しいページが検出され、ベスト エフォート方式で更新されます。このプロセスでは、必要以上の URL が検出される可能性があるため、ページが比較的古くなり、インデックスが肥大化する可能性があります。

代わりに、サイトマップのみの更新を行うこともできます。これは、次のような場合に便利です。

  • 最新の状態に保たれている、適切に管理されたサイトマップがある。
  • ウェブサイトが大規模で、インデックスに登録するウェブページをより厳密に管理する必要がある。これにより、管理しやすい、無駄のないインデックスが作成されます。
  • 追加および更新されたページを毎日更新し、削除されたページを削除する必要がある。これにより、サイトマップを反映した、より新しいインデックスが作成されます。

次の表に、データストア インデックスを更新するさまざまな方法を比較します。

更新方法 適合率 手動での操作 頻度 現状把握
サイトマップ ベースの更新 完全一致。サイトマップ内の URL のみインデックスに登録されます。 サイトマップまたはサイトマップ インデックスを送信した後は不要 サイトマップに追加、削除、更新された URL の場合は毎日。変更されていない URL の場合は 14 日 サイトマップで指定された範囲を超えない。
手動更新(再クロールとも呼ばれます) 完全一致。再クロール リクエストで指定された URL のみインデックスに登録されます。 必須 オンデマンド いいえ。
自動更新 完全一致ではない。データストアはベスト エフォート方式で更新されます。 不要 ランダムでベスト エフォート方式 はい。Google 検索で利用可能な範囲を超えて URL を検出します。

始める前に

サイトマップまたはサイトマップ インデックスをエージェント検索データストアに送信する前に、次のことを確認してください。

  • サイトマップ プロトコルに従って、 ウェブサイトのすべてのサイトマップを参照する XML サイトマップまたはサイトマップ インデックスを作成します。

  • サイトマップまたはサイトマップ インデックスをエージェント検索データストアに送信する場合、Google 検索に送信する必要はないことを理解する。

  • インデックスに登録するサイトマップ内のすべての URL は、データストアで確認された公開ドメインに属している必要があります。詳細については、 ウェブサイトのドメインを確認するをご覧ください。

  • サイトマップ URI(またはネストされたサイトマップ URI を含むサイトマップ インデックス URI)は、 一般公開されており、 Googlebot ユーザー エージェントからアクセスできる必要があります。Google-CloudVertexBot ユーザー エージェントを使用するウェブページのクロールとは異なり、エージェント検索では Googlebot を使用してサイトマップ ファイルを取得します。robots.txt ファイル、CDN、またはファイアウォールによって Googlebot がサイトマップ URI にアクセスできない場合、Google-CloudVertexBot がウェブページをクロールしていても、エージェント検索はサイトマップを取得できず、サイトマップの URL はインデックスに登録または更新されません。

  • ウェブサイトで robots.txt ファイルを使用している場合は、Google-CloudVertexBot ユーザー エージェント(ウェブページのクロールとインデックス登録用)と Googlebot ユーザー エージェント(サイトマップの取得用)の両方を許可するように更新します。 詳細については、ウェブサイトの robots.txtファイルを準備する方法をご覧ください

サイトマップまたはサイトマップ インデックスをデータストアに送信する

データストアに含まれるウェブページのインデックス登録と更新をトリガーする手順は次のとおりです。

  1. サイトマップのみの更新を行うか、他の方法と組み合わせて更新を行うかを決定します。

  2. サイトマップのみの更新を行う場合は、この手順に沿って操作します。それ以外の場合は、次の手順に進みます。

    初期インデックス登録と更新が行われている既存のデータストアは使用できません。 構成を使用して、初期インデックス登録と自動更新をオフにして、 新しいデータストアを作成する必要があります。 AdvancedSiteSearchConfig

    REST

    サイトマップの更新のみが有効になっているデータストアを作成します。これを行うには、初期インデックス登録と自動更新をオフにします。

    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,
       }
    }'
    

    注: disableAutomaticRefreshtrue に設定すると、検出ベースの自動更新のみが無効になります。指定されたサイトマップに基づいて行われる毎日の自動更新(lastmod フィールドなどの変更の確認)には影響しません。

    次のように置き換えます。

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • DATA_STORE_ID: 作成するエージェント検索データストアの ID。この ID には、小文字、数字、アンダースコア、ハイフンのみを含めることができます。
    • DATA_STORE_DISPLAY_NAME: 作成するエージェント検索データストアの表示名。

  3. データストアに含めるサイトと除外するサイトの URL パターンを更新します。詳細については、ウェブサイトのコンテンツを使用してデータストアを作成するをご覧ください。

  4. データストアに含まれるウェブページの ドメインを確認します。

  5. サイトマップのみの更新を選択するか、組み合わせ 更新を選択するかにかかわらず、sitemaps.create`sitemaps.create` メソッドを使用して、サイトマップまたはサイトマップ インデックスの URI をデータストアに送信します。

    REST

    サイトマップまたはサイトマップ インデックスを送信します。

    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: エージェント検索データストアの ID。
    • SITEMAP_URI:送信する個々の サイトマップまたはサイトマップ インデックスの公開 URI。サイトマップ インデックスを送信する場合は、サイトマップ インデックスの URI を送信するだけで十分です。エージェント検索では、サイトマップ インデックス内にネストされているすべての サイトマップに含まれる URL が自動的にインデックスに登録されます。

    サイトマップまたはサイトマップ インデックスをデータストアに送信すると、エージェント検索によって次の処理がトリガーされます。

    • サイトマップ内の対象 URL(データストアに含まれる URL)のインデックス登録。このプロセスが完了するまでには、平均して数時間かかります。サイトマップが大きいほど、インデックス登録に時間がかかることがあります。
    • 対象 URL を含むウェブページの毎日の更新。

    サイトマップまたはサイトマップ インデックスの変更が更新に与える影響については、 サイトマップとサイトマップ インデックスの変更をご覧ください。

  6. データストア内のサイトマップを表示します

サイトマップとサイトマップ インデックスの変更

最初の送信後、エージェント検索ではサイトマップまたはサイトマップ インデックスの変更が毎日検出され、これらの変更は次の方法で処理されます。

  • サイトマップの変更:
    • URL を追加した場合: データストアの含まれる URL パターンに一致する URL がインデックスに追加され、毎日更新されます。
    • URL を削除した場合: 削除された URL がインデックスにある場合は、インデックスから削除され、更新されなくなります。
    • 既存の URL を更新した場合(たとえば、サイトマップ内の URL の lastmod フィールドを更新した場合): データストアの含まれる URL パターンに一致する更新された URL が更新されます。通常、更新は更新後 24 時間以内に行われます。
  • サイトマップ インデックスの変更:
    • サイトマップを追加した場合: データストアの含まれる URL パターンに一致する新しいサイトマップ内の URL がインデックスに追加され、毎日更新されます。
    • サイトマップを削除した場合: データストアの含まれる URL パターンに一致する URL は更新されなくなります。ただし、インデックスには残ります。サイトマップとその URL をインデックスから削除するには、 サイトマップとその URL をインデックスから削除するをご覧ください。

データストア内のサイトマップとサイトマップ インデックスを一覧表示する

データストア内のすべてのサイトマップとサイトマップ インデックスを一覧表示するには、 sitemaps.fetch メソッドを使用します。サイトマップ インデックスを送信した場合、このメソッドは個々のネストされたサイトマップではなく、サイトマップ インデックスを返します。 データストアにサイトマップがない場合、このリクエストは空の JSON ファイルを返します。

REST

データストア内のサイトマップとサイトマップ インデックスを一覧表示します。

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: エージェント検索データストアの ID。

サイトマップまたはサイトマップ インデックスがデータストアに存在するかどうかを確認する

サイトマップまたはサイトマップ インデックスがデータストアに存在するかどうかを確認するには、sitemaps.fetch メソッドを使用します。確認するサイトマップまたはサイトマップ インデックスがデータストアに送信されている場合、レスポンスにはサイトマップ名とサイトマップの URI が含まれます。サイトマップ インデックスを送信した場合、サイトマップ インデックス内の個々のサイトマップを確認しても、正しい結果は返されません。

REST

データストア内のサイトマップまたはサイトマップ インデックスを確認します。

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: エージェント検索データストアの ID。
  • SITEMAP_URI_N: データストアで確認するサイトマップまたは サイトマップ インデックスの公開 URI。

データストアからサイトマップまたはサイトマップ インデックスを削除する

データストアからサイトマップを削除するには、 sitemap.delete メソッドを使用します。 サイトマップを削除しても、その URL はインデックスから削除されません。サイトマップとその URL をインデックスから削除するには、サイトマップとその URL をインデックスから削除するをご覧ください。

REST

サイトマップまたはサイトマップ インデックスを削除します。

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"

次のように置き換えます。

サイトマップまたはサイトマップ インデックスとその URL をデータストア インデックスから削除する

サイトマップまたはサイトマップ インデックスとその URL をインデックスから削除する手順は次のとおりです。

  1. データストアに送信されたサイトマップまたはサイトマップ インデックスのすべての URL を削除して、空にします。

    サイトマップ インデックスをデータストアに送信した場合は、すべての URL を削除してネストされたサイトマップを空にし、サイトマップ インデックスからサイトマップを削除します。

  2. エージェント検索でこれらの変更が処理され、データストアのインデックスから URL が削除されるまで 48 時間待ちます。

  3. サイトマップまたはサイトマップ インデックスを削除します