Amazonで商品を見る セール会場へ

WordPress│別サイトの投稿・画像・メニューを追加移行する手順

この記事は種類別のエクスポート・インポートの作業記録であり、2つのデータベースを自動で安全にマージする方法ではありません。

WordPressでのWeb制作において、サイトの状態をまるっと移行できるAll-in-One WP Migrationは特に重宝するツールです。

新規サイトを1から作っていて、クライアントさんから途中で過去のデータベースを使いたい等の要望が発生した時に、非常に困ることがあります。

サイト全体の復元と、既存サイトへ投稿を追加するインポートは別の処理です。

SQLに強ければ、コマンドを叩いて結合できるかもしれませんがバックエンドの操作が苦手な場合は、個別の種類ごとにデータをエクスポートして、結合する方法があります。

本記事では新規サイトに過去のサイトのデータを結合する方法を紹介いたします。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

WordPressで新規サイトに過去のサイトのデータを結合する方法

今回は新規サイトをフルスクラッチ(1から作成)していて、途中で昔のサイトのデータを結合して欲しいという依頼を想定しています。

実際にSWELLのテーマでその対応をしてみました。

その記録です。

昔のサイトのデータを使って対象のサイトを構築する

リプレイス(移行)するための仮サイトを用意します。

スタートは昔の方のサイトのデータをAll-in-One WP Migrationを使って移行します。

この状態から新規サイトのデータを移植するという方法を取ります。

データベース以外のデータを移行する

まずAll-in-One WP Migrationと拡張機能のAll-in-One WP Migration-Unlimited-Extensionを使用して、

データベースをエクスポートしない (SQL)にチェックを入れてエクスポートします。

All-in-One WP Migrationでデータベースをエクスポートしないにチェックを入れてエクスポートする設定画面。

同名ファイルや既存設定が上書きされないか、必ず複製した検証環境で比較します。

この作業で以下のデータが追加できます。

  • テーマ
  • メディア
  • プラグイン

投稿記事・固定記事・カスタム投稿記事の移行

いよいよデータベースに関連するデータの移行です。

新サイトにExport media with selected contentというプラグインを使って、投稿記事・固定記事・カスタム投稿記事のデータをエクスポートします。

プラグインを入れてツールのエクスポートメニューを開きます。

ツールのエクスポートメニューで、Export media with selected contentにチェックを入れて記事データをエクスポートする画面。

この時、画像データがあるデータに対してはExport media with selected contentにチェックを入れます。

出力したxmlデータを同じくツールからインポートを選択。

それぞれの種類の記事データをインポートしましょう。

件数、著者、分類、添付画像、本文中のリンク先を照合してから、投稿の移行を判定します。

ナビゲーションメニューの移行

新サイトにWPS Menu Exporterというプラグインを入れましょう。

先ほどと同様にツール>エクスポートからナビゲーションメニューの項目を選択してxmlデータをエクスポート

ツール内のエクスポート画面で、ナビゲーションメニューを選択してエクスポートを行う操作画面。

あとは対象サイトにインポートするだけです。

以上でメニュー周りのデータが移行できます。

テーマのカスタマイズ設定の移行

新サイトにCustomizer Export/Importというプラグインを入れます。

カスタマイズメニューを開いて、エクスポート / インポートメニューから書き出しを選んでdatデータをエクスポートします。

Customizer Export/Importのメニューで、書き出しを選んで設定データをエクスポートする画面。

そして対象サイトに同じプラグインを入れて、インポートすれば完了です。

移行できないデータの設定

上記でほとんどのデータの移行ができますが、管理メニュー内のテーマの設定などは移行できません。

出るのでこれは見比べながら設定を変更します。

具体的にいうとSWELLのテーマのSWELL設定を今回、修正しました。

文字置換

最後にSearch RegexのプラグインでURLのチェックをしましょう。

URL周りは対象サイトのURLに合わせて、文字置換をして修正しましょう。

投稿メタデータ情報(ナビゲーションメニュー)のURLは文字置換後、エラーが出たことがあるので、ここは手動で変更したほうがいいかもしれません。


エラーが出た場合は反復インポートによる重複を避け、変更前の検証環境へ戻して原因と対象項目を確認します。

要するに対象サイトのURLで統一しておきます。

これは最後にAll-in-One WP Migrationを使って移行する時に自動で文字置換できるようにするためです。

確認

あとはサイトの状態を見て、諸々おかしいところがないかチェックしましょう。

いくつかのプラグインを使うことで、ほとんどはツールで結合できているはずです。

本番サイトに移行

結合したサイトの状態を確認を終えたら、最後にAll-in-One WP Migrationで移行しましょう。

プラグイン更新によるデータベース変更も、先に検証環境で試し、移行先と同じバージョン構成で確認します。


インポートが止まった場合はログと復元手順を確認し、本番データを削除してやり直す操作は行いません。

※この時にアップデート前のサイトのデータがないと、また最初からアップデートする前のサイト構築をし直すことになりますし、その間に失敗した本番サイトは表示されなくなるということにもなりかねません。

まとめ

新規サイトを作成して、途中で昔のサイトのデータを移行したい。

または新規サイトを製作中に、本番サイトも更新されていて、最新の状態を反映して欲しい

というような要望がたまにあります。

All-in-One WP Migrationではデータベースは置換されてしまうので、それに関連するデータは本記事のように

要素ごとにエクスポートしてインポートするということになります。

もちろんバックエンドに強い人は差分をマージする手段もあると思いますが、黒い画面でコマンドを叩くのが苦手な人は

このプラグインを使い分けてデータをインポート、エクスポートする方法を試してみてください。

ID衝突と差分更新の確認

投稿IDや添付IDは移行先で変わる場合があるため、独自メタに保存したID、ブログパーツ参照、内部リンクを個別に照合します。

画像ファイルをコピーしただけでは、メディアライブラリの添付投稿とメタ情報は登録されません。

XMLへ添付情報を含めても、元画像を取得できないとファイルの移行は完了しません。

両サイトの更新を止める時間と基準日時を決め、移行準備後に追加された投稿・コメントを取りこぼさない手順を用意します。

本番反映前にはバックアップからの復元を試し、投稿・分類・画像・メニューの件数と表示を照合します。

問題があればデータとファイルを同じ時点のバックアップへ戻します。

過去の画面は操作記録であり、今回の改修で実サイトの統合や最新プラグインによる復元試験を行ったものではありません。

  • URLをコピーしました!

実装を任せたい方へ

WordPressのカスタマイズ代行

ブロックの追加、テーマの改修、管理画面の調整など、記事で紹介している内容の実装を承ります。1時間 ¥8,000〜(税込)。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次