Elementor更新で重大なエラーが発生して管理画面に入れない時の復旧方法

Elementor更新で重大なエラーが発生して管理画面に入れない時の復旧方法

Elementor更新で重大なエラーが発生して管理画面に入れない時の復旧方法

Elementorを更新した直後に「このサイトで重大なエラーが発生しました」と表示され、管理画面から締め出された場合は、まずWordPressが自動送信するリカバリモードのメールを確認する。メールが見つからないなら、FTPでElementorフォルダをリネームして一時的に無効化し、PHPバージョンが7.1 / 7.3などの古い状態ならPHP 8.xへ更新してからプラグインを戻す。

なぜElementor更新で重大なエラーが起きたのか

なぜElementor更新で重大なエラーが起きたのか

今回のトラブルの根本原因は、サポートが終了した古いPHPバージョンのままElementorを最新版へ更新したことだ。PHP 7.1と7.3はどちらもセキュリティ修正を含む公式サポートがすでに終了している。一方、Elementorの現行バージョンはPHP 7.4以上で動作し、PHP 8.xを推奨している。

古いPHPの環境で最新版のElementorを有効化すると、プラグインの新しいコードが古いPHPでは解釈できず、サイト全体が致命的なエラーで停止する。WordPress 5.2以降はこうした致命的なエラーを検知すると自動的にサイトを「技術的な問題が発生」した状態にして、管理画面もフロント側もアクセスできなくする仕組みになっている。

つまり、プラグインの更新操作そのものが悪かったのではなく、「動作要件を満たさない環境のままプラグインだけ先に最新化してしまった」ことが問題だ。順番を逆にして、先にPHPを8.xへ移行してからElementorを更新していれば、このエラーはほぼ確実に回避できていた。

今回のエラーが起きた原因の連鎖
前提 PHP 7.1 / 7.3という古いバージョンで運用中
↓
操作 最新版Elementorに更新した
↓
結果 新コードが古いPHPで動かず重大なエラー
↓
症状 管理画面から締め出される

古いPHPのままプラグインだけ最新化すると、互換性が切れてサイト全体がエラーになる。

管理画面に入れない状態を復旧する手順

管理画面に入れない状態を復旧する手順

管理画面から締め出された状態は、次の順番で対処すれば短時間で復旧できる。一番確実なのはFTPでElementorプラグインのフォルダ名を変更して強制的に無効化する方法だ。

管理画面ロックアウトからの復旧フロー
STEP 1 WordPressからのリカバリモードメールを確認する
↓
STEP 2 FTPでElementorフォルダをリネームして無効化する
↓
STEP 3 管理画面に再ログインする
↓
STEP 4 PHPバージョンを確認して8.xへ更新する

復旧は「メール確認 → プラグイン無効化 → 再ログイン → PHP更新」の順で進める。

リカバリモードのメールが届いていないか確認する

WordPressが重大なエラーを検知すると、登録されている管理者メールアドレス宛に「あなたのサイトで技術的な問題が発生しました」という件名のメールが自動送信される。このメールにはリカバリモードへログインするための専用リンクが記載されており、リンクからアクセスするとエラーが起きた状態のまま管理画面へ入れる。

ただし、このメールは「新規ユーザー登録」や「コメント通知」など他のWordPress通知メールと同じ送信元から届くわけではなく、使用しているメールサーバーの設定によっては迷惑メールフォルダに入っていることもある。受信トレイに加えて迷惑メールフォルダも確認する。

リカバリモードのリンクは有効期限が1日程度と短い。メールが届いていた場合は早めにクリックし、管理画面へ入れたら最初に該当プラグインを無効化する。

FTPでElementorフォルダをリネームして強制的に無効化する

リカバリモードのメールが見つからない場合は、FTPソフトやレンタルサーバーのファイルマネージャーを使ってプラグインを手動で無効化する。サイトのファイルに直接アクセスできるため、管理画面に入れない時でも確実に復旧できる。

