2026年9月22日
2026年9月22日
WordPressのプラグインを緊急時に無効化する方法|管理画面に入れないときの手順
プラグインが原因でサイトが表示されない、管理画面に入れないときは、FTP やファイルマネージャーで該当プラグインのフォルダ名を変えるのが、手早く、多くの環境で使える無効化の方法です。この記事では、まずエラーの表示やログから原因のプラグインを特定する方法を説明し、そのうえでリカバリーモード、フォルダ名の変更、WP-CLI、データベースの順に、状況に合った無効化の手順を紹介します。復旧後に原因を確かめて元に戻す手順も扱います。
まず症状を確認する
プラグインが原因のトラブルでは、次のような症状がよく見られます。
- 「このサイトで重大なエラーが発生しました」といった表示: WordPress 5.2 以降は、PHP の致命的なエラーが起きると真っ白な画面の代わりにこのメッセージを出し、管理者のメールアドレスに通知を送ります(2026年10月現在)。文言や通知の形式は版によって変わることがあります。
- 真っ白な画面: エラーの表示が無効になっている環境や、古い構成では、何も表示されないことがあります。
- 「500 Internal Server Error」: サーバー側でエラーが起きたことを示します。プラグイン以外(.htaccess の誤りなど)でも出ます。
- 管理画面だけ、または表側だけが表示されない: 一部の画面でだけ動くプラグインが原因のことがあります。
直前に何をしたかを思い出すのが、原因の特定のいちばんの近道です。プラグインの更新・新規インストール・設定変更、PHP のバージョン変更、WordPress 本体の自動更新のあとに起きたのなら、そのとき触ったプラグインが第一候補です。
エラーログで原因のプラグインを特定する
直前の操作に心当たりがないときは、エラーの記録を見ます。
通知メールを見る: 重大なエラーが起きると、管理者のメールアドレスに「サイトで技術的な問題が発生しています」といった件名のメールが届くことがあります。本文に、エラーを起こしたプラグイン名と、後で説明するリカバリーモードのリンクが書かれています。
サーバーのエラーログを見る: レンタルサーバーの管理画面や、サーバー上のログファイルで確認できます。
WordPress のデバッグログを有効にする: wp-config.php の /* That's all, stop editing! */ の行より上に、次の設定を書きます。すでに WP_DEBUG の行がある場合は、その値を変えてください。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
この状態でもう一度ページを開くと、wp-content/debug.log にエラーが記録されます。PHP Fatal error で始まる行を探し、その中のファイルのパスを見ます。wp-content/plugins/example-plugin/ のように書かれていれば、example-plugin が原因のプラグインです。
WP_DEBUG_DISPLAY を false にしているのは、エラーの内容を訪問者の画面に出さないためです。debug.log はサーバーの設定によっては外から読めてしまうので、調査が終わったら WP_DEBUG を false に戻し、debug.log を削除してください。
方法1: リカバリーモードで入る
通知メールが届いていれば、本文のリンクを開いてログインすると「リカバリーモード」に入れます。このモードでは、エラーを起こしたプラグインがそのログイン中だけ一時停止され、管理画面を操作できます。
管理画面に入れたら、「プラグイン」の画面で該当のプラグインを無効化し、リカバリーモードを終了します。リンクには有効期限があり、メールが届かない環境もあります。メールが見つからなければ、次の方法に進みます。
方法2: FTP やファイルマネージャーでフォルダ名を変える
もっとも広く使える方法です。FTP(できれば SFTP)ソフトか、サーバーの管理画面にあるファイルマネージャーで、wp-content/plugins/ を開きます。
- 原因のプラグインのフォルダ(例:
example-plugin)を探す - フォルダ名を
example-plugin.offのように変える - サイトと管理画面が表示されるか確認する
WordPress は、有効になっているはずのプラグインのファイルが見つからないと、そのプラグインを読み込みません。その後「プラグイン」の画面を開くと、ファイルが存在しないため無効化した、という趣旨の通知が出て、正式に無効の状態になります。
フォルダの削除ではなく名前の変更にするのは、設定やファイルを残したまま、後で戻せるようにするためです。
原因が分からないときは plugins フォルダごと変える
どのプラグインか特定できない場合は、wp-content/plugins フォルダ自体を plugins.off のように変えます。すべてのプラグインが読み込まれなくなるので、これで表示が戻ればプラグインのどれかが原因です。
管理画面に入って「プラグイン」の画面を一度開いたら、フォルダ名を plugins に戻します。この時点ですべてのプラグインが無効になっているので、1つずつ有効化して、どれを有効にしたときに症状が出るかを確かめます。
キャッシュ系のファイルにも注意する
キャッシュプラグインの中には、wp-content/ 直下に advanced-cache.php や object-cache.php といったファイル(ドロップイン)を置くものがあります。これらはプラグインを無効にしても読み込まれ続けるため、プラグインのフォルダ名を変えてもエラーが続くことがあります。その場合は、これらのファイル名も一時的に変えてください。同じように、wp-content/mu-plugins/ のファイルは管理画面から無効化できないので、ファイル名の変更で止めます。
方法3: WP-CLI で無効化する
サーバーに SSH で接続でき、WP-CLI が使えるなら、コマンドで無効化できます。
# 有効なプラグインの一覧を確認
wp plugin list --status=active --skip-plugins --skip-themes
# 指定したプラグインを無効化
wp plugin deactivate example-plugin --skip-plugins --skip-themes
# すべてのプラグインを無効化
wp plugin deactivate --all --skip-plugins --skip-themes
--skip-plugins と --skip-themes は、コマンドの実行時にプラグインとテーマを読み込まない指定です。原因のプラグインが致命的なエラーを出していると、WP-CLI 自体がそのエラーで止まってしまうため、緊急時は付けておくのが安全です。
方法4: データベースで無効化する
ファイルを操作できず、データベースの管理ツール(phpMyAdmin など)だけ使える場合の方法です。データベースを直接書き換えるので、先にエクスポートでバックアップを取ってください。
有効なプラグインの一覧は、wp_options テーブルの active_plugins という行に保存されています。テーブル名の wp_ の部分は、サイトによって違う接頭辞になっていることがあります(wp-config.php の $table_prefix で確認できます)。
-- 現在の値を確認し、控えておく
SELECT option_value FROM wp_options WHERE option_name = 'active_plugins';
-- すべてのプラグインを無効にする
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
値は PHP のシリアライズという形式で、文字数の情報を含んでいます。特定のプラグインだけを手で消そうとすると、文字数がずれて設定が壊れることがあるため、全部を無効にして管理画面から1つずつ戻すほうが安全です。
マルチサイトで「ネットワークで有効化」されているプラグインは、wp_sitemeta テーブルの active_sitewide_plugins に保存されています。この場合は、まず方法2のフォルダ名の変更を試してください。
復旧したあとにすること
表示が戻っても、それで終わりではありません。
- 原因を確かめる: 無効にしたプラグインを、ステージング環境などで再度有効にし、本当にそれが原因か確認します。
- 更新や代替を検討する: 開発元のサポートフォーラムや更新履歴に、同じ不具合の報告や修正版がないか確認します。PHP のバージョンとの相性が原因のこともあります。更新が止まっているプラグインなら、代わりのプラグインを探します。
- 名前を変えたフォルダを整理する:
.offを付けたフォルダを残すなら、元の名前に戻して管理画面から無効のままにするか、不要なら管理画面から削除します。フォルダ名を戻しただけでは自動で有効にはなりません。 - デバッグの設定を戻す:
WP_DEBUGをfalseに戻し、debug.log を削除します。
次に備えて、FTP や SFTP の接続情報とデータベースの管理ツールへの入り方を、平常時に確認しておくと、いざというときに慌てずに済みます。プラグインの更新は、バックアップを取ってから行う習慣をつけてください。
まとめ
- 直前の操作と、通知メール・エラーログから原因のプラグインを特定する
- 通知メールがあれば、リカバリーモードで管理画面に入って無効化する
- 管理画面に入れなければ、
wp-content/plugins/の該当フォルダの名前を変える - 原因が分からなければ plugins フォルダごと名前を変え、1つずつ有効化して切り分ける
- WP-CLI は
--skip-pluginsを付け、データベースの書き換えはバックアップの後で行う - 復旧後は原因を確かめ、デバッグ設定を元に戻す