WordPressのバックアップを取ってくれ、復元できるプラグイン「All-in-One WP Migration」。これを活用してローカル→リモートサーバーへの移設をしようとしたのですが、無料範囲でのインポートファイル容量が32MBなことに引っかかりました。
初回のエクスポートで500MB超でしたので完全アウトです。
抜け道はあるみたいで先にいくつか紹介しておくと
こちらは古いバージョンをインストールしてプラグインのコードを書き換える方法ですね。
該当箇所の最大容量の数字を変更するだけなので容易です。
こちらは拡張プラグインが無料の時代にダウンロードしていた人限定なので使えませんでした。
というわけで、どちらも正攻法ではないように思えるので、自分なりにどうすればスムーズに移設ができるかを確認しながら作業してみました。
結論から言うとこのプラグインを利用する意味はあまりなかったように思えますが、サイトによっては部分的にエクスポートへ含めることができるので、手順を残しておきます。
不要なファイルやプラグインを削除する
エクスポート時にファイルサイズが大きくなってしまうものはいくつかありますが、まずは不要なファイルの削除をしました。
・メディアにアップされた使っていない画像などのファイル
・使用していないもしくは一時的に使っていたプラグイン
・使用していないテーマ
・テーマファイル内の使用していない画像などのファイル
・テストの投稿
私は上記のものを削除しましたが、まだ215MBほどありました。
エクスポートするファイルを取捨選択
次はエクスポートするファイルを除外するようにしました。こちらを行うと完全に移設できるわけではないので、一部は手作業での作用になります。プラグインの「エクスポート」画面から「高度なオプション」から除外する項目を指定します。
どれを外したらたくさん減るかはサイト自体で変わると思いますが、私はなかなか無料範囲内まで容量削減ができなかったので下記のものを除外しました。
・スパムコメント
・投稿リビジョン
・メディアライブラリ
・テーマ
・必須プラグイン
・プラグイン
ほとんどですね・・・。これか除外した部分を手動で移設していきますが、スパムと投稿リビジョンは必要なかったので今回は除外します。
テーマファイルの移設
プラグインでエクスポートしたファイルをインポートした後に、公開側のサイトを見るとテーマファイルがない状態なのでThe theme directory "テーマファイル名" does not exist.
とエラーが表示されていました。
今回は有料のテーマファイルと子テーマを使っていたので両方をアップロードしたところ、テーマが適用されて表示されました。
プラグインがまだ移設されていないため表示崩れやエラーになる部分もあったのでアップします。
テーマファイルのありかは下記になります。
/wp-content/themes
プラグインの移設
index.php
やall-in-one-wp-migration
ディレクトリは必要ないと思いますので、その他のプラグインをアップロードしました。やっていて思いましたが、プラグインでエクスポートしたデータをインポートする前に手動での移設をやっておいた方がいいですね。(反省)
プラグインファイルのありかは下記になります。
/wp-content/plugins/
メディアライブラリの移設
データベースは移設できているので「メディア」のページにアクセスすると、登録されている画像の一覧化はされていました。画像ファイル自体は存在しなかったので、サムネイルが非表示の状態です。SFTPで接続してファイルをアップしましたところ、サムネイルもサイト内画像もアップされました。
メディアライブラリのファイルのありかは下記になりますので、リモートサーバーの同ディレクトリに全部のファイルをアップしましょう。
/wp-content/uploads
パーマリンクの設定
ファイルのアップは終了したのですが、下階層のページに移動したところリンク切れが発生している状態でした。管理画面の「パーマリンク」の設定を確認すると、ローカル環境と同等になっていなかったので書き換えました。
おわりに
以上で足りないファイルのアップロードが完了したので確認作業に移ります。WEBサイト側や管理画面の表示も問題なく、登録してあるデータも無事に移設されているようでした。
まだざっと確認している段階なので、このあとチームで確認して移設できていない部分がありましたら本記事に追加していきたいと思います。
正直言うと、これだけ手動でやっているとプラグインの意味あんまりなくて、データベースをダンプしてきてやった方が早そうですね。。。。次からはそうします。