XserverからWpX Speedへサーバー移転を行いました。
軽い気持ちでAll in One WP Migraitonで移転を行ったのですが、ドハマりしたのでメモしておきます。
Xserverのスペックアップにより、WpX SpeedはXserverと差別化が難しくなってきており、今からWpXを選ぶ理由は無いでしょう。
移転元の環境(Xserver)
- 一般的なWordpressサイト
- 公開ディレクトリのサブディレクトリ/wp/をルートで公開
- ファイル一式+DBの合計サイズは2GB以上
移転先の環境(WpX)
- WordPressを公開ディレクトリのルートにインストール(初期状態)
トラブル事象
- All in One WP Migraitonがデータベースの復元の最後で94%で止まる
- そのままサイトを表示させると500エラー
- 何度やっても同じ所で止まる
推定される原因
All in One WP Migrationは、データベースの復元時に、siteurlとhomeurlを書き換える作業が行われる。
その時点で、WpXがエラーを吐いてAll in One WP Migrationが引っかかってる感じ。
サブディレクトリにインストールされたWorpdressサイトをルート公開していたサイトから移転したことに起因するトラブルと推定。
WpXはサブディレクトリにWordpressをインストールすると動作しないことが明記されているので、その辺も影響しているのかもしれない。
Xserver⇒WpXへのAll in One WP Migrationでの移転はトラブルが起きたのは今回が初めてであり、移転元の構造が特殊だったことが影響していると思われる。
対処方法
移転元のsiteurlとhomeurlを変更(どちらもサブディレクトリ型式に戻す)すれば良さそうだけど、それは出来ない状況(未確認)。
All in One WP Migraionは使わずにUpdraftPlusとBetter Search Replaceの組み合わせで対処した。
UpdrafPlusで復元すると、siteurlとhomeurlが移転元のままなので、移転先では不整合が起きてサイトが表示できなくなる。
wp-config.phpでsiteurlとhomeurlを書き換える、もしくは、DBからをsiteurlとhomeurlを直接書き換えればサイトは表示できる。
その後、Better Search ReplaceでDB内部のパスを書き換えれば、正常に移転できた。
移転後のトラブル
WpXに移転すると動かないプラグインがいくつかあった。
PHPのバージョンとかの違いではなく、純粋にWpX Speedの制限に引っかかって動かなかった。
メンテナンス用のプラグインだったのでひとまず使わないことで対処。
まとめ
WpX Speedはかなり制限が強いサーバーなので、Xserverなのどの自由度の高いサーバーから移転する場合は、トラブルが多いので要注意。