Kinsta MU(Must-Use)プラグイン
Kinsta MU(Must-Use、必須)は、弊社WordPress専用サーバー環境用に設計されたプラグインで、フルページキャッシュやKinstaのCDNとの連携などの処理を行います。
Kinsta MUプラグインは、弊社でホスティングする全てのサイトにデフォルトでインストールされおり、WordPress管理画面の左側メニューからアクセス可能です。弊社サーバー環境でサイトが適切に動作するために必要なプラグインのため、削除することはできません。
プラグインには機能の追加や改善、修正が定期的に行われています。Kinsta MUプラグインの変更内容はこちらをご覧ください。
Kinsta MUプラグインのインストール
お客様ご自身でサイトを移行した場合、またはWordPressを手動でインストールした場合は、Kinsta MUプラグインがインストールされていない可能性があります。弊社では、Composerを使用していないサイトや、wp-contentディレクトリまたはmu-pluginsディレクトリ全体をGitで管理していないサイトでは、プラグインのインストールと定期的な更新は自動で行われます。Kinsta MUプラグインをインストールしたい、またはインストールする必要がある場合は、以下いずれかの方法に従ってください。
SFTP経由でインストールする
1. mu-pluginsフォルダの作成
SFTP経由でサイトに接続し、wp-contentフォルダに「mu-plugins」というフォルダが存在しない場合は、作成してください(パス:/wp-content/mu-plugins/)。

2. プラグインのダウンロードと解凍
mu-pluginsフォルダを作成したら、Kinsta MUプラグインをダウンロードし、解凍します。
3. サイトへのアップロード
/wp-content/mu-plugins/ディレクトリにkinsta-mu-pluginsフォルダとkinsta-mu-plugins.phpファイルをアップロードします。

これでプラグインのインストールが完了です。WordPressの管理画面にログインして「プラグイン」>「Must-Use」に移動すると、プラグインが表示されます。
Composer経由でインストールする
サイトがBedrockまたはComposerを使用するボイラープレートやフレームワークで構築されている場合は、Kinsta MUプラグインのインストールの手順が異なります。
1. Kinsta MUプラグインのパッケージリポジトリを宣言
まずは、Kinsta MUプラグインをパッケージリポジトリとしてcomposer.jsonファイルのrepositories配列に宣言します。
{
"type": "package",
"package": {
"name": "kinsta/kinsta-mu-plugins",
"type": "wordpress-muplugin",
"version": "2.3.7",
"dist": {
"url": "https://kinsta.com/kinsta-tools/kinsta-mu-plugins.zip",
"type": "zip"
}
}
}注)技術的にはバージョン番号を有効なものに設定できますが(特定のzipファイルからプラグインをインストールするため)、プラグインを更新するたびに変更が必要になります。したがって、最新のKinsta MUプラグインでバージョンの確認を行うことをお勧めします。
2. Kinsta MUプラグインの要求
次に、サイトのbedrockディレクトリ(またはcomposer.jsonファイルがあるディレクトリ)で以下のコマンドを実行します。
composer require kinsta/kinsta-mu-pluginsまたは、composer.jsonファイルのrequire配列にKinsta MUプラグインを追加してください。以下は、Kinsta MUプラグイン追加後のBedrockサイトのrequire配列の例です。
"require": {
"php": ">=7.4",
"composer/installers": "^2.1",
"vlucas/phpdotenv": "^5.4",
"oscarotero/env": "^2.1",
"roots/bedrock-autoloader": "^1.0",
"roots/bedrock-disallow-indexing": "^2.0",
"roots/wordpress": "5.9.3",
"roots/wp-config": "1.0.0",
"roots/wp-password-bcrypt": "1.1.0",
"kinsta/kinsta-mu-plugins": "^2.3"
},3. Kinsta MUプラグインアセットのパスを修正
MUプラグインが使用するアセットへのパスを修正するには、サイトの設定ファイル(Bedrockサイトではbedrock/config/application.php)に以下を貼り付けます。
/**
* BedrockでKinstaのCDNを修正
*/
define('KINSTA_CDN_USERDIRS', 'app');
/**
* BedrockでKinsta MUプラグインのURLパスを修正
*/
$mu_plugins_url = Config::get('WP_CONTENT_URL') . '/mu-plugins';
define('KINSTAMU_CUSTOM_MUPLUGIN_URL', "{$mu_plugins_url}/kinsta-mu-plugins");Git経由でインストールする
サイトでGitを使用している場合、Kinsta MUプラグインのインストールが必要かどうかは、Gitでサイトのどの部分を管理しているかによって異なります。
wp-contentディレクトリまたはmu-pluginsディレクトリ全体をGitリポジトリで管理している場合は、ローカルリポジトリにプラグインをダウンロード、インストールし、その変更をコミットしてからサイトにデプロイします。ローカルにプラグインをインストールするには、プラグインをダウンロードしてサイトのmu-pluginsディレクトリにプラグインファイルを配置してください。
GitリポジトリにKinsta MUプラグインのコピーがない場合、Kinsta MUは自動インストールされます。または、SFTPを使って手動でインストールすることも可能です。
Kinsta MUプラグインの設定
Kinsta MUプラグインは、WordPressと弊社インフラストラクチャでスムーズに機能するように設計されているため、基本的には設定の変更は必要ありません。固定ページや投稿を更新するたびに、サイトの重要な部分のキャッシュが自動的にクリアされます。
プラグインは、WordPress管理画面の左側メニューに「Kinsta Cache」として表示されます。また、以下のように上部ツールバーにも「キャッシュをクリア」の文字が出現します。

