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

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

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

事前定義された 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 タグや PageMaps としてウェブページに追加し、これらを使用してインデックス登録を拡充できます。カスタム構造化属性をインデックス登録に使用するには、スキーマを更新する必要があります。

meta タグのユースケースの例

組織内のさまざまな部門に関連するウェブページが多数あるとします。meta タグを使用して、各部門に関連するページにラベルを付けることができます。その後、インデックスに登録されたタグをクエリのフィルタとして使用できます。これにより、検索結果を、指定した部門のいずれかに一致するラベルを含むウェブページに制限できます。

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

  1. ウェブページの一部に次の meta タグを追加します。

    • エンジニアリング部門と IT 部門に関連するタグ:

      <meta name="department" content="eng, infotech">
      <meta property="og:title" content="Password best practices">
      
    • 財務部門と人事部門に関連するタグ:

      <meta name="department" content="finance, human resources">
      <meta property="og:image" content="https://example.com/images/team-training-contractors.jpg">
      

      詳細な例については、ウェブページの meta タグの例をご覧ください

  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 タグをサポートしています。ただし、他の文字を含む名前の meta タグがすでにある場合は、回避策をご覧ください。siteSearchMetatagName
      • Vertex AI Search では、除外された タグ名サポートされていないメタタグの使用はサポートされていません。metaただし、除外された meta タグ名がすでにある場合は、siteSearchMetatagName の回避策をご覧ください。
    • PageMap データの場合:

      • PageMap データは、 インデックス登録する属性名を含む、認識された DataObject で構成する必要があります。DataObjects 内の属性名は、インデックスを登録するフィールドに設定する必要があります。
    • schema.org データの場合:

      • アノテーションは、有効な JSON-LD、microdata、または RDFa 形式である必要があります。 詳細については、サポートされている形式をご覧ください。
  2. 更新されたウェブページを再クロールします

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

  4. データストア スキーマを更新するには、 Google Cloud コンソール または API を使用します。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,
            "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 タグが <meta name="department" content="eng, infotech"> として定義されている場合は、 department を使用します。
      • <Attribute name="rating">4.9</Attribute> として定義された PageMap 属性の場合は、 rating を使用します。
    • DATA_TYPE: name 属性のデータ型。文字列、数値、日時のいずれかである必要があります。次に例を示します。

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

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

    • METATAG_NAME: siteSearchMetatagName フィールドの値。これにより、ウェブページの meta タグの正確な名前を指定できます。

      siteSearchMetatagName の回避策を使用する必要があるのは、次のような場合のみです。

      • meta タグの name 属性に特殊文字(コロンなど)が含まれており、CUSTOM_ATTRIBUTE に必要なパターン [a-zA-Z0-9][a-zA-Z0-9-_]* と一致しない。

      たとえば、タグ <meta name="og:updated_time"> がある場合、 og:updated_timeCUSTOM_ATTRIBUTE として使用することはできません。代わりに、 に準拠した識別子(og_updated_time など)を使用し、 siteSearchMetatagName の値を og:updated_time に設定します。CUSTOM_ATTRIBUTE

      たとえば、タグ <meta name="description"> がある場合、 descriptionCUSTOM_ATTRIBUTE として使用することはできません。代わりに、 に準拠した識別子(meta_tag_description など)を使用し、 siteSearchMetatagName の値を meta_tag_description に設定します。CUSTOM_ATTRIBUTE

      siteSearchMetatagName を使用してスキーマを更新する場合は、v1 エンドポイントではなく v1alpha エンドポイントを使用して schema メソッドを呼び出す必要があります。

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

      • カスタム属性が meta タグとして見つかる場合は、METATAGS を指定します。
      • カスタム属性が PageMap 属性として見つかる場合は、PAGEMAP を指定します。
      • カスタム属性が schema.org データとして見つかる場合は、SCHEMA_ORG を指定します。
      • siteSearchStructuredDataSources フィールドが存在しない場合、または空白のままの場合は、3 つのデータソースの値がすべて配列に統合されます。
    • IDENTIFIER_FOR_SCHEMA_ORG_FIELD: schema.org フィールドを示すカスタム識別子。ウェブページの schema.org アノテーションのフィールド名と完全に同じである必要はありません。 たとえば、フィールドのパスが _root.nutrition.calories の場合、識別子は 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 として指定できます。

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

次のステップ

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