接続先はWordPressをインストールしたディレクトリで、その中の /wp-content/plugins/ フォルダを開く。そこにある elementor というフォルダ名を elementor_disabled のように変更するだけでよい。フォルダ名が変わるとWordPressはプラグインを認識しなくなり、エラーの原因になっていたElementorが読み込まれなくなる。

この状態で管理画面にアクセスすると、WordPressの標準ログイン画面が通常どおり表示される。ログイン後、プラグイン一覧を見るとElementorが「無効」になっていることが確認できる。

全プラグインを無効化して切り分ける場合

Elementorを無効化してもまだ管理画面に入れない場合は、プラグインフォルダ全体を一時的にリネームして全プラグインを一括で無効化する手もある。/wp-content/plugins/ を /wp-content/plugins_disabled/ に変更すれば、すべてのプラグインが読み込まれなくなる。

その後管理画面へ入れたら、フォルダ名を元に戻してから1つずつプラグインを有効化していく。問題を起こしているプラグインを特定するための切り分け作業だ。ただし、テーマ側に原因がある場合はこの方法では解決しないため、その場合は標準テーマへ切り替えることも検討する。

登録されている管理者メールアドレスを確認する方法

登録されている管理者メールアドレスを確認する方法

WordPressからの通知メールがどのアドレスに送られているかわからない場合、データベースを直接確認するのが確実だ。レンタルサーバーの管理画面からphpMyAdmin(データベース管理ツール)にアクセスできれば、数クリックで確認できる。

phpMyAdminでwp_optionsテーブルを調べる

phpMyAdminを開いたら、まず対象のWordPressサイトで使っているデータベースを選択する。左側の一覧からWordPress用のデータベースをクリックし、その中の wp_options というテーブルを開く。テーブル名の先頭部分(プレフィックス)はインストール時に変更している場合があり、wp_options ではなく wp2_options や wpx_options のような名前になっていることもある。

テーブルを開いたら、option_name カラムの中から admin_email という行を探す。その行の option_value に表示されている値が、WordPressに登録されている管理者メールアドレスだ。SQLで検索する場合は次のようなクエリを実行する。

SELECT option_name, option_value FROM wp_options WHERE option_name = 'admin_email';

このアドレス宛にリカバリモードのメールが送信されている。もし自分がそのメールアドレスにアクセスできないなら、必要に応じてここで別のアドレスへ書き換えることも可能だが、その前にFTPでの復旧を試すことを優先する。

サーバーの管理画面からメール設定を確認する

phpMyAdminにアクセスできない場合でも、レンタルサーバーのコントロールパネルにメールアカウント一覧やフォワーダー設定が表示されることがある。WordPressからの通知は、多くの場合「WordPress<wordpress@ドメイン名>」のような送信元になっているため、サーバー側のメールログや送信履歴に手がかりが残っている場合もある。

また、WordPressの初期セットアップ時に使ったメールアドレスがそのまま管理者メールとして登録されているケースが非常に多い。サイトのドメインに紐づくメールアドレスや、普段使っている代表メールアドレスを片っ端から確認すると見つかることもある。

PHP 7.1 / 7.3からPHP 8.xへ安全に移行する方法

PHP 7.1 / 7.3からPHP 8.xへ安全に移行する方法

今回のエラーを根本から解決するには、PHPバージョンを7.xから8.xへ引き上げる必要がある。PHP 7.1と7.3はすでにサポートが終了しており、WordPress本体や主要プラグインの動作要件を満たしていない。Elementor以外のプラグインでも、今後更新のたびに同じようなエラーが起きる可能性が高い。

レンタルサーバーの管理画面でPHPバージョンを切り替える

多くの国内レンタルサーバーでは、コントロールパネルからPHPバージョンを簡単に切り替えられる。メニューに「PHPバージョン管理」や「PHP設定」のような項目があり、ドロップダウンから「PHP 8.1」「PHP 8.2」などを選択して保存するだけで変更が反映される。