手動でキャッシュをクリアする
以下のいずれかの方法で、WordPressサイトのキャッシュをクリアすることも可能です。
- WordPress管理画面の「Kinsta Cache」ページで「全てのキャッシュをクリア」をクリック
- WordPress管理画面のツールバーの「キャッシュをクリア」をクリック
- MyKinstaでサイトキャッシュとCDNキャッシュをクリア(エッジキャッシュを有効にしている場合は、サイトキャッシュをクリアすると、エッジキャッシュもクリアされます)
- コマンドラインで
wp kinsta cache purge --allを実行

独自のキャッシュURLを追加する
Kinsta MUプラグインによって、トップページなどの重要なページは即座にクリアされ、アーカイブページに対し最小限のスロットルタイムが設定され、常に高い可用性が確保されます。ただし、サイトの構成によっては、キャッシュルールの追加が必要です。サイトが更新されるたびにパージするカスタムパスを追加できます。
1. シングルパスの独自URLを追加
特定のURL(投稿または固定ページ)でキャッシュをクリアする場合、WordPress管理画面の「Kinsta Cache」ページに移動し、「特定のURLの除外」セクションで、以下のようなシングルパスルールを追加します。
important-pageimportant-page/

2. グループパスの独自URLを追加
グループパスは、その特定のURLで始まるすべてのURLをパージします。カスタム投稿タイプを作成していて、その投稿とその下の投稿のキャッシュをクリアしたい場合に特に有用です。例えば、https://yourdomain.com/custom-post-type/をグループパスのURLとして追加すると、以下のキャッシュがクリアされます。
https://yourdomain.com/custom-post-type/
https://yourdomain.com/custom-post-type/post-1
https://yourdomain.com/custom-post-type/post-2
https://yourdomain.com/custom-post-type/post-3
キャッシュの自動パージ
投稿や固定ページを更新すると、Kinsta MUプラグインによりキャッシュが自動的にクリアされます。しかし大量の更新を行う際には、このプロセスがサイトの速度に影響を与える可能性があります。これを防ぐには、「設定」セクションで「自動パージを有効化」のチェックを外して「設定を保存」をクリックし、キャッシュクリアの自動化を無効にすることができます。更新を終えたら、「自動パージを有効化」にチェックを入れて、自動パージを再度有効にします。

