つい先日の事ですが、WordPress3.5がリリースされました。
いくつか所持している他のWordPressサイトでテストしてみたところ、特に問題が発生しなかったのでこのブログもアップグレードしてみました。

しかし、他のWordpressサイトでうまくいっていたのですっかり油断しており、ちょっと正式な手順を省略して更新してみたところ、管理画面からいきなりこんな画面に飛ばされました。

2012y12m15d_005652125

「このWordPressのデータは最新のものです」と表示され【続ける】をクリックしたところ、ブログのトップページへ飛ばされます。

管理画面に入ろうとすると↑上記の「更新の必要はありません」画面に飛ばされ、以下延々とループ。管理画面に入る事ができなくなりました。

WordPressのアップグレードの正しい手順

そもそもWPのアップグレードはトラブルが付きものなので、それを避ける(もしくは何かあってもすぐに復旧させる)為には、ある程度の手順を踏まなければなりません。

何も考えず管理画面の更新ボタンだけを押すというのは、一番やってはいけない事なのです。

一般的に(管理画面からアップグレードする場合)事前準備として

  • データベースのバックアップ

  • WordPress構成ファイルのバックアップ

  • プラグインは全て停止

これだけはやっておく必要があります。

そして管理画面よりWordPress本体を更新。

その後はプラグインを一つずつ有効化。
↑これをする事によって、もしプラグインが原因でトラブルが発生しても、どのプラグインが原因なのかすぐに判明するという訳です。

今回どこでつまずいたのかと言えば、このプラグインの有効化の手順。
本来一つ一つ有効化しなければいけないところを、面倒だったのでまとめて一気に有効化してしまいました。

すると何故か全て有効化したはずなのに停止されているプラグインを発見。
ちなみにそのプラグインとはPuSHPressです。

あれ?と思って有効化のボタンを押した途端、上記の「更新の必要はありません」画面に飛ばされたという次第。

ただこの画面はWordPress3.4にアップグレードした時もみた事があったので、なんとなく解決はするだろうという変な安心感はありました。

それ以前にどう考えてもプラグインのどれかが原因なので、それを見つけてフォルダ毎消してしまえばどうになかなりそうな気配。おかげで特にパニックなる事はなく

ver3.4の時はプラグインDB Cache Reloaded Fixが原因だったので、この時点で当てずっぽうながらFTPで接続し、

  • wp-content/db.php

  • wp-content/plugins/db-cache-reloaded-fix

上記二つのファイルを削除。
(こんな適当にやっているから原因が特定できなくなってくるのですが・・・)

しかし相変わらず管理画面へはログインできず。
そこでプラグインを全部停止させる事にしました。

WordPressの管理画面へログインせずにプラグインを停止させる方法

管理画面へログインできないままのプラグインの停止は、FTP経由で行います。

FTPクライアントソフトかサーバーのコントロールパネルでサーバー上のwp-contentフォルダへFTP接続するとこんな風になっているはず。

2012y12m16d_171237968

ここで

(1)pluginsフォルダをリネーム(画像ではplugins-oldとしています)
(2)新しく空のpluginsフォルダを作成

以上を行います。

2012y12m16d_171329265

この状態でログインすると今度は普通に管理画面に入れます。
もし無理ならブラウザのキャッシュを削除しておきましょう。

無事に管理画面へログインできたならプラグインタブをクリック。
おそらく「ファイルが見つかりません」という表示になっていると思います。

次に先程と逆の手順を行います。

(1)空のpluginsフォルダを削除
(2)リネームしていたpluginsフォルダを「plugins」へと戻す

これでまた管理画面のプラグインタブを見ると(クリックか更新すると)、プラグインが全て無効になっています。

うまくいかない場合は、ブラウザのキャッシュを削除するか別のブラウザで同じ手順を繰り返してみましょう。

どのプラグインが原因だったのか

これで全てのプラグインが無効の状態になったので、今度は一つずつ有効化していきました。おそらくデータベース・キャッシュ系のプラグインが原因じゃないかと思っていたので、それ系のプラグインは後回しにしつつ。

結局何が原因だったのかという話ですが、結論としてはわかりませんでした。一つずつ有効化していったものの、結局どれもエラーは出ず。

最初に削除したDB Cache Reloaded Fixかなとも思ったのですが、よく考えれば他のWordPressサイトではこのプラグインを入れていても特別アップデートでトラブルは起きていません。

ただ不思議だったのは、Adsense-DeluxeとDatafeedr Random Ads V2の二つのプラグインがアップグレードともに管理画面から消えてしまった事です。

サーバーを見るとpluginsフォルダの中にはファイルが存在しているのですが、「インストールしているプラグイン」画面には何故か表示されません。

とりあえずプラグインを再インストールしてみると設定もそのまま残っていたので復旧しました。この二つともかなり古いプラグインだったので、ひょっとしたら今回の件はこれが原因だったのかもしれません。

両方とも似たようなプラグインはいくらでもありますので、そろそろ世代交代を検討したいと思います。