データストアでウェブサイトの高度なインデックス登録が有効になっている場合は、次のタイプの構造化データを使用してインデックス登録を拡充できます。
このページでは、ウェブページのこれらのタイプの構造化データの両方について説明します。また、データストア スキーマにカスタム構造化属性を追加する方法についても説明します。
事前定義された 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
タグを使用して、各部門に関連するページにラベルを付けることができます。その後、インデックスに登録されたタグをクエリのフィルタとして使用できます。これにより、指定した部門のいずれかに一致するラベルを含むウェブページに検索結果を制限できます。
この処理を簡単に説明すると、次のようになります。
- ウェブページのサブセットに次の
meta
タグを追加します。- エンジニアリング部門と IT 部門に関連:
<meta name="department" content="eng, infotech">
- 財務部門と人事部門に関連:
<meta name="department" content="finance, human resources">
- エンジニアリング部門と IT 部門に関連:
- 更新されたページを再クロールします。
- データストア スキーマにカスタム構造化データ属性を追加するのセクションで説明されているように、
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 属性名をクエリでフィルタとして使用できます。たとえば、レシピの評価に応じてウェブページをブーストまたは非表示する場合は、次の手順に沿って操作します。
ウェブページに次のような 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>
更新されたページを再クロールします。
データストア スキーマにカスタム構造化データ属性を追加するのセクションで説明されているように、
rating
をインデックス登録可能な配列としてデータストア スキーマに追加します。
スキーマを更新すると、データストアのインデックスが自動的に再作成されます。インデックスの再作成が完了したら、フィルタ式で rating
属性を使用して、検索結果の並べ替えやフィルタリングを行うことができます。たとえば、ユーザーがレシピを検索したときに、カスタム数値属性として rating
を使用して、評価の高い検索結果をブーストします。
schema.org データのユースケースの例
レビュー ウェブサイトがあり、そのウェブページが、HTML script
タグ内に JSON-LD 形式で schema.org データを使用してアノテーションされているとします。インデックスに登録されたアノテーションをクエリのフィルタとして使用できます。たとえば、総合評価に応じてウェブページをブーストまたは非表示する場合は、次の手順に沿って操作します。
以下に示すように、レビュー コンテンツの 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>
更新されたページを再クロールします。
ratingValue
へのパスをデータストア スキーマに追加します。データストア スキーマのフィールド名として識別子を使用します。データストア スキーマにカスタム構造化データ属性を追加するで説明されているrating_value
などです。
スキーマを更新すると、データストアのインデックスが自動的に再作成されます。インデックスの再作成が完了したら、フィルタ式で rating_value
属性を使用して、検索結果の並べ替えやフィルタリングを行うことができます。たとえば、ユーザーが書籍を検索するときに、カスタム数値属性として rating_value
を使用して、評価の高い検索結果をブーストします。
始める前に
データストア スキーマを更新する前に、次の操作を行います。
- データストアのウェブサイトの高度なインデックス登録を有効にします。詳細については、ウェブサイトの高度なインデックス登録を有効にするをご覧ください。
- 構造化データの仕組みについて理解します。
- PageMaps の使用方法を理解します。PageMap データに追加できる認識された DataObject のリストを確認します。
meta
タグの使用方法を理解します。除外またはサポートされていないメタタグを使用しないようにします。- インデックスに登録する必要がある属性に、次の値が含まれていないことを確認します。
datePublished
dateModified
siteSearch
- ウェブページに構造化データを追加したら、ページを再クロールする必要があります。この処理には数時間かかる場合があります。
- データストア スキーマに構造化データ属性を追加すると、データストア内のウェブページのインデックスが自動的に再作成されます。 インデックスの再作成は長時間実行オペレーションであり、数時間かかることがあります。
データストア スキーマにカスタム構造化データ属性を追加する
データストア スキーマにカスタム構造化データ属性を追加するには:
構造化データのインデックス登録で拡充するウェブサイトのすべてのページに、
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 形式である必要があります。 詳細については、サポートされている形式をご覧ください。
更新されたウェブページを再クロールします。
REST API を介してデータストアのスキーマ定義を表示します。
REST API を介してデータストア スキーマを更新します。詳細については、独自のスキーマを JSON オブジェクトとして指定するをご覧ください。
- 検索可能、取得可能、インデックス登録可能にするカスタム属性ごとにオブジェクトを追加します。
- カスタム属性を追加し、その
type
をarray
に設定します。 - カスタム属性の値のデータ型を追加します。
siteSearchStructuredDataSources
フィールドでカスタム属性のソースを指定します。- 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
をご覧ください。- "calories":"240 calories" として定義された schema.org フィールドの場合は、
PATH_TO_THE_SCHEMA_ORG_FIELD
: アクセスする必要がある schema.org フィールド内の単一フィールドへのパス。ネストされた各レベルの後にドット区切り文字を使用して指定します。必要なフィールドにアクセスするために必要な完全なパスを指定する必要があります。たとえば、フィールドratingValue
がaggregateRating
フィールドにネストされている場合は、パスを_root.aggregateRating.ratingValue
として指定できます。
ウェブサイトのスキーマを更新すると、ウェブサイトのインデックスが自動的に再作成されます。 これは長時間実行オペレーションで、数時間かかることがあります。
次のステップ
インデックスに登録されたメタデータを次の目的で使用します。
- サービス提供コントロール(ブースト、非表示、フィルタなど)
- 検索結果にファセットとして表示
- 検索結果を絞り込む
- 検索結果をブーストする