見出し画像

WordPressプラグイン更新で管理画面が500エラー。FTPにもファイルが見当たらなくなった【備忘録】

独自ドメインブログを運営して8年目のユッキーと申します。プラグイン更新の通知がきたので、いつものようにポチッとボタンを押したらfatal error(フェイタルエラー/致命的なエラー)に繋がり、管理画面が500エラー。ログインできなくなりました。加えて、FTPソフトで該当ドメインのファイルが見当たらない状況も併発。備忘録として解決までの流れを書き残したいと思います。

発生した不具合

今回は下記2つの不具合が同時に起こったことで複雑になり、解決に小一時間ほど有しました。

▼不具合1
プラグイン「plugin load filter」更新時にエラーが発生。これによりWP管理画面にアクセスできなくなった
▼不具合2
FTPソフトおよびレンタルサーバー管理画面の双方において、該当ドメインのファイルが非表示になった

作業環境とリテラシー

▼作業環境
WPバージョン:WordPress5.5
プラグイン:いろいろと。JetPackは卒業しました。
テーマ:Affinger5
サーバー:エックスサーバー

▼リテラシー
システムやサーバー周りの知見がなく、ブログ運営でFTPやataccessの話が出てきたら夫氏に対応を依頼します。
WordPressを使い始めて8年目、今回のような致命的なエラーに出会したのは初めてです。
英語力に課題があり、プラグインサポートはGoogle翻訳を使って読みました。

エラー発生から解消までの時系列

8月28日
12時:ランチを食べつつ管理画面を開きブログの更新作業
15時:プラグイン「plugin load filter」の4.0.0更新通知、ボタンひとつ押して更新
※この日は不具合に気付かず

8月29日

11時:テザリングで管理画面にログインを試みるもエラーで弾かれる
12時:Wi-Fi①で管理画面にログインを試みるもエラー
14時:Wi-Fi②で管理画面にログインを試みるもエラー。さすがにおかしいとネット検索開始
15時半:作業開始
16時半:エラー解消

プロローグ

8月29日、いつものようにWPでブログ更新作業を行おうとしたところ、ログインID・PASSを求められました。打ち込んで表示された内容は以下。この時点では「なんか表示されたけど、別にって感じ」と軽い気持ちでした。

サイトに重大なエラーがありました。 詳細については、サイト管理者のメール受信ボックスを確認してください。
WordPressでのデバッグをさらに詳しく見る。

表示に従いメール受信ボックスを確認すると、セキュリティ系プラグイン「SiteGuard WP Plugin」からのログイン通知(IPやユーザーエージェントなどのログイン情報)しか届いていません。

何が問題なのか考えてみよう。

課題の洗い出し

当初、この「SiteGuard WP Plugin」のセキュリティにひっかかったのかな〜と思いました。テザリングで接続していたのでIPを弾かれたのかな?と考えたのです。しかしテザリングとは別のふたつのWi-Fiで試してみてもダメ。なんなら自宅のWi-Fiでログインできない。これはセキュリティの問題ではないかも。

そこで直近のWP作業を思い返してみました。
金曜の昼休みにブログを書いたあと表示速度対策系プラグイン「plugin load filter」の更新を行い、それからブログ作業はしていません。よし「plugin load filter」について調べてみよう。

YAHOO!のリアルタイム検索でこちらのツイートを確認。「plugin load filter」で不具合が生じていると開発者さんがツイートされていました。おー、たぶんこれっぽい。(但し、この時点ではまだ重大性に気付いていない)

念のためプラグインのサポートページも確認。更新のあった24時間以内に2件の書き込みがありました。それぞれ投稿に目を通したところ、いずれも更新後のエラーにまつわるもので、先のツイートと同様、解決策も提示されていました。

画像1

なるほど、古いファイルを削除すればエラー解消しそうです。おそらくFTPソフトかレンタルサーバー管理画面からの作業になりそうなので、我が家のシステム系作業大臣・夫氏が昼寝から目覚めるのを待ちましょう。慎重な作業には睡眠が大事です。

