WordPressでリカバリーモードにも入れないときの対処法【備忘録】

WordPressについての備忘録。

サイトでプラグインを原因とする致命的なエラーが起きて、なおかつリカバリーモードも使えないときの対処法を個人的な備忘録も兼ねてまとめます。

僕の場合は、WordPress公式サイトのトラブルシューティングで紹介されていた方法の一つを試してみたところ上手くいきました。ただし問題の内容はケースバイケースのため、当記事の内容をもとに作業して不具合が出ても責任は負いかねます。あくまで個人の備忘録として自己責任のもと参考にしてください。

対処法の概要↓

  1. サーバー管理画面(XserverとかConohaとか)のファイルマネージャーを開く
  2. public_html/(サイトURL)/wp_contentを開く
  3. 「plugins」フォルダの名前を一時的に「plugins.hold」などに変える
  4. 自分のサイトにログインする
    (プラグインが無効されているので、リカバリーモードを使うことなくログインできるはず)
  5. プラグインを修正する
  6. サーバーのファイルマネージャーで「plugins」に名前を戻す

リカバリーモードすら使えない状態になる

WordPressではプラグインを原因としてエラーが起き、管理画面に入れなくなるときがあります。すると、プラグインが原因なのにプラグインの変更ができず、問題が解決できません。

僕はこのブログも含め2つのサイトを運営しているのですが、ある日、このブログではない方のサイトでこういった問題が起きました。
(しかし不思議なことにサイト自体にはアクセスできる状態)

現在WPにはこういった問題に対処するべく、リカバリーモードが実装されています。管理画面にも入れなくなるレベルのエラーが起きると、メールが届いて、そのリンクからログインすることでリカバリーモードを起動できるという機能です。

リカバリーモード中はプラグインについての変更ができるので、この状態で原因となるプラグインを無効化したり、競合関係を探したり、設定を変えたり…といったことが出来ます。僕もこの方法で一度は対処できました。

 

しかし僕の場合、その後プラグインを再度有効化するとまた致命的なエラーが起きて、今度はリカバリーモードも使えなくなりました。するとプラグインの設定を変更することがますますできなくなり困りました。

多種多様なプラグインが公開されているため、リカバリーモードも万能というわけではないようです。

サーバー本体のファイルマネージャーを使う

色々調べて手を動かした結果、契約しているサーバーの機能を使うと問題に対処できることが分かりました。

WPでサイトを運営している人は、何かしらのサーバーを契約していると思います。XserverとかConoha Wingとかがそうです。

僕はConoha Wingを利用しているのですが、Conohaの管理画面からはサーバーレベルの色々なことができるようになっています。(他のサーバー提供サービスにも同じ機能はあると思います)

今回利用したのは、「ファイルマネージャー」という、文字通りサーバー内のファイル・フォルダにWebブラウザからアクセスできる機能です。これを使えば別途FTPソフトやPhpMyAdminは必要ありませんでした。

 

このファイルマネージャーを使い、WordPress公式サイトのFAQ トラブルシューティングに書かれていた対処法を施したところ、WPのエラーを消すことが出来ました。

やり方は、まずファイルマネージャーから、public_html/(サイトURL)/wp_contentを開きます。

そのフォルダの中に、「Plugins」というフォルダがあり、そのサイトで利用しているプラグインがこの中に格納されています。

今回はエラーの原因になっているプラグインを無効化しないと話が始まりません。そこで、このPluginsフォルダの名前を「Plugins.hold」など適当な名前に変更します。

この状態で再度WPの管理画面にログインすると、WPはプラグイン一覧を見失う=自動的に無効化しており、プラグインが原因のエラーが起きることがありません。

 

ここで原因となったプラグイン以外を有効化し、それでも管理画面を開き続けられること確認。その状態でPlugins.holdを下の名前に戻します。

この後で具体的に何をするかは完全にケースバイケースなので、それはこの記事の範疇を超えています。単にプラグインを停止したまま運営し続けるだけなのか、他のプラグインやテーマ内蔵の機能との競合関係を探すのか。それはサイトによりけりでしょう。

ちなみに僕の場合はBackWpupというバックアップを取る割と重要なプラグインが原因でした。そのサイトは既に更新を止めていたため新しくバックアップは不要と判断し、プラグインを無効化するだけで一応の解決としました。

これが使い続けないといけないプラグインだったらさらに対処や原因究明に追われたことでしょう。

おわりに

以上、WPでリカバリーモードも使えないレベルのエラーが起きたときの対処法を個人的な備忘録としてまとめました。

管理画面に入れないというのはサイトに関する変更が出来ないということであり、致命的な問題です。個人的には初めての経験だったのでかなり焦りました。

結果としてサーバーの管理機能を使って問題に対処できたわけですが、自分で解決できない問題だったらもっと厄介なことになっていました。

こういった問題はそうそう起きることではないと思いますが、リカバリーモードの存在と、サーバーレベルでファイルを管理する方法があることは知っておいて損はないと思います。