2026年5月20日
2026年5月20日
プラグインが原因の500エラーの解決方法と原因プラグインの特定手順
はじめに
プラグインのインストール・更新後に500エラーが発生した場合、そのプラグインがエラーの原因である可能性が高いです。管理画面にアクセスできなくてもFTP経由で対処でき、問題のプラグインを特定して無効化することで解決できます。
プラグインが原因と判断できる状況
- 特定のプラグインを有効化した直後に500エラーが発生
- プラグインの更新後にエラーが発生
- 「PHP Fatal error: Cannot redeclare function」というエラーが出る
- 「Call to undefined function」というエラーが出る
解決方法①:管理画面からプラグインを無効化(アクセスできる場合)
管理画面にアクセスできる場合は最も簡単です:
1. プラグイン → インストール済みプラグイン
2. 原因が分かっている場合は該当プラグインを「無効化」
3. 全て無効化する場合はチェックボックスで全選択 → 一括操作「無効化」
解決方法②:FTPで全プラグインを無効化(管理画面にアクセスできない場合)
FTPで wp-content/plugins/ フォルダをリネームします:
wp-content/plugins/ → wp-content/plugins_disabled/
これでWordPressはすべてのプラグインを認識しなくなります。サイトが復旧したらプラグインが原因です。
元に戻すには:
wp-content/plugins_disabled/ → wp-content/plugins/
原因プラグインの特定:二分探索法
プラグインが原因と分かったら、どのプラグインかを特定します。プラグインの数が多い場合は二分探索が効率的です:
例:10個のプラグインがある場合
1. 5個を無効化してサイトを確認
- 復旧 → 無効化した5個の中に原因がある
- まだエラー → 有効のまま残した5個の中に原因がある
2. 原因のある5個の中から 2〜3個を無効化して確認
3. 同様に繰り返し → 1個に絞り込む
FTPで個別プラグインを無効化するには:
wp-content/plugins/問題のプラグイン/ → wp-content/plugins/問題のプラグイン_disabled/
データベース経由での無効化(緊急時)
phpMyAdmin が使える場合、データベースから直接全プラグインを無効化できます:
-- wp_options テーブルで active_plugins の値を空にする
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
テーブルプレフィックスが wp_ 以外の場合は置き換えてください。
原因プラグインが分かったら
1. アップデートを確認:最新バージョンで修正されている場合がある
2. サポートフォーラムを確認:同じ問題を報告しているユーザーの解決策を探す
3. 代替プラグインを探す:同機能の別プラグインへ乗り換え
4. プラグイン開発者に報告:WordPress.org のプラグインページからサポートフォーラムに投稿
注意事項
- プラグインを削除(uninstall)するとデータが失われる場合があります。まずは「無効化」だけで試してください。
- フォルダをリネームすると管理画面でも無効状態として認識されます。
まとめ
プラグインが原因の500エラーは、FTPでプラグインフォルダをリネームして全無効化→二分探索で原因プラグインを特定→アップデートまたは代替プラグインへ移行、という手順で解決します。
関連記事: