何かとトラブルや不具合が出がちなWordPressサイトの移転。
WordPressサイトの移転は
- ファイル・フォルダとデータベースのバックアップ
- 移転先へ復元
- wp-config.phpの記述変更
- データベース上のURL変更
基本的に↑の作業を行えば、どんなサイトでも問題なく表示されるようになります(細かいことは端折ってます)。
あまりないことかも知れませんが、PHPのバージョンが移転元と移転先で極端に違う場合には問題が起こりがちなので確認は必要でしょうけど、特に移転用のプラグインなんてのを使わなくても慣れれば比較的簡単に行うことができます。
また、テーマがオリジナル(自作)のものだと結構トラブルが起こることもありますね。
まあ、トラブルが起きても
- 管理画面・閲覧画面ともエラーメッセージが出て表示されなければ内容を見て修正する
- 管理画面が開ける状態になっていれば、デバックモードをONにして修正する
とセオリー通りの対応をすれば大抵はきちんと動作するようになります。
※ちなみに自身管理のサイト移転でトラブルが起きたことはないのですが、結構頼まれて作業すると発生することがあるのはなぜ??と常々感じてます
今回起きたのはそのセオリーが全く役に立たない現象、名付けて「移転したらメディアに何も表示されない症」です(笑)。
表示されないだけで何もエラー表示などなく、しかも記事の画像はきちんと表示される、どうやら管理画面側の問題のようです。
同時に発生していたのは
- 管理画面メニューをマウスオーバーしてもサブメニューが表示されない
- テーマカスタマイザーが機能しない
という2点。そしてEWWW Image Optimizerというプラグインのエラーメッセージが出てました。
画像系が関連するもの?と判断してこのプラグインを停止(これも移転に限らずWordPressで不具合が出たときのセオリーです)、テーマの問題かと考えてテーマをWordPress標準テーマ(今回はTwentyseventeen)へ変更。これで直るはず・・・が直らない・・何で??
更にはメディアには一切何も表示されないのに画像のアップロードは問題なくできるというまさに怪奇現象・・。
そして環境の問題かと思い、別サーバーで移転元サイトを復元。これで動いたら問題はサイトデータではなくサーバーでしょう。
だがしかし・・・同じ現象が発生!!まさしくこれはサイトとデータの問題と判断しました(こういう原因の除外は必要です)。
テスト環境であれば何でもアリ!!いろいろ試すうちに1つの結論に達し、無事解決しました!!
元凶はやはりEWWW Image Optimizerというプラグインでした。
しかも停止するだけではダメで、行ったのは
- EWWW Image Optimizerの停止
- ブラウザのキャッシュクリア
- 再びEWWW Image Optimizerを有効化
たったこれだけ。
結論から言うと、移転によって有効化状態で動作するはずのEWWW Image Optimizerがきちんと復元されなかった(有効化状態にならなかった)ようで、一旦停止してもきちんと復元されていない状態が続く(動いてないんだから停止しても無駄)、それを再有効化することで動作するようになるということだったようです。
今回のようにメディアがということであればメディアに何かをするものから調査するというのは慣れというか勘というか経験というか・・・
がモノを言う不具合対応でした。
もしもサイトを移転して不具合が起き
- セオリー通りプラグインを停止
- セオリー通りテーマを変更
- セオリー通りデバックモードをON
にしても何も変化がないときは、状況から勘で修復してみるというのも必要なのかも知れません。
ちなみに移転先で修復を試みるとテーマの変更によって以前のウィジェットなどがクリアされることもありますし、停止したプラグインの再有効化をしてもきちんと動作しないなんてこともあるでしょうから、原因がわかったら一度移転先のファイル・フォルダ・データベースデータの再構築(要するに削除してもう一度復元する)をし、不具合の原因部分のみ対処した方が移転がスムーズになりますよ。