WordPressでのWeb制作において、サイトの状態をまるっと移行できるAll-in-One WP Migrationは特に重宝するツールです。
新規サイトを1から作っていて、クライアントさんから途中で過去のデータベースを使いたい等の要望が発生した時に、非常に困ることがあります。
All-in-One WP Migrationはデーターベース以外のデータは結合できるのですが、データベースはまるっと置換してしまうので、異なるサイトを結合する場合は、プラグインを使っての移行が難しくなります。
SQLに強ければ、コマンドを叩いて結合できるかもしれませんがバックエンドの操作が苦手な場合は、個別の種類ごとにデータをエクスポートして、結合する方法があります。
本記事では新規サイトに過去のサイトのデータを結合する方法を紹介いたします。
WordPressで新規サイトに過去のサイトのデータを結合する方法
今回は新規サイトをフルスクラッチ(1から作成)していて、途中で昔のサイトのデータを結合して欲しいという依頼を想定しています。
実際にSWELLのテーマでその対応をしてみました。
その記録です。
昔のサイトのデータを使って対象のサイトを構築する
リプレイス(移行)するための仮サイトを用意します。
スタートは昔の方のサイトのデータをAll-in-One WP Migrationを使って移行します。
この状態から新規サイトのデータを移植するという方法を取ります。
データベース以外のデータを移行する
まずAll-in-One WP Migrationと拡張機能のAll-in-One WP Migration-Unlimited-Extensionを使用して、
データベースをエクスポートしない (SQL)にチェックを入れてエクスポートします。
あとは最初に構築した昔のサイトにデータをインポートすればOKです。
この作業で以下のデータが追加できます。
- テーマ
- メディア
- プラグイン
投稿記事・固定記事・カスタム投稿記事の移行
いよいよデータベースに関連するデータの移行です。
新サイトにExport media with selected contentというプラグインを使って、投稿記事・固定記事・カスタム投稿記事のデータをエクスポートします。
プラグインを入れてツールのエクスポートメニューを開きます。
この時、画像データがあるデータに対してはExport media with selected contentにチェックを入れます。
出力したxmlデータを同じくツールからインポートを選択。
それぞれの種類の記事データをインポートしましょう。
以上で記事のデータの移行が完了です。
ナビゲーションメニューの移行
新サイトにWPS Menu Exporterというプラグインを入れましょう。
先ほどと同様にツール>エクスポートからナビゲーションメニューの項目を選択してxmlデータをエクスポート
あとは対象サイトにインポートするだけです。
以上でメニュー周りのデータが移行できます。
テーマのカスタマイズ設定の移行
新サイトにCustomizer Export/Importというプラグインを入れます。
カスタマイズメニューを開いて、エクスポート / インポートメニューから書き出しを選んでdatデータをエクスポートします。
そして対象サイトに同じプラグインを入れて、インポートすれば完了です。
移行できないデータの設定
上記でほとんどのデータの移行ができますが、管理メニュー内のテーマの設定などは移行できません。
出るのでこれは見比べながら設定を変更します。
具体的にいうとSWELLのテーマのSWELL設定を今回、修正しました。
文字置換
最後にSearch RegexのプラグインでURLのチェックをしましょう。
URL周りは対象サイトのURLに合わせて、文字置換をして修正しましょう。
要するに対象サイトのURLで統一しておきます。
これは最後にAll-in-One WP Migrationを使って移行する時に自動で文字置換できるようにするためです。
確認
あとはサイトの状態を見て、諸々おかしいところがないかチェックしましょう。
いくつかのプラグインを使うことで、ほとんどはツールで結合できているはずです。
本番サイトに移行
結合したサイトの状態を確認を終えたら、最後にAll-in-One WP Migrationで移行しましょう。
まとめ
新規サイトを作成して、途中で昔のサイトのデータを移行したい。
または新規サイトを製作中に、本番サイトも更新されていて、最新の状態を反映して欲しい
というような要望がたまにあります。
All-in-One WP Migrationではデータベースは置換されてしまうので、それに関連するデータは本記事のように
要素ごとにエクスポートしてインポートするということになります。
もちろんバックエンドに強い人は差分をマージする手段もあると思いますが、黒い画面でコマンドを叩くのが苦手な人は
このプラグインを使い分けてデータをインポート、エクスポートする方法を試してみてください。