自動パージ用のWP-CLIコマンド
以下のコマンドを使用して、WP-CLIから自動パージ設定を管理することができます。
wp kinsta cache autopurge disable:全体の自動パージ機能を無効化します。投稿の更新やオプション変更など、通常キャッシュをクリアするアクションでもキャッシュがクリアされなくなります(wp-config.phpにKINSTA_DISABLE_AUTOPURGEを追加するのと同等)。wp kinsta cache autopurge enable:自動パージ機能を有効化します。無効化した自動パージを再度有効にする際に使用します。wp kinsta cache autopurge status:全体の自動パージ機能が現在有効か無効かを表示します。wp kinsta cache autopurge list:全ての自動パージコントローラーとそのステータスを一覧表示します。各コントローラーは、投稿の更新やサイトオプションの変更など、キャッシュクリアをトリガーする特定の処理を担当します。wp kinsta cache autopurge toggle <controller> <on|off>:特定のコントローラーのみを有効化または無効化し、他のコントローラーには影響を与えません。たとえば、投稿更新時のキャッシュクリアだけを無効化し、その他の自動パージ動作はすべて有効のままにしておくことができます。
自動パージ用のWordPressフック
これらのフックを使用すると、弊社の自動パージシステムの動作を細かく調整できます。特定のコントローラーを有効化・無効化したり、どの WordPressオプションが自動キャッシュパージをトリガーするかを制御したりすることが可能です。
自動パージコントローラーの制御
自動パージコントローラーは、投稿の更新、オプションの変更、コメント操作など、通常は自動キャッシュクリアをトリガーする各種イベントを処理します。このフィルターを使用すると、これらのトリガーを個別に有効化または無効化できます。
フック
apply_filters('kinsta/kmp/cache/autopurge', $status, $controller_name);パラメータ
$status(bool):コントローラーにおける現在の自動パージステータス(true= 有効、false= 無効)$controller_name(string):確認対象となっているコントローラー名(利用可能なコントローラーは、wp kinsta cache autopurge listを実行することで一覧表示できます)
例
add_filter('kinsta/kmp/cache/autopurge', function($status, $controller_name) {
// オプションが更新された際の自動キャッシュクリアを無効
if ($controller_name === 'wp_option_controller') {
return false;
}
return $status;
}, 10, 2);自動パージをトリガーするWordPressオプションの選択
このフィルターを使用すると、更新時にキャッシュパージをトリガーする WordPressオプションをカスタマイズできます。
フック
apply_filters('kinsta/kmp/cache/autopurge/wp/options', $option_names);パラメータ
$option_names(array):更新された際に自動キャッシュクリアをトリガーするオプション名の一覧
デフォルトのオプション
[
'blogname',
'blogdescription',
'date_format',
'time_format',
'language',
]例
add_filter('kinsta/kmp/cache/autopurge/wp/options', function($option_names) {
// ブログ名が更新されたときにのみキャッシュをクリア
return ['blogname'];
}, 10, 2);Kinsta MUプラグインの更新
サイトでComposerまたはGitを使用していない場合、Kinsta MUプラグインは定期的に自動更新されます。お客様の方で行う操作はありません。
SFTP経由で更新する
プラグインを手動で更新する必要がある場合(古いバックアップを復元してしまった、または更新が計画通りに実行できなかったなど)、SFTPを使用して更新可能です。
- Kinsta MUプラグインをダウンロードして解凍
- kinsta-mu-pluginsフォルダとkinsta-mu-plugins.phpファイルを/wp-content/mu-plugins/ディレクトリにアップロードし、SFTPクライアントでプロンプトが表示されたら、既存のファイルを上書き
- 古いプラグインファイルが新規ファイルで上書きされ、プラグインが最新バージョンに更新される
Composer経由で更新する
composer.jsonファイルのKinsta MUプラグインリポジトリ宣言のバージョン番号を更新します。
{
"type": "package",
"package": {
"name": "kinsta/kinsta-mu-plugins",
"type": "wordpress-muplugin",
"version": "2.3.7",
"dist": {
"url": "https://kinsta.com/kinsta-tools/kinsta-mu-plugins.zip",
"type": "zip"
}
}
}サイトのbedrockディレクトリ(またはcomposer.jsonファイルがあるディレクトリ)でcomposer update kinsta/kinsta-mu-pluginsを実行します。
Git経由で更新する
Gitを使用している場合、Gitで管理している部分によって更新手順が異なります。
wp-contentディレクトリ全体あるいはmu-pluginsディレクトリをGitリポジトリで管理している場合は、ローカルリポジトリでプラグインを更新し、その変更をコミットしてからサイトにデプロイします。ローカルで更新するには、プラグインをダウンロードし、リポジトリにある既存のプラグインファイルを上書きしてください。
GitリポジトリにKinsta MUプラグインのコピーがない場合、Kinsta MUは自動的に更新されます。
Kinsta MUプラグインのホワイトラベル化とカスタマイズ
WordPressの管理画面をより簡単にナビゲートできるよう、Kinsta MUプラグインには、弊社のブランディングを加えています。例えば、サイドバーにある「Kinsta Cache」タブには、弊社のロゴを表示し、サイトのキャッシュをクリアする際の操作がわかりやすくなっています。
WordPress管理画面から弊社のブランディングを削除して顧客に提供したいWeb制作会社のようなお客様を考慮し、ホワイトラベル化にも対応しています。この機能は、クライアントサイトを代行運営している場合、または顧客にサーバーサービスを再販する場合に特に有用です。


