WP-Chorusは静的ファイルにCDNを利用することで高速化を実現しています。
画像や記事などの静的ファイルを置き換え後、ウェブサイトの表示が変わらない場合はCDNからのキャッシュが表示されている可能性があります。
CDNはステージングでは使用されていないため、ステージングのウェブサイトは即時更新が反映します。
本番環境においてキャッシュ反映前に動作確認されたい場合、下記のキャッシュのクリア以外にアドミンドメイン(/wp-admin/を除いたURL)での接続をお試しください。
キャッシュをクリアしたり、キャッシュの有効期間の変更はコンソール ( https://console.wp-chorus.jp/ )のCDNメニュー > キャッシュ設定から可能です。
選択可能なキャッシュのクリアパターン
- サイトの全てのキャッシュをクリア
- ディレクトリ内の全てのキャッシュファイルをクリア
- ディレクトリとサブディレクトリの全てのキャッシュファイルをクリア
- 同じ名前でファイル名拡張子が要なる全てのキャッシュファイルをクリア
選択可能なキャッシュの有効期間
- 1時間
- 1日間
- 7日間(デフォルト値)
- 30日間
キャッシュへのファイル除外
ファイル除外メニューからはサイトの特定ファイルをキャッシュさせない制御が可能です。
- 除外ファイルの指定方法例
- すべての .jpg ファイルを除外:/*.jpg
- ディレクトリ内、下のサブディレクトリ内のすべての.jpgファイルを除外:/directrory-path/*.jpg
- ファイル名が a で始まるすべての .jpgファイルを除外、ファイルパスが a で始まるすべての .jpg ファイル:/a*.jpg
- ファイル名拡張子が .docで始まるすべてのファイル(.doc, .docx, .docm)を除外:/*.doc*
WP-Chorus オリジナルプラグインについて
2025/9/12のアップデートにてWordPressから直接キャッシュ操作が可能なプラグインを提供しています。
このプラグインを用いることでWordPress管理画面からもキャッシュクリアが可能です。
なお、標準では「実行する」ボタンのクリックで全ページ(/*)のキャッシュがクリアされます。
自動キャッシュクリア
手動作業での全ページ( /* )のキャッシュクリア以外に固定ページや投稿ステータス状態によって関連パスのキャッシュを自動的にクリアする設定が可能です(標準では自動キャッシュクリアは『しない』設定です)。
自動キャッシュクリアを有効にした場合の範囲
| old_status | new_status | 補足 |
|---|---|---|
| ー | 公開済み (publish) |
新規投稿を作成してすぐ下書きに保存を介さず直接公開 |
| 予約済み (future) |
公開済み (publish) |
|
| 公開済み (publish) |
公開済み (publish) |
公開済みの投稿を修正した場合の動作 |
| 公開済み (publish) |
下書き (draft) |
|
| 公開済み (publish) |
保留中 (pending) |
|
| 公開済み (publish) |
非公開 (private) |
|
| 公開済み (publish) |
予約済み (future) |
|
| 公開済み (publish) |
削除 (trash) |
キャッシュクリアのタイミング
-
予約済み → 公開済み
同一時間に予約済みの投稿が全て公開された時点でキャッシュをクリアする
-
上記以外
投稿の状態が変更があった場合、1分後にキャッシュをクリアする
キャッシュクリア対象(パス)
-
以下のパスに対してキャッシュをクリアする
-
サイトのホームURLパス
/
-
投稿のパーマリンクURLパス
/post_name/*
-
投稿のタクソノミーアーカイブURLパス(taxonomy, term)
/category/*/term/*
-
投稿タイプのアーカイブURLパス
/post-type/*
-
4. キャッシュクリアのパス上限
クラウド基盤の仕様により、キャッシュクリアのリクエスト時に対象パスが100件を超える場合は全ページ(
/*)のキャッシュクリアとなります(後述のカスタマイズにより変更可能)
(付録)プラグインのカスタマイズ
テーマのfunctions.phpファイルに以下のhookを用いてキャッシュクリアの処理をカスタムすることが可能です。
a)手動キャッシュクリアのパス変更
-
手動キャッシュクリアで全てのページ(
/*)ではなく、特定ページをクリアするadd_filter('wp_chorus_manual_invalidation_path', function($paths) { // $paths: [] // 特定パスのみクリアする return array( '/my-custom-page/', '/another-path/*', ); });
b)投稿のキャッシュクリア処理可否
-
投稿の状態が変わった時にキャッシュクリア対象にするか制御
add_filter('wp_chorus_is_invalidation', function($result, $post, $old_status) { // $result : 投稿のキャッシュクリア処理可否 (boolean) // $post : 対象投稿のオブジェクト (\WP_Post) // $old_status : 投稿の前回のステータス // 例: 特定のpost_typeはクリアしない if ($post->post_type === 'revision') { return false; } // 例: 特定のカテゴリーはクリアしない if (has_term('news', 'category', $post)) { return false; } return $result; }, 10, 3);
c)投稿のキャッシュクリアパス変更
-
投稿に対してのキャッシュクリアパスを変更
add_filter('wp_chorus_invalidation_path', function($paths, $post) { // $paths : キャッシュクリア対象パス (array) // $post : 対象投稿のオブジェクト (\WP_Post) // 例1: 特定パスを除外 foreach ($paths as $key => $path) { if (strpos($path, 'hello') !== false) { unset($paths[$key]); } } // 例2: 特定カテゴリーである場合、全ページクリア if (has_term('news', 'category', $post)) { return array('/*'); } // 例3: 特定のpost_typeである場合、パス追加 if ($post->post_type === 'product') { $paths[] = '/shop/'; $paths[] = '/recommendations/*'; } return $paths; }, 10, 2);
d)キャッシュクリアパスの上限変更
-
キャッシュクリアする対象のパスが100件を超える場合、全ページ(
/*)をキャッシュクリアするが、その上限を変更add_filter('wp_chorus_max_path', function($max) { // $max : キャッシュクリアパスの上限(デフォルト:100件) // 例:キャッシュクリアのパスを200件まで許容 return 200; });
e)キャッシュクリア予約待機時間変更(予約公開は除外)
-
自動キャッシュクリアは1分を待ち、その間に発生した処理は1分後に一括でキャッシュをクリアするが、待ち時間を変更
add_filter('wp_chorus_cron_wait', function($minutes) { // $minutes: クリア処理の待機時間(デフォルト:1分) // 例:キャッシュクリア待機時間を5分に変更 return 5; });