データストアでウェブサイトの高度なインデックス登録が有効になっている場合は、次のタイプの構造化データを使用してインデックス登録を拡充できます。
このページでは、ウェブページの構造化データの両方のタイプを紹介し、データストア スキーマにカスタム構造化属性を追加する方法について説明します。
事前定義された 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 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
タグの例をご覧ください。
更新されたページを再クロールします。
データストア スキーマにカスタム構造化データ属性を追加するのセクションで説明されているように、
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
を使用して、評価の高い検索結果をブーストします。
始める前に
データストアのスキーマを更新する前に、次の操作を行います。
- データストアのウェブサイトの高度なインデックス登録を有効にします。詳しくは、ウェブサイトの高度なインデックス登録を有効にするをご覧ください。
- 構造化データの仕組みについて理解します。
- PageMap の使用方法について説明します。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
タグをサポートしています。除外またはサポートされていないメタタグを使用しないようにします。meta
タグ名にコロン(:
)などの特殊文字が含まれている場合は、スキーマで別の識別子を選択してそれを表し、スキーマのsiteSearchMetatagName
フィールドでmeta
タグの正確な名前を指定する必要があります。
- 各
PageMap データの場合:
- PageMap データは、インデックスを登録する属性名を含む認識済みの DataObject で構成されている必要があります。DataObjects 内の属性名は、インデックスを登録するフィールドに設定する必要があります。
schema.org のデータの場合:
- アノテーションは、有効な JSON-LD、microdata、または RDFa 形式である必要があります。 詳細については、サポートされている形式をご覧ください。
更新されたウェブページを再クロールします。
REST API を介してデータストアのスキーマ定義を表示します。
Google Cloud コンソールまたは API を使用してデータストア スキーマを更新します。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, "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 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
をご覧ください。METATAG_NAME
:siteSearchMetatagName
フィールドの値。ウェブページのmeta
タグの正確な名前を指定できます。このフィールドは、meta
タグのname
属性に特殊文字(コロンなど)が含まれており、CUSTOM_ATTRIBUTE
の必須パターン([a-zA-Z0-9][a-zA-Z0-9-_]*
)と一致しない場合にのみ使用する必要があります。たとえば、
<meta name="og:updated_time" ...>
というタグがある場合、og:updated_time
をCUSTOM_ATTRIBUTE
として使用することはできません。代わりに、CUSTOM_ATTRIBUTE
に準拠した識別子(og_updated_time
など)を使用し、siteSearchMetatagName
の値をog:updated_time
に設定します。siteSearchMetatagName
を使用してスキーマを更新する場合は、v1 エンドポイントではなく v1alpha エンドポイントを使用してschema
メソッドを呼び出す必要があります。STRUCTURED_DATA_SOURCE_N
:CUSTOM_ATTRIBUTE
属性が見つかる次の構造化データソースのいずれかまたは両方で構成される配列。- カスタム属性が
meta
タグとして見つかる場合は、METATAGS
を指定します。 - カスタム属性が 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
として指定できます。
ウェブサイトのスキーマを更新すると、ウェブサイトのインデックスが自動的に再作成されます。 これは長時間実行オペレーションであり、数時間かかることがあります。
次のステップ
インデックスに登録されたメタデータを次の目的で使用します。
- サービス提供コントロール(ブースト、非表示、フィルタなど)
- 検索結果にファセットとして表示される
- 検索結果を絞り込む
- 検索結果をブーストする