コンテンツ検索
HubSpotのCMSには、探しているコンテンツを訪問者が簡単に見つけられるように、サイト検索機能が組み込まれています。貴社の全てのHubSpotコンテンツはHubSpotの検索エンジンによって自動的にインデックス登録されるため、ウェブサイト向けにサードパーティー検索ツールを設定する労力はなくなります。
検索エンジンには、/contentsearch/v2/search APIからアクセスできます。このAPIは、高度にカスタマイズされた検索機能をウェブサイト上で提供するための多数のフィルタリングオプションをサポートしています。例えば、ブログに検索機能を組み込む場合は、type=BLOG_POST
を問い合わせるとブログ記事のみが返されます。また、ウェブサイトのスペイン語バージョンに検索を組み込む場合は、language=es
を問い合わせるとスペイン語のページのみが返されます。
このAPIではJavaScriptで解析しやすいJSONが返されるので、ウェブサイトに結果を表示できます。全てのコンテンツタイプから、ページドメイン、タイトル、URL、言語が返されます。説明として返されるのは、検索語に最も一致するコンテンツのテキストのサンプルです。完全一致テキストを囲む<span class="hs-search-highlight hs-highlight-html">
要素では、CSSを使用して一致テキストを強調表示できます。
検索対象のコンテンツのタイプによって返される結果の情報は多少異なるため、コンテンツタイプに応じて結果の表示を変えることができます。例えばブログ記事では、記事に付けられているタグ、執筆者、公開日の情報が返されます。
クエリーと結果パラメーターに関する包括的な説明は、/contentsearch/v2/searchのドキュメントを参照してください。
/contentsearch/v2/search APIを使用して、ウェブサイトに検索を簡単に実装できるようにする2つの既定モジュールがあります。
検索語に基づいてコンテンツのリストを返します。このモジュールは、ウェブサイト上の任意の場所に配置できます。このモジュールは、次のようにテンプレートに含めることができます。
このようなモジュールの機能が、自分のウェブサイトに必要な検索機能と合わない場合は、独自の検索モジュールまたは機能を開発できます。既定の検索モジュールは、検索ニーズに応じて拡張できるように設計されています。こうしたモジュールは、ファインダーで名前を検索してデザインマネージャー上で表示および複製したり、CMS CLI上でhs fetch @hubspot/search_input.module
またはhs fetch @hubspot/search_results.module
を実行してローカル環境に取り込むことができます。
全てのドメインには、既定で固有の検索結果ページがあります。このページのテンプレートとパスは、特定のドメインの[システムページ]タブにある[設定]>[ウェブサイト]>[ページ]で設定します。CMSテーマボイラープレートの検索結果テンプレートを例として参照してください。検索結果ページに設定されたドメインは、自動的に既定の検索モジュールに接続されます。ただし、ウェブサイト上の任意のページに/contentsearch/v2/search APIを使用した検索を構築できます。
検索結果の順位は、訪問者の検索語に対して重み付けられたページコンテンツの比較によって決まります。ページコンテンツは、ページのHTML内でのコンテンツの位置に基づいて、さまざまな重みの比較フィールドとして分類されます。比較フィールドは重みの順にグループ化されます。
- HTMLタイトル
- メタディスクリプション
- H1 HTML要素
- H2 HTML要素
- H3 HTML要素
- その他のHTML要素
このリストは変更される場合があります。ご注意ください。
ページ上の特定の要素の重みを高めるようインデクサーに指示するには、該当するコンテンツをhs-search-keyword
クラスで囲みます。
新しいサイトを開発中は、Google などの検索エンジンによってサイトがインデックス登録されることを心配することなく、サイト検索をテストできると便利です。
robots.txt
では、全てをクローリングするようHubSpotに指定しながら、他のボットをブロックすることが可能です。
登録しないことを示すメタタグがあるページは、robots.txt
で許可されていてもインデックス登録されません。
また、サイトを公開する前にrobots.txt
を確認して、全てのインデックス登録が意図したとおりに設定されていることを確かめてください。
CMSでは特定のタイプのページの意図が認識されるため、コンテンツ検索によってコンテンツタイプのページが適切に登録されるように、インデックス登録が安全に制御されます。コンテンツタイプのページの例:
- サイトページ
- ランディングページ
- ナレッジ記事
- ブログ記事
システムページとパスワード保護ページはインデックス登録されません。CMSアクセス制限ページは、該当するページにサインインしてアクセスできるユーザーのHubSpotコンテンツ検索にのみ表示されます。
ウェブサイトのrobots.txt
ファイルまたはmeta
タグを使用して検索エンジンへの登録をブロックしたページは、サイト検索のためのインデックス登録が行われません。
robots.txt
にdisallow
を追加します。
ページまたはテンプレートの<head>
にNOINDEX, NOFOLLOW
メタタグを追加することもできます。
robots.txt
とメタタグの両方を使用してロボットをブロックする必要はありません。後でページのインデックス登録を許可することにした場合に混乱が生じる可能性があるからです。
hs-search-hidden
クラスを追加すると、領域内のコンテンツが検索によって無視されます。貴重なご意見をありがとうございました。