SXA キャッシュ オプションを設定する

概要

パフォーマンスを向上させるキャッシュ。

SXA レンダリングのキャッシュ オプションを設定することで、SXA Web ページのロード時間を改善できます。SXA HTML キャッシュは、Sitecore がレンダリングを処理する回数を最小限に抑えます。これは、大量のアイテムを繰り返し処理するレンダリングがある場合には特に、非常に重要です。

注記

サイトのキャッシュを有効にするには、[キャッシュ Html] チェックボックスをオンにする必要があります。sitecore/コンテンツ/テナント/サイト/設定/サイト グループ化/<site> に移動し、[フラグ] セクションで [キャッシュ Html] チェックボックスをオンにします。

重要

優先度が異なるさまざまなレベルの SXA アイテムに HTML キャッシュを適用できます。たとえば、レンダリングに直接設定された値は、常にレンダリング定義のキャッシュ値よりも優先されます。

レンダリング定義アイテムでは、コンポーネントをレンダリングするために Sitecore が実行するアクションを指定できます。レンダリング定義アイテムでキャッシュ設定を行うと、キャッシュ設定が他に指定されていない限り、すべてのサイトにその設定が適用されます。

レンダリング定義のキャッシュ オプションをグローバルに設定するには:

  1. sitecore/レイアウト/レンダリング/機能/エクスペリエンス アクセラレーターに移動して、関連するレンダリングをクリックします。

  2. [キャッシュ情報] セクションで、Web サイトのパフォーマンスを向上させるために、次のナビゲーション レンダリングのキャッシュ オプションをオンにします。

    レンダリングのキャッシュ オプションを設定します。
  • キャッシュ有効 - HTML キャッシュを有効にする場合に選択します。レンダリングにビューが 1 つしかない場合は、選択する必要があるチェック ボックスはこれだけです。

  • インデックスの更新時にクリア - インデックスが更新されたときにレンダリングの HTML キャッシュをクリアする場合に選択します。

  • データ別に異なるキャッシュを使用 - レンダリングのデータ ソースに基づいて、HTML の別のバージョンをキャッシュすることを選択します。

  • デバイス別に異なるキャッシュを使用 - 使用されるデバイスごとに出力のコピーをキャッシュすることを選択します。

  • ログイン別に異なるキャッシュを使用 - ログインしたユーザーによって異なるレンダリングを表示するかどうかを選択します。

  • パラメーター別に異なるキャッシュを使用 - レンダリングが受け付けたパラメータごとに出力をキャッシュすることを選択します。同じレンダリングの異なるインスタンスを区別するために使用されます。

  • クエリ文字列別に異なるキャッシュを使用 - クエリ文字列パラメーターの一意の組み合わせごとに出力をキャッシュすることを選択します。

  • ユーザー別に異なるキャッシュを使用 – レンダリングがユーザー固有の情報を表示するかどうかを選択します。

サイト レベルでレンダリングのキャッシュ オプションを設定すると、レンダリング定義アイテムのグローバル キャッシュ設定が上書きされます。

特定のサイト用にページ コンテンツのレンダリングをキャッシュしたい場合などは、特定のレンダリングに関するキャッシュ オプションを設定すると便利です。

サイト レベルでレンダリングのキャッシュを設定するには:

  1. sitecore/<tenant>/<site>/プレゼンテーション/キャッシュ設定に移動し、[ホーム] タブで [コンポーネント キャッシュ設定] をクリックします。

    サイト レベルでレンダリングのキャッシュを設定する。
  2. 設定の名前を入力し、[OK] をクリックします。

  3. [アイテムを選択] ダイアログ ボックスで、Layout/レンダリング/機能/エクスペリエンス アクセラレーターに移動し、この設定を適用するレンダリングをクリックし、矢印を使用してそれらを [選択済み] フィールドに移動します。

    605CB9A556D542AD90B9BD2244AEF116.png
  4. [キャッシュ情報] セクションで、キャッシュ オプションを選択します。

    7B4437F1F49F4353B5038B502045121C.png
  5. タスクをパブリッシュします。

プレースホルダーのキャッシュ オプションは、レンダリング定義アイテムのグローバル キャッシュ設定とサイト レベルのキャッシュ設定を上書きします。

プレースホルダーでキャッシュ オプションを設定すると、プレースホルダーのすべてのレンダリングに影響します。たとえば、コンテナーを使用して他のレンダリングに CSS スタイルを追加する場合、そのコンテナーのプレースホルダーのキャッシュ設定がコンテナー内のすべてのレンダリングに適用されます。

ページ上のプレースホルダーのキャッシュ オプションを設定するには:

  1. エクスペリエンス エディターで、プレースホルダーをクリックし、[プレースホルダー設定を編集する] をクリックします。

  2. [プレースホルダー設定を選択してください。] ダイアログ ボックスで、[新しい設定を作成する] をクリックします。

  3. [プレースホルダー設定を編集する] をもう一度クリックし、[キャッシュ情報] セクションでキャッシュ オプションを選択します。

    559DC3F98EA946688025F460E3FC8AE7.png

特定のレンダリングでキャッシュ オプションを設定すると、他のすべてのキャッシュ設定が上書きされます。これは、ユーザー名などのユーザーのログイン情報以外はすべてのユーザーに同じように表示されるページが Web サイトに含まれている場合に、非常に便利です。サイト レベルでキャッシュ オプションを設定することで全ユーザーのこのようなページをすべてキャッシュすると、ユーザー名が異なるユーザーごとにページ全体が毎回キャッシュされてしまいます。この問題を解決するために、SXA では、全ユーザー用のページ全体から動的にしておく小さなセクションを除いたコピーを 1 つだけキャッシュする、ドーナツ キャッシュを適用できます。このセクションは、キャッシュされたコンテンツの穴のようなものです (ドーナツによく似ています)。

ドーナツ キャッシュは、動的に変更される、またはリクエスト パラメーターに基づいて変更されるいくつかのセクションを除けば、ほとんどのページがめったに変更されないシナリオで非常に有効です。たとえば、サードパーティのブログを取得するレンダリングを含むページのスニペットなどです。サードパーティの Web サイトを制御できず、コントローラーが失敗する可能性があるため、この出力をキャッシュする必要はありません。

別のシナリオとしては、埋め込みのプレースホルダーを持つプレースホルダーが考えられます。たとえば、タブのレンダリングを含むスプリッターです。スプリッターとタブのレンダリングの両方にキャッシュが適用されています。いずれかのタブ アイテムのキャッシュを無効にして、パーソナライゼーションとテストを有効にすることができます。

特定のレンダリング キャッシュ オプションを設定するには:

  1. エクスペリエンス エディターで、関連するレンダリングをクリックし、[詳細] をクリックして [プロパティ] をクリックします。

    エクスペリエンス エディターでレンダリング キャッシュ オプションを設定します。
  2. [コントロール プロパティ] ダイアログ ボックスの [キャッシュ情報] セクションで、[Ignore other caching settings] と [キャッシュ有効] チェック ボックスをオンにしてから、他のキャッシュ オプションを選択します。または、レンダリングがキャッシュされないように、[キャッシュ有効] チェック ボックスをオフにします。