ウェブサイトの高度なインデックス登録に構造化データを使用する

データストアでウェブサイトの高度なインデックス登録が有効になっている場合は、次のタイプの構造化データを使用してインデックス登録を拡充できます。

このページでは、ウェブページのこれらのタイプの構造化データの両方について説明します。また、データストア スキーマにカスタム構造化属性を追加する方法についても説明します。

事前定義された 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 タグを使用して、各部門に関連するページにラベルを付けることができます。その後、インデックスに登録されたタグをクエリのフィルタとして使用できます。これにより、指定した部門のいずれかに一致するラベルを含むウェブページに検索結果を制限できます。

この処理を簡単に説明すると、次のようになります。

  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 のユースケースの例

料理のレシピを含む複数のウェブページがあるとします。各ページの HTML コンテンツに PageMap データを追加できます。インデックス登録された 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 へのパスをデータストア スキーマに追加します。データストア スキーマのフィールド名として識別子を使用します。データストア スキーマにカスタム構造化データ属性を追加するで説明されている rating_value などです。

スキーマを更新すると、データストアのインデックスが自動的に再作成されます。インデックスの再作成が完了したら、フィルタ式rating_value 属性を使用して、検索結果の並べ替えやフィルタリングを行うことができます。たとえば、ユーザーが書籍を検索するときに、カスタム数値属性として rating_value を使用して、評価の高い検索結果をブーストします。

始める前に

データストア スキーマを更新する前に、次の操作を行います。

データストア スキーマにカスタム構造化データ属性を追加する

データストア スキーマにカスタム構造化データ属性を追加するには:

  1. 構造化データのインデックス登録で拡充するウェブサイトのすべてのページに、meta タグ、PageMap データ、schema.org データを追加します。

    • meta タグの場合:
      • meta タグでは、その name 属性をインデックスに登録するフィールドに設定し、content 属性を 1 つ以上のカンマ区切り値の文字列に設定する必要があります。
      • Vertex AI Search は、パターン [a-zA-Z0-9][a-zA-Z0-9-_]* に一致する名前の meta タグをサポートしています。除外またはサポートされていないメタタグを使用しないようにします。
    • PageMap データの場合:
      • PageMap データは、インデックスに登録する属性名を含む認識された DataObject で構成する必要があります。DataObjects 内の属性名は、インデックスを登録するフィールドに設定する必要があります。
    • schema.org データの場合:
      • アノテーションは、有効な JSON-LD、microdata、または RDFa 形式である必要があります。 詳細については、サポートされている形式をご覧ください。
  2. 更新されたウェブページを再クロールします。

  3. REST API を介してデータストアのスキーマ定義を表示します。

  4. REST API を介してデータストア スキーマを更新します。詳細については、独自のスキーマを JSON オブジェクトとして指定するをご覧ください。

    1. 検索可能、取得可能、インデックス登録可能にするカスタム属性ごとにオブジェクトを追加します。
    2. カスタム属性を追加し、その typearray に設定します。
    3. カスタム属性の値のデータ型を追加します。
    4. siteSearchStructuredDataSources フィールドでカスタム属性のソースを指定します。
    5. schema.org データの場合: siteSearchSchemaOrgPaths フィールドに、文字列 _root で始まる schema.org アノテーションの属性のパスを指定します。

    ウェブサイトのスキーマ更新の例を次に示します。

    {
      "type": "object",
      "properties": [{
        "CUSTOM_ATTRIBUTE": {
          "type": "array",
          "items": {
            "type": "DATA_TYPE",
            "searchable": true,
            "retrievable": true,
            "indexable": true,
            "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 を使用します。
      • <Attribute name="rating">4.9</Attribute> として定義された PageMap 属性の場合は、rating を使用します。
    • DATA_TYPE: name 属性のデータ型。文字列、数値、日時のいずれかである必要があります。例:

      • <meta name="department" content="eng, infotech"> として定義された meta タグの場合は、string を使用します。
      • <Attribute name="rating">4.9</Attribute> として定義された PageMap 属性の場合は、number を使用します。
      • <Attribute name="lastPublished">2015-01-01</Attribute> として定義された PageMap 属性の場合は、datetime を使用します。

      詳細については、FieldType をご覧ください。

    • STRUCTURED_DATA_SOURCE_N: CUSTOM_ATTRIBUTE 属性が見つかる次の構造化データソースの 1 つまたは両方からなる配列。

      • カスタム属性が meta タグとして見つかる場合は、METATAG を指定します。
      • カスタム属性が PageMap 属性として見つかる場合は、PAGEMAP を指定します。
      • カスタム属性が schema.org データとして見つかる場合は、SCHEMA_ORG を指定します。
      • siteSearchStructuredDataSources フィールドが存在しない場合、または空白のままの場合は、3 つのデータソースの値がすべて配列に統合されます。
    • 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 フィールドのデータ型。文字列、数値 または 日時である必要があります。例:

      • "calories":"240 calories" として定義された schema.org フィールドの場合は、string を使用します。
      • "calories": 240 として定義された schema.org フィールドの場合は、number を使用します。
      • "foundingDate": "1991-05-01" として定義された schema.org フィールドの場合は、datetime を使用します。

      詳細については、FieldType をご覧ください。

    • PATH_TO_THE_SCHEMA_ORG_FIELD: アクセスする必要がある schema.org フィールド内の単一フィールドへのパス。ネストされた各レベルの後にドット区切り文字を使用して指定します。必要なフィールドにアクセスするために必要な完全なパスを指定する必要があります。たとえば、フィールド ratingValueaggregateRating フィールドにネストされている場合は、パスを _root.aggregateRating.ratingValue として指定できます。

ウェブサイトのスキーマを更新すると、ウェブサイトのインデックスが自動的に再作成されます。 これは長時間実行オペレーションで、数時間かかることがあります。

次のステップ

インデックスに登録されたメタデータを次の目的で使用します。