logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
15/04/2025, by Ivan

Drupal 8 は Internal Page Cache(内部ページキャッシュ) モジュールを使用しており、これは中小規模のサイトに推奨されます。デフォルトで有効になっているこのコアモジュールは、匿名ユーザー向けにページをキャッシュします。core/modules/page_cache にあります。

この機能は、サイトを高速化することでパフォーマンスを向上させます。匿名ユーザーがリクエストしたページは、最初の読み込み時に保存され、その後は再利用されます。サイトの構成によっては、パフォーマンスの向上は大きなものになり得ます。

認証済みユーザー向けにサイトを高速化するには、Dynamic Page Cache(動的ページキャッシュ) モジュールを検討してください。

匿名ユーザーに(ショッピングカートのようなセッションベースの)パーソナライズされたコンテンツを提供するウェブサイトでは、Internal Page Cache モジュールを無効にしたい場合があります。このモジュールは、すべての匿名ユーザーに対してページが同一であることを前提としています。そのようなサイトでは、代わりに Dynamic Page Cache モジュールを使用するか、JavaScript + AJAX を使ってパーソナライズを実装することができます。

Internal Page Cache モジュールの設定

パフォーマンスページ(admin/config/development/performance)では、ブラウザーやプロキシがページをキャッシュできる期間を定義できます。それ以外の設定はありません。ブラウザーやプロキシによる最大ページキャッシュ時間の設定は、Cache-Control ヘッダーに影響します。ただし、Internal Page Cache 自体はこの設定を無視し、Expires ヘッダーが含まれていない限り、ページが無効になるまでキャッシュします。

Drupal 7 との比較

  1. Drupal 7 には即時更新がありません。Drupal 8 では、何かが変更されるとページキャッシュが即座に更新されます。
  2. Drupal 7 ではコンテンツが変更されるとページキャッシュ全体をクリアする必要がありました。Drupal 8 は キャッシュタグ を使い、変更されたコンテンツに依存するキャッシュ済みページのみを無効化します。
  3. Drupal 7 では、(コアモジュールでさえ)ページキャッシュを確実に無効化できるモジュールがなかったため、古いページが表示されることがよくありました。
  4. Drupal 7 はデフォルトで内部ページキャッシュを有効にしていませんでした。多くのユーザーは、それを有効にする必要があることに気づいていませんでした。Drupal 8 は、キャッシュタグのおかげで、匿名ユーザー向けのページキャッシュをデフォルトで有効にしています。Drupal 7 でデフォルトで有効にしていたら、キャッシュタグがないために問題が起きていたでしょう。

関連項目