作業①FTPソフトで作業を試みる

夫氏が起きたので、経緯と先のセルティスラボさんのツイートを共有。まずはFTPソフトでアクセスし、ファイル削除を試みます。

作業開始30秒、夫氏が「該当ドメインのファイルがない」と言いました

えっ。待って。さっきまでわたしが見ていたブログはなんだったの?キャッシュか幻??焦ってGoogle Analyticsのリアルタイムでアクティブなページを確認してみます。

ツイートにも書いた通り、検索流入ではたどり着かない深い階層を見ているユーザーがいました。つまり、FTPでファイルを確認できなくとも、サイトは稼働しているようです。こういう時にもGAって便利。

サイトは稼働しているということは、FTPソフトには表示されない何かしらの設定がされているということでしょうか。サーバー管理者ではないスキルなしの私ができることといえば、WPのプラグインを追加することくらいなもので。そのプラグインがサーバーの何かを書き換えるようなことができたりするんでしょうか。

ともかくFTPで表示されないとなったので、今度はレンタルサーバーの管理画面を開くことに。

作業②レンタルサーバーの管理画面で作業を試みる

結論、レンタルサーバーの管理画面を開くも、該当ドメインのファイルは見当たりませんでした。これでは削除したい古いファイルが一生削できず、管理画面も表示されません。ブログ書けない。どうしよう。詰んだ、詰んだぞ・・・!

作業③サブアカウントで作業を試みる

「完全に詰んだ・・・オワタ・・・」と頭真っ白な私に対し、夫氏は次の策を捻り出しました。相当昔に作ってもらったサーバーのサブアカウントを掘り返し、該当ドメインのディレクトリに直接ログインしたのです。該当ファイルが見当たらない中、直接ログインすれば作業が可能です。神様、仏様、タカバシ様!

ここまできたらシロウトの私にも作業がイメージできます。mu-pluginsフォルダーの中にある古いplf-filter.phpファイルを見つけて削除。WP管理画面にログインできました!ダッシュボードの崩れなどもなくこれまで同様に表示されました。これでブログを書けようになりました!嬉しい!

解決するも、不安が残る現状・・・

WP管理画面が開けるようになったけれど、ひとつだけ謎が残っています。何故FTPソフトでサーバーのルートからアクセスした時に該当ドメインのディレクトリが表示されなかったのか。

今回のエラーを解消する直前、セキュリティ系プラグイン「SiteGuard WP Plugin」が何か悪さしているのでは?と思い.htaccessから記述を削除してみました。しかしFTPソフトに該当ドメインのファイルは表示されませんでした。もちろんWP管理画面もログインできない状態。となると、「SiteGuard WP Plugin」は直接関与してはいなそうです。

その後、記述を戻してから表示速度対策系プラグイン「plugin load filter」の古いファイルを削除したところ、WP管理画面にアクセスできるようになりました。同時に、FTPソフトに該当ドメインのファイルが表示されたとのこと。となると「plugin load filter」そのものが何か影響していたのか、あるいは「plugin load filter」の古いファイルと何かのプラグインが干渉してしまったのか。どちらかの可能性があるのかな?と思ったりしました。

夫氏も開発者の方にこんな質問をしてみたそうです。

プラグイン側で権限書き換えることはないとのご回答。

普通に考えたら、プラグインにそこまでの権限があるんだろうか...と思うので、やっぱり「plugin load filter」単体ではなく、他の何かと干渉しちゃったんじゃないかなーなんて。いずれにしてもまるっと解決とは言えそうもなく、また同じことが起きたら困るなーという不安が残っています。

終わりに

ということで、プラグイン更新時のエラーとFTPソフトおよびレンタルサーバー管理画面において該当ファイルが非表示になる不具合が重なってしまったお話でした。書いている本人も「この書き方で意味が通じるのかな...」と思いながらなんですけれど、何かのタイミングでどなたかのお役に立てれば幸いです。
終わり。

この記事が気に入ったらサポートをしてみませんか?