# サイトキャッシュ

Source: https://support.kapsulehost.com/ja-jp/site-cache

キャッシュはWordPressサイトで得られる最大の単一の高速化効果です。フルページキャッシュは完成したHTMLをPHPを一切実行せずに提供し、オブジェクトキャッシュはデータベースの結果をメモリに保持します。このガイドでは、その両方、自動的にキャッシュを回避する対象、そしてキャッシュのパージとウォームの方法について説明します。

## KPanelでのキャッシュの場所

1. [KPanel](https://kpanel.kapsulehost.com)にサインインします。
2. 左サイドバーの**ウェブサイト**をクリックし、該当するサイトをクリックします。
3. サイトの左メニューで**WordPress**を開き、次に**キャッシング**を開きます。

直接アクセスできるアドレスは`/websites/<site-id>/cache`です。

![KPanelでのサイトのキャッシュ設定](https://support.kapsulehost.com/help/screenshots/site-cache.ebc987e4.webp)

> **Note:** **WordPress**グループはWordPressおよびWooCommerceサイトでのみ表示されます。ここでのキャッシュはプランの権利です。フルページキャッシュとオブジェクトキャッシュはManaged WordPressに含まれています。他のプランでは、このページには操作パネルの代わりに、利用可能な内容を説明するアップグレードパネルが表示されます。

## フルページキャッシュ

フルページキャッシュは、ページの完成したHTMLを保存し、次の訪問者にそのまま提供します。匿名訪問者にとっては、PHPの実行もデータベースへのクエリも一切発生しないことを意味します。リクエストはWordPressが読み込まれる前に処理されます。

カードには**オン**または**オフ**のピルが表示され、オンの場合は有効化された日付、ルーティングが確認済みかどうか、そしてキャッシュの有効期間が表示されます。

有効にするには**フルページキャッシュを有効にする**をクリックします。再度オフにするには**Disable**をクリックします。

投稿を公開または更新すると、キャッシュは自動的にクリアされるため、変更内容は有効期間の終了を待たずにすぐに反映されます。

> **Tip:** サイトの訪問者の大半が匿名訪問者である場合、これはこのページの中で最も価値の高い切り替えです。最初のバイトまでの時間に桁違いの差が出ることも珍しくありません。なぜなら、WordPressのリクエストの中で遅い部分こそが、もはや発生しなくなる部分だからです。

## パージとウォーム

フルページキャッシュがオンになると、2つの操作が表示されます。

**キャッシュを削除**はキャッシュを即座に空にします。WordPressが投稿の更新として扱わない変更、例えばテーマファイルの編集、ウィジェットの変更、メニューの更新、出力に影響するプラグイン設定の変更などの後に使用します。各ページの次の訪問者には新しいコピーが提供されます。

**キャッシュあり**はページを事前に取得し、訪問者がリクエストする前に既にキャッシュされている状態にします。ウォーム実行後、バナーには全体のうち何ページが事前キャッシュされたかが表示され、最初の数件のURLが一覧表示されます。

デザイン変更後の自然な手順は、パージしてからウォームする、です。そうすることで、誰もキャッシュされていない最初のレンダリングの代償を払う不運な訪問者にならずに済みます。

サイトの手前にあるエッジキャッシュ(別のレイヤーです)については、[CDNキャッシュのパージ](https://support.kapsulehost.com/ja-jp/cdn-cache-purge)を参照してください。

## 決してキャッシュされないもの

一部のURLは、訪問者ごとに出力が異なるか、副作用があるため、常にPHPを実行する必要があります。これらのパスは自動的に回避されるため、特に設定する必要はありません。

| パス | 理由 |
|---|---|
| `/wp-admin/` | WordPress管理画面は常に動的です |
| `/wp-login.php` | ログインページは決してキャッシュされません |
| `/cart/` | WooCommerceのカートは訪問者ごとに異なります |
| `/checkout/` | WooCommerceのチェックアウトは訪問者ごとに異なります |
| `/my-account/` | WooCommerceのアカウントページは訪問者ごとに異なります |
| `/wp-cron.php` | スケジュールされたタスクは実際に実行される必要があります |
| `/?wc-ajax=*` | WooCommerce AJAXエンドポイント |

パスのルールに加えて、クッキーも重要です。ログイン中のWordPressユーザー、またはアクティブなWooCommerceセッションクッキーを持つ訪問者には、他の全員にとってキャッシュされているページであっても、常に動的なレスポンスが提供されます。これが、ストアオーナーが自分のサイトを閲覧しているときに、匿名訪問者が得ている恩恵をほとんど感じられない理由です。

> **Warning:** 通常はログインしているため、普段使っているブラウザでキャッシュの動作をテストすると誤った結果になります。プライベートウィンドウか、サインインしていないブラウザでテストしてください。

## オブジェクトキャッシュ

オブジェクトキャッシュは異なるレイヤーです。完成したページを保存する代わりに、データベースクエリの結果やWordPressのトランジェントをメモリに保持し、同じ作業が繰り返されないようにします。

カードには**オン**または**オフ**のピルが表示され、オンの場合は有効化された日付が表示されます。切り替えるには**オンにする**と**オフにする**を使用します。

オブジェクトキャッシュは、フルページキャッシュではカバーできない部分、つまりログイン中のユーザー、管理画面、カートやチェックアウトなど訪問者ごとのページで効果を発揮します。これにより、トラフィックの多くが認証済みでありページキャッシュの対象にならない、繁盛しているストアやメンバーシップサイトにとって特に価値があります。

両方を同時に運用するのが通常の構成です。フルページキャッシュは匿名トラフィックを処理し、オブジェクトキャッシュはどのみちPHPを実行しなければならないすべての処理を高速化します。

## 何を有効にするか

- **コンテンツサイトで、訪問者の大半が匿名の場合。** フルページキャッシュが最優先です。オブジェクトキャッシュはその上にさらに小さな改善を加えます。
- **WooCommerceストアの場合。** 両方を有効にします。フルページキャッシュは閲覧中の訪問者向けの商品ページやカテゴリーページを引き続きカバーし、オブジェクトキャッシュは決してキャッシュできないカート、チェックアウト、アカウントページを担います。
- **ほぼ全員がログインしているメンバーシップサイトやコミュニティサイトの場合。** オブジェクトキャッシュが主要な役割を果たします。なぜなら、設計上ほとんどのリクエストがページキャッシュを回避するからです。

## トラブルシューティング

**サイトを更新したのに、訪問者には古いバージョンが表示される。** キャッシュをパージしてから、ウォームしてください。それでも古いままの場合、エッジキャッシュも存在する可能性があることを思い出してください。[CDNキャッシュのパージ](https://support.kapsulehost.com/ja-jp/cdn-cache-purge)を参照してください。

**キャッシュの効果が全く感じられない。** おそらくログインしています。プライベートウィンドウで確認してください。

**カートやフォームが匿名訪問者に対して不自然な動作をする。** 標準的なコマースのパスは自動的に回避されますが、標準的でないURL上のカスタムまたはプラグイン提供の動的ページはその限りではありません。あるページが決してキャッシュされるべきでないにもかかわらず、回避リストに含まれていない場合は、そのルールを確認できるようサポートにご相談ください。

**カードにキャッシュがManaged WordPressに含まれていると表示される。** お使いの現在のプランには含まれていません。バナーからプランページへのリンクが表示されます。

**ルーティングチェック保留中。** キャッシュは有効ですが、ルーティングの確認がまだ完了していません。しばらく待ってから更新してください。

**ページに誤ったパーソナライズコンテンツが表示される。** パーソナライズされた内容は、ページキャッシュから除外するか、クライアント側でレンダリングする必要があります。プラグインがセッションクッキーを設定せずに、本来キャッシュ可能なURL上で出力をパーソナライズしている場合、ページキャッシュはそれを検知できません。プライベートウィンドウでテストし、見つかった場合はサポートにご連絡ください。

## 関連ページ

- [サイトパフォーマンスとAPM](https://support.kapsulehost.com/ja-jp/site-performance): キャッシュが実際に効果があったかを測定します。
- [サイトトラフィック分析](https://support.kapsulehost.com/ja-jp/site-analytics): エッジキャッシュのヒット率について。
- [CDNの有効化](https://support.kapsulehost.com/ja-jp/cdn-enabling): これらすべての手前にエッジキャッシュを追加します。
- [バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup): 本番サイトに大きな変更を加える前に。