切り替え作業は通常数分以内に完了し、サーバーの再起動は不要だ。ただし、共有サーバーの場合、同じサーバー内の他のユーザーには影響しないようサイト単位で設定できる仕組みになっていることが多い。操作に自信がない場合は、契約しているサーバー会社のサポートに「PHPバージョンを上げたい」と伝えれば案内してもらえる。

PHPを上げる前に互換性を確認する

PHPを8.xへ変更する前に、現在使っているすべてのプラグインとテーマがPHP 8.xに対応しているかを確認する。対応していないプラグインが残っていると、PHPを切り替えた瞬間に別の致命的エラーが発生する恐れがある。

確認方法は、各プラグインの公式ページや更新履歴を読むのが基本だ。更新が長期間止まっているプラグインはPHP 8.x未対応の可能性が高い。そうしたプラグインは、PHPを上げる前に代替プラグインへ乗り換えるか、開発元に対応状況を問い合わせる。

できれば本番サイトでいきなり変更するのではなく、ステージング環境(テスト用の複製サイト)でPHPを切り替えて動作確認してから本番に反映するのが安全だ。ステージング機能を提供しているサーバーなら、管理画面から数クリックで複製を作れる。

よくある質問

リカバリモードのメールが届かないのはなぜですか

考えられる原因は、管理者メールアドレスが自分が確認できるものではない、メールが迷惑メールフォルダに振り分けられている、サーバーのメール送信機能が停止している、の3つが多い。phpMyAdminでadmin_emailの値を確認し、迷惑メールフォルダも含めて見直すのが近道だ。

FTPが使えない場合はどうすればよいですか

レンタルサーバーのコントロールパネルには通常、ブラウザ上でファイルを操作できるファイルマネージャーが用意されている。FTPソフトの設定がわからない場合は、このファイルマネージャーで同じ操作を行える。

PHPを8.xに上げるとサイトが壊れるのではと不安です

PHP 7.xから8.xへの移行では、古いコードの書き方に依存したテーマやプラグインが動かなくなる可能性はゼロではない。だからこそ、事前の互換性確認とバックアップが重要になる。バックアップがあれば、万一問題が出ても元の状態へ戻せる。

Elementorを無効化したらレイアウトは消えてしまいますか

Elementorで作成したページのレイアウトデータはデータベースに保存されているため、プラグインを無効化しても消えることはない。ただし一時的にページの見た目が崩れたり、ショートコードがそのまま表示されたりする。フォルダ名を元に戻して有効化すれば、元のデザインに戻る。

更新前に取っておくべきバックアップは何ですか

サイト全体のファイルとデータベースの両方をバックアップする。WordPressはファイルとデータベースが分離しているため、片方だけでは完全に復元できない。プラグインを使ったバックアップか、サーバーのバックアップ機能を活用するのが現実的だ。

この記事のポイント

  • 古いPHPのままElementorを更新すると重大なエラーが起きる
  • FTPでElementorフォルダをリネームすれば最短で復旧できる
  • 管理者メールはphpMyAdminのwp_optionsテーブルから確認できる
  • PHPは7.xから8.xへ移行してからプラグインを更新する
  • 更新直前にはデータベースとファイルの完全バックアップを取る
佐々木 太陽

・ Reddit、Stack Overflow、WordPress.org フォーラムを日々巡回し、現場の悩みを拾い上げて記事化 ・ WordPress、WooCommerce、Next.js などモダンWeb制作領域のトラブルシューティングが専門 ・ 「検索しても答えが見つからなかった」を一つでも減らすことが目標 ・ エラーメッセージから根本原因にたどり着く粘り強い調査が得意 ・ 初心者がつまずきやすい箇所を先回りで解決する記事作りを心がけている

この記事に関連するサービス

メッセージを残す