2026年5月20日
2026年5月20日
WordPressプラグインを安全に無効化・削除する手順|管理画面とWP-CLI
プラグインを止めるときに困るのは、「無効化したらサイトの表示が崩れた」「削除したら設定が消えた(または消えずに残った)」といった、操作と結果の食い違いです。この記事では、無効化と削除で何が起きるかを整理したうえで、安全に進める手順を説明します。内容は WordPress 本体と WP-CLI のソースコードで2026年11月時点に確認したものです。
無効化・削除・アンインストールの違い
| 操作 | プラグインのファイル | データベースの設定やデータ | 元に戻すには |
|---|---|---|---|
| 無効化 | 残る | 残る | 「有効化」を押せば元どおり |
| 管理画面の「削除」 | 消える | プラグインが用意したアンインストール処理(uninstall.php など)があれば、その内容に従って消える |
バックアップから戻す |
wp plugin delete |
消える | 消えない(アンインストール処理を実行しない) | 再インストールすれば設定は残っている |
wp plugin uninstall |
消える(--skip-delete で残せる) |
アンインストール処理を実行する | バックアップから戻す |
管理画面で「削除」を押すと「本当に(プラグイン名)とそのデータを削除してもよいですか ?」と確認されるのは、このアンインストール処理が動くためです。どのデータを消すかはプラグインごとに違い、何も消さないプラグインも、独自テーブルまで消すプラグインもあります。
ステップ1: バックアップを取る
削除はもちろん、無効化でもサイトの表示や機能が変わります。作業の前にデータベースとプラグインのフォルダーを保存しておきます。WP-CLI が使える場合は、WordPress をインストールしたディレクトリで次のように実行します。
# データベースを書き出す
wp db export backup-before-plugin-change.sql
# 対象プラグインのフォルダーを固めて残す(example-plugin は実際のフォルダー名に置き換える)
tar czf example-plugin-backup.tar.gz wp-content/plugins/example-plugin
書き出した SQL ファイルは、公開ディレクトリの外に移すか、作業後に削除してください。WP-CLI が使えない場合は、バックアッププラグインやサーバーのバックアップ機能を使います(データベースのバックアップ方法)。
WooCommerce のように注文や会員のデータを持つプラグインは、削除の前に必要なデータを書き出しておいてください。
ステップ2: 管理画面から無効化する
- 管理画面の「プラグイン」→「インストール済みプラグイン」を開く
- 対象のプラグインの「無効化」をクリックする
- サイトの表示と、そのプラグインに関係していた機能(フォーム、ショートコードを置いたページ、ウィジェットなど)を確認する
ほかのプラグインがそのプラグインを必要としている場合(WordPress 6.5 以降のプラグイン依存関係)、依存するプラグインを先に無効化しないと「無効化」できません。
無効化すると、そのプラグインのショートコードは処理されなくなり、ページにはショートコードの文字列がそのまま表示されます。無効化のあとは、こうした表示が残っていないかを確かめます。
ステップ3: 問題がなければ削除する
無効化してしばらく様子を見て、問題がなければ削除します。管理画面では、無効化済みのプラグインに表示される「削除」をクリックします。有効なプラグインには「削除」が表示されません。
この操作でアンインストール処理が動くため、あとで同じプラグインを入れ直しても設定が戻らないことがあります。入れ直す可能性があるなら、削除せず無効化のままにしておくのも一つの方法です。ただし、無効化したプラグインもファイルはサーバーに残るため、脆弱性が見つかったときに狙われる可能性はあります。使わないと決めたものは削除してください。
WP-CLI で無効化・削除する
# 状態を確認する
wp plugin list --fields=name,status,version
# 無効化する
wp plugin deactivate example-plugin
# 無効化してからアンインストール処理を実行し、ファイルも消す
wp plugin uninstall example-plugin --deactivate
# ファイルだけを消す(アンインストール処理は実行しない)
wp plugin delete example-plugin
# 無効化されているプラグインをまとめて消す(ファイルだけ)
wp plugin delete $(wp plugin list --status=inactive --field=name)
wp plugin deleteは無効化もアンインストール処理もしません。有効なプラグインを消す前にwp plugin deactivateで止めてください。wp plugin deactivateに--uninstallを付けると、無効化のあとにアンインストール処理まで実行します。- マルチサイトでネットワーク有効化したプラグインは、
wp plugin deactivate example-plugin --networkで止めます。 wp plugin deactivate --allはすべてのプラグインを無効化します。原因の切り分けには便利ですが、元の状態をwp plugin list --status=active --field=name > active-plugins.txtなどで控えてから実行してください。
削除後に残ったデータを確かめる
wp plugin delete で消した場合や、アンインストール処理を持たないプラグインを削除した場合は、設定がデータベースに残ります。残しておいても多くは害はありませんが、自動読み込み(autoload)される大きなオプションが残ると、ページの読み込みが重くなることがあります。
# オプション名にプラグインの接頭辞を含むものを探す(ワイルドカードは * と ?)
wp option list --search="example_plugin*" --fields=option_name,autoload
# 不要だと確認できたものを消す
wp option delete example_plugin_settings
# 接頭辞が一致するテーブルを、$wpdb に登録されていないものも含めて表示する
wp db tables --all-tables-with-prefix
プラグインが作ったテーブルを消すには wp db query "DROP TABLE wp_example_plugin_log" のように実行します。テーブル名やオプション名の接頭辞はプラグインごとに違い、似た名前をほかのプラグインが使っていることもあります。消す前にプラグインの説明書きやソースコードで、そのプラグインのものかを確かめてください。消したデータはバックアップからしか戻せません。
管理画面に入れないときの止め方
プラグインが原因で管理画面に入れない場合は、次の方法があります。
- リカバリーモード: WordPress 5.2 以降は、致命的なエラーが起きると管理者のメールアドレスにリカバリーモードへのリンクが届きます。リンクからログインすると、原因のプラグインを無効化できます。
- WP-CLI:
wp plugin deactivate example-plugin --skip-pluginsのように--skip-pluginsを付けると、プラグインを読み込まずに WP-CLI が動くので、エラーを起こすプラグインがあっても無効化できます。 - フォルダー名を変える: FTP やサーバーのファイルマネージャーで
wp-content/plugins/example-pluginをexample-plugin.offなどに変えると、そのプラグインは読み込まれなくなり、プラグイン画面を開いたときに無効化されます。管理画面に入れたらフォルダー名を戻し、あらためて「無効化」や「削除」を行います。
詳しい手順は 管理画面に入れないときにプラグインを停止する方法 と データベースからプラグインを無効化する方法 で説明しています。
なお、wp-content/mu-plugins/ に置かれた must-use プラグインは管理画面から無効化できません。止めるにはファイルを移動するか名前を変えます。
作業後の確認
- トップページ、投稿、固定ページ、お問い合わせフォームなど、主要なページを表示して確かめる
- プラグインがカスタム投稿タイプを登録していた場合、そのページは表示されなくなります。リダイレクトや代わりのページを用意してください
- 無効化のあとに投稿や固定ページが 404 になるなど URL の不具合が出たときは、「設定」→「パーマリンク」で何も変えずに「変更を保存」を押すと、書き換えルールが作り直されます
- キャッシュプラグインや CDN を使っている場合は、キャッシュを削除してから確認します