WordPressサイトが表示できなくなった時

WordPressのバージョンを最新に保つのはセキュリティ上重要なことですが、それ以上に実際直面する確率が高いトラブルは、サーバーの仕様変更に伴うプログラムの不具合です。

Contents

不具合発生の状況

今回テストサーバー上(エックスサーバー)で不具合が発生したサイトは、これまでも年に1〜2回バナーの追加やページの新規追加などちょこちょこと手を入れてはいましたが、WordPress本体もプラグインのバージョンも5〜6年前の初回制作時のままで、アップデート等のメンテナンスは一度も行われていませんでした。

過去初回制作時にテストサーバーに設けたサイトの殆どは、追加作業が発生した時などのために納品時のバージョンのまま残してあるのですが、今回その内の一件に作業依頼が入ったため数ヶ月ぶりにテストサーバーにアクセスしてみたところ、いつの間にやら次のようなエラーページが表示されてサイトが表示できなくなっていました。

cannot01

ちなみに、テストサーバーには案件ごとにサブドメインを設けていますが、他の案件のサブドメインは正常にアクセスできますので、サーバー自体の問題では無いようです。
また、納品先のサイトもローカルサーバー上のサイトも正常に稼働しています。

テストサーバーに再アップロード

以上のことから恐らくテストサーバーの仕様変更に伴うプログラム絡みの不具合では?と推測しましたが、原因がはっきりしないので絞り込みのために、まずはテストサーバーにサブドメインを新たに設定してローカルサーバー上で稼働中のサイトファイル一式とデータベースをアップロードしてみました。

cannot02cannot03

ちなみに、MySQLのエクスポートの設定はこんな感じ。

export01export02export03export04export05

上記の図の通り、サーバー間でWordPressサイトを丸ごと移行する作業は特に難しくありませんので、データに問題がなければローカルと同様にサイトが表示されるはずなのですが、アクセスしてみるとやはり先ほどと同じエラー画面。

cannot01

原因はプラグイン?

WordPress本体のバージョンが不具合の原因だとすれば、これは大掛かりなメンテナンスが必要になるかもしれない、と今後のスケジュールのやりくりに気を揉みつつ、別のホスティングサーバー(さくらインターネット)にも試しに設置してみようかと考えたところで、ふと気付いたのがプラグインの影響の可能性。
そこで、テストサーバー上のプラグインディレクトリの中身を全部削除してみたところ、とりあえずトップページが表示されるようになったので、どうやらこれがビンゴのようです。

cannot04

プラグインを全て削除した状態で管理画面にログインすると、存在しないプラグインは自動的に無効化されますので、この状態で全てのプラグインをローカルサーバーから再度アップロードして、1つずつ有効化していってみると、「Magic Fields」(バージョン1.5.2)を有効化しようとした時点で何やらエラーが発生、有効化できませんでした。

cannot05

プラグインの入れ替え

私の場合エラーメッセージを見ただけでは原因がいまいち理解できないので、ここは手っ取り早く「Magic Fields」の最新バージョンを試しに入れてみることにしました。
(「Magic Fields」は既に開発もWordPress.orgのプラグインディレクトリでの公開も終了しているようですが、開発者のサイトから最終バージョン(1.7)を入手することができました。)

新バージョンの「Magic Fields」を入れ替える前に、一旦データベースをローカルから再度インポートし直し旧バージョンの「Magic Fields」のみ削除した状態で管理画面にアクセスして自動的に無効化させます。

cannot06

これで他のプラグインは現状の設定を保ったまま旧バージョンの「Magic Fields」を無効化した状態にできますので、新バージョンの「Magic Fields」を追加インストール&有効化して入れ替え完了です。

以上で無事テストサーバー上のサイトが運用できるようになりました。

結論

サーバーやプログラムに関する専門的な知識が無い私には詳細はわかりませんが、結論としてテストサーバーのアップデートによる仕様変更に旧バージョンの「Magic Fields」プラグインが対応しなくなったのが、今回の不具合の原因と見てよいかと思います。

納品先のサーバーはテストサーバーとは別のホスティング会社のため今のところ無事稼働しているようですが、いずれ同様のエラーでアクセスできなくなるのも時間の問題かも知れません。

……と、当のお客様にも状況とメンテナンスの必要性については伝えてはあるのですが、対応については今のところ「検討しておきます」との回答でした
今回はサービスでプラグインの新旧入れ替えのみ行うことも考えましたが、今後のメンテナンスの必要性を理解していただくためには、どこで線引きするべきか悩ましいところです。

PR

DO WP 管理人