プラグイン Nginx Cache Purge Preload
Nginx で ワードプレスを構築する理由は、Fast-CGIキャッシュを利用したいからです。
このキャッシュの有無で、表示スピードが劇的に向上すると言われています。
最新の機器は、ディスクにSSDを使っているので、一回のアクセスでは大きく変化しないのですが、同時アクセスをこなすには、やはり、キャッシュが有効です。
Nginx のキャッシュ操作の現状
有料版のNGINX Plus(エンジンエックス プラス)には、標準でキャッシュのバージをする機能があるそうです。
フリーで使える Nginx には、標準では、このキャッシュをパージする機能は含まれていません。
ですが、Nginxのキャッシュ(fastcgi_cache, proxy_cacheなど)から特定のコンテンツを即座に削除するサードパーティ製モジュールがあるのですが、一からコンパイルする必要があります。
キャッシュのクリア
小さなサイトでは、アクセス数は少ないので、Nginx のキャッシュのディレクトリをサクッと消去すれば、最新のコンテンツを見ることができますが、これまでキャッシュしてきたコンテンツも失われます。
部分的にキャッシュをクリアできれば良いと、誰もが考えました。
そこで、「Nginx Cache Purge Preload」NPP です。
Nginx Cache Purge Preload の説明書 翻訳
説明
NPPを使用すると、WordPressユーザーはWordPress管理ダッシュボードから直接Nginxキャッシュのパージとプリロード(FastCGI、Proxy、SCGI、UWSGI)操作を管理できます。サイトクロールによってキャッシュをアクティブにウォームアップすることで、Nginxキャッシュは常にプリロードされ、すぐに使用できる状態になります。
リソース
• NPPメイン開発リポジトリをご覧ください – ドキュメント、課題報告、貢献情報など。
• safexecメイン開発リポジトリをご覧ください – NPP’s privilege-dropping C wrapper.。
• NPPコンテナ版をご覧ください – フルスタックNginx Docker環境をすぐに実行できます。
• プラグインのヘルプタブで詳細なガイダンスを参照してください。
特徴
🧹 Nginxキャッシュの完全クリア:Nginxに保存されているすべてのキャッシュデータを完全に消去します。
🔄 Nginxキャッシュのプリロード:ウェブサイト全体の最新データでNginxキャッシュをウォームアップします。
🎯 HTTPキャッシュパージ(ngx_cache_purge):Nginxキャッシュモジュールが利用可能な場合、NPPはこれを最速のパージパスとして使用します。モジュールが存在しない場合は、インデックスとファイルシステムのパージに適切にフォールバックします。
🚀 Nginxキャッシュの自動プリロード:POST/PAGEで自動パージが有効になっている場合、または「すべてパージ」アクション後に、キャッシュを自動的にプリロードします。
🧼 Nginxキャッシュの自動パージ:投稿/ページのコンテンツ変更、コメントステータスの更新、テーマ/プラグインの更新、または互換性のあるキャッシュプラグインがパージをトリガーした場合に、キャッシュをパージします。自動プリロードが有効になっている場合(サイト全体または個々のページ)、Nginxキャッシュは自動的にプリロードされます。
🔗 キャッシュパージ範囲(関連ページ):単一のURLがパージされると、ホームページ、WooCommerceショップページ、カテゴリ/タグアーカイブなどの関連ページも自動的にパージされます。オプションでこれらのページをプリロードして、キャッシュを常に温かく保つことも可能です。
⏰ WP CronによるNginxキャッシュパージとプリロードのスケジュール設定:WordPress Cronジョブを使用して、パージとプリロードのプロセスを自動化します。
🧭 プリロードのプロキシサポート:特殊な環境やコンテナ化されたデプロイメント向けに、プリロードリクエストをプロキシサーバー経由でルーティングします。
⏱️ プリロードのリアルタイム進捗状況監視:動的なプログレスバー、現在処理中のURL、404エラーの追跡、サーバー負荷、完了までの所要時間など、Nginxキャッシュのプリロードプロセスをリアルタイムで監視できます。
🌐 REST APIによるリモートNginxキャッシュパージとプリロード:REST APIエンドポイントを介して、キャッシュパージとプリロードをリモートでトリガーできます。
⚙️ Nginxキャッシュの手動パージとプリロード:詳細設定タブのテーブルビューから、キャッシュの手動パージとプリロードが可能です。
📚 Nginxキャッシュアナライザー:最新のプリロードクロールから、現在Nginxキャッシュに保存されているコンテンツまで、HIT/MISSキャッシュアナライザーダッシュボードで詳細を確認できます。キャッシュされていないページを即座に特定し、詳細設定タブから直接パージまたはプリロードできます。
🔍 ページ内Nginxキャッシュパージとプリロード:フロントエンドから、現在アクセスしているページのNginxキャッシュを手動でパージおよびプリロードできます。
🗝️ カスタムキャッシュキーのサポート:カスタム_cache_key形式に基づいてURLを解析するための正規表現パターンを定義できます。
📊 プラグインとNginxキャッシュの状態監視:ステータスタブから、プラグインの状態、キャッシュの状態、Nginxの状態を監視できます。
📈 キャッシュカバレッジ率:WordPressダッシュボードウィジェットに、最新のプリロードスナップショットに基づいたキャッシュカバレッジ率を表示するリアルタイムゲージが表示されます。ページをリロードすることなく、必要に応じて更新できます。
☁️ Cloudflare APO同期:NPPのキャッシュパージアクションをCloudflare APOに自動的に反映し、エッジキャッシュとNginxキャッシュを同期させます。
🔴 Redisオブジェクトキャッシュ同期:NPPとRedisオブジェクトキャッシュ間の双方向同期。NPPの「すべてパージ」はRedisオブジェクトキャッシュをフラッシュし、RedisのフラッシュはNPP経由でNginxキャッシュの完全なパージをトリガーします(自動パージが有効になっている場合)。
🛒 WooCommerce自動パージ:WooCommerceの商品在庫数量の変更、在庫ステータスの変更(在庫あり/在庫切れ/バックオーダー)、または注文のキャンセルと在庫の回復時に、Nginxキャッシュを自動的にパージします。
🔒 同時パージのシリアル化:アトミックロック機構により、同時実行のパージ操作の衝突を防ぎ、同時実行される管理操作やバックグラウンドイベント中のキャッシュの整合性を確保します。
🧩 モジュール設計:外部スクリプトや自動化ツールとの連携が容易です。
🖥️ ユーザーフレンドリーなインターフェース:使いやすいAJAXベースの設定画面は、WordPress管理画面とダッシュボードに統合されており、素早くアクセスできます。
📋 管理画面通知とログ:WordPress管理画面から、プラグインの状態やキャッシュ関連のすべての操作に関する通知とログを確認できます。
📧 メール通知:プリロード処理完了時にメールアラートを受信できます。テンプレートはカスタマイズ可能で、ニーズに合わせて設定できます。