ホワイトラベル化を行うと、WordPress管理画面の以下の要素が変更されます。
- 左サイドバーの「Kinsta Cache」タブが「Server Cache」に
- 管理画面の下部に表示されるクレジット「WordPressとKinstaをご利用いただき、ありがとうございます」が、「WordPressをご利用いただき、ありがとうございます」に変更
- 弊社ドキュメントおよびお問い合わせリンクが非表示に
Kinstaサイトをホワイトラベル化する
ホワイトラベル化するには、wp-config.phpファイルの* That's all, stop editing! Happy publishing. */行の前に定数を定義します。KINSTAMU_WHITELABELをtrueに設定すると、上記スクリーンショットのように、弊社のブランディング要素が削除されます。
以下は、wp-config.phpのホワイトラベル設定の例です。
/* Kinsta MUプラグインのホワイトラベル化 */
define('KINSTAMU_WHITELABEL', true);
/* That's all, stop editing! Happy publishing. */MUプラグインディレクトリへのカスタムパスを定義する
プラグインは、WPMU_PLUGIN_URL WP変数を使用してプラグインアセットへのパスを定義します。基本的には、すべてのサイトで動作しますが、動作しない場合には、KINSTAMU_CUSTOM_MUPLUGIN_URL定数でMUプラグインフォルダへのパスを定義することができます。
以下は、wp-config.phpのカスタムMUプラグインパスの例です。
/* カスタムMUプラグインパス */
define( 'KINSTAMU_CUSTOM_MUPLUGIN_URL', 'http://kinstaexample.com/custom-wp-content/mu-plugins')
/* That's all, stop editing! Happy publishing. */アクセスに必要な権限を定義する
KINSTAMU_CAPABILITY定数は、プラグインの管理機能を使用するために必要な権限(capability)を定義します。これには、activate_pluginsやpublish_pagesなどのWordPressデフォルトの役割と権限を使用できます。以下は、KINSTAMU_CAPABILITY定数を追加した例です。
/* キャッシュプラグインの使用 */
define('KINSTAMU_CAPABILITY','publish_pages');
/* That's all, stop editing! Happy publishing. */ホワイトラベル化を無効にする
ホワイトラベル化を無効にするには、wp-config.phpで定数を削除してください。このホワイトラベル化は、WordPress制作会社やシングルユーザー向け機能のほんの一例です。サイトへのラベル付けやサイト名の変更など、他にも多数のサイト管理機能をご用意しています。