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/ を開きます。

  1. 原因のプラグインのフォルダ(例: example-plugin)を探す
  2. フォルダ名を example-plugin.off のように変える
  3. サイトと管理画面が表示されるか確認する

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のフォルダ名の変更を試してください。

復旧したあとにすること

表示が戻っても、それで終わりではありません。

  1. 原因を確かめる: 無効にしたプラグインを、ステージング環境などで再度有効にし、本当にそれが原因か確認します。
  2. 更新や代替を検討する: 開発元のサポートフォーラムや更新履歴に、同じ不具合の報告や修正版がないか確認します。PHP のバージョンとの相性が原因のこともあります。更新が止まっているプラグインなら、代わりのプラグインを探します。
  3. 名前を変えたフォルダを整理する: .off を付けたフォルダを残すなら、元の名前に戻して管理画面から無効のままにするか、不要なら管理画面から削除します。フォルダ名を戻しただけでは自動で有効にはなりません。
  4. デバッグの設定を戻す: WP_DEBUG を false に戻し、debug.log を削除します。

次に備えて、FTP や SFTP の接続情報とデータベースの管理ツールへの入り方を、平常時に確認しておくと、いざというときに慌てずに済みます。プラグインの更新は、バックアップを取ってから行う習慣をつけてください。

まとめ

  • 直前の操作と、通知メール・エラーログから原因のプラグインを特定する
  • 通知メールがあれば、リカバリーモードで管理画面に入って無効化する
  • 管理画面に入れなければ、wp-content/plugins/ の該当フォルダの名前を変える
  • 原因が分からなければ plugins フォルダごと名前を変え、1つずつ有効化して切り分ける
  • WP-CLI は --skip-plugins を付け、データベースの書き換えはバックアップの後で行う
  • 復旧後は原因を確かめ、デバッグ設定を元に戻す

お気軽にご相談ください

お見積りへ お問い合わせへ
▲