資料
詳細
WordPressにおいて作業を始める時、最終的にサーバにアップロードする時など、必ずと言っていいほど発生するのが、WordPressのデータの引越し作業です。
プラグインを利用して簡単に移動する方法から、ファイルとデータをそれぞれ手動で移動させる方法まで、移動する環境間の状況次第で最適な方法は異なります。
今回はWordPressのデータの引っ越し方法について、いくつかのパターンをご紹介します。
■ こんな方にオススメ
- WordPressをローカルと本番サーバでうまく同期したい方
- 開発環境から本番への反映方法に自信が無い方
■ 講座内容
- なぜ移動する必要があるのか
- 本番からローカルへの移動
- プラグインを利用する場合
- ファイルとデータを手動で取得して移動する場合
- ローカルから本番への移動
- ローカル環境構築時と、本番環境の差異が小さい場合の移動
- ローカル環境構築時と、本番環境の差異が大きい場合の移動
- プラグインを利用した部分的な移動
対象:WordPress ユーザー
日時:2024年11月20日(水) 日本時間 午後 21 時
なぜ移動する必要があるのか
- 手元のローカル環境で作ったデータを本番のサーバに上げたい
- 本番のサーバの情報を、手元のローカル環境に取り込みたい
- 本番環境にあげるまえに、ステージング環境など、近い環境で試したい
こういった場合に、WordPressのデータを引っ越す元の環境から新しい環境に引っ越す必要があります。
本番からローカルへの移動
プラグインを利用する場合
- All-in-One WP Migration and Backup
- https://wordpress.org/plugins/all-in-one-wp-migration/
- 最もてっとり早く、作業がシンプル
- ファイルの容量が大きい場合は、有料のエクステンションを購入する必要あり
- 現在:年間69ドル
- 手順
- 移動元と移動先の両方にWordPressと、このプラグインをインストールしておく
- 移動元よりエクスポート
- 移動先でインポート
- 注意点
- WordPressのコアファイルは動かない
- まったく同じにするためには、コアのVersionは揃えておく必要あり
- PHPやMySQL,Webサーバなどミドルウェアは各サーバ環境に依存
- WordPressと同階層にある、別のフォルダは動かないため必要に応じて、手動で動かす必要あり
- 画像メディアが大きい場合
- エクスポート時に、メディアの除外が可能
- 画像のみはwp-content/uploadsに手動でアップロード。という方法も考えられる
ファイルとデータを手動で取得して移動する場合
- 移動する項目
- ファイル
- ドキュメント直下の全てのファイルを取得する必要あり
- DB
- MySQLに保存されている該当のDBのデータを取得する
- ファイル
- データの取得
- SSHもしくはSFTPなどで接続し、ルートディレクトリ以下のファイル全てダウンロードする
- 圧縮してからダウンロードする場合
- tar -zcvf hoge.tar.gz directory
- 圧縮してからダウンロードする場合
- PHPMyAdminなど、DBを確認できる画面より、DBをエクスポートしてダウンロードする
- WP CLIを利用する場合(DBの配置場所に注意)
- wp db export ~/hoge.sql
- https://developer.wordpress.org/cli/commands/db/
- WP CLIを利用する場合(DBの配置場所に注意)
- SSHもしくはSFTPなどで接続し、ルートディレクトリ以下のファイル全てダウンロードする
- データの配置
- 一旦WordPressが動く環境を作る
- DBとWordPressを紐づけておく
- このときにwp-config.phpができる
- DBとWordPressを紐づけておく
- wp-config.php以外のファイルをすべて、アップロードする
- DBをインポートする
- CLIを利用する場合
- wp db import hoge.sql
- https://developer.wordpress.org/cli/commands/db/
- PHPMyADMINがある場合
- そこからインポート
- CLIを利用する場合
- DBに有る全てのレコードのドメインを元から先に変更する
- https://hoge.com → https://fuga.com
- 末尾に/は入れない
- CLIを利用する場合 (一旦試してから、本実施)
- 一旦WordPressが動く環境を作る
$ wp search-replace 'http://localhost:8888' 'http://localhost:8889' —dry-run
$ wp search-replace 'http://localhost:8888' 'http://localhost:8889'
$ wp search-replace 'http://localhost:8889' 'http://localhost:8888'
- https://developer.wordpress.org/cli/commands/search-replace/
- プラグインでDBのドメインを置換する場合
- Search Regex
- 注意)URLを間違って変えてしまった場合、このプラグインが使えなくなり、戻せなくなる場合があります。
WP CLIについて
- WordPressにおけるファイル操作を簡単にしてくれるコマンドツール
- 非常に便利で協力です、最近はレンタルサーバなどでも利用できるケースが多いです。
- インストールの仕方など
お気づきだと思いますが
- そうです、なかなかに大変です。
- 必要な知識や技術
- サーバへの接続
- サーバ内での操作
- プラグインが何をしているかの理解
- MySQLの操作
- ファイルのzipと展開
- コンソール操作
- WP CLIの理解
- 何かしら問題が起こった際に復旧できる力
- 等
ただ、これらを作業をしないと、手動では引っ越しが難しいという事実をまずは理解いただければと思います。
ローカルから本番への移動
ローカルから本番への移動において考えること
- ローカルにデータを取得したときと、本番に戻すときの間で、本番側が進んでいる部分をどう吸収するか?

- 本番の情報をあらためて、ローカルに取り込み、ローカルで完成させてものを本番に反映される
- 本番でのサイト停止期間が少なく済む(ほぼ無しにもできる)

- もしくは、本番にローカルの改修をアップロードして、本番で更新作業を行う
- 本番でのサイト停止期間が多くなる場合がある

- 部分的なカスタマイズ等であれば後者、大きなリニューアルなどであると、前者を検討する場合が私は多いです。
- その他、公開作業ということについては別サーバを準備してDNSのみを変更するケースもありますが、今回、その説明は省きます。
ローカル環境構築時と、本番環境の差異が小さい場合の移動
- この場合は、差分を手動で動かすことも検討に入れる
- 注意)記事のURLにIDを利用している場合は、この方法は本番への手動作業でしかできない。ローカルに手動で追加移動した場合に、IDが変わってしまい、URLが異なる場合があるため
ローカル環境構築時と、本番環境の差異が大きい場合の移動
- 本番公開直前にあらためて、本番のデータを取得する、それを元に追加となるこれまでの作業を追加し、公開する
- 注意)この場合、あらためて本番データを取得してから作業した後のデータを確認する作業を挟むかどうかによって、公開までの期間が変わる
プラグインを利用した部分的な移動
- 一部の記事データ移行の場合はこちらがおすすめ
- Import any XML or CSV File to WordPress
- Export any WordPress data to XML/CSV
- エクスポート時にもインポート時にも、かなり詳細な内容まで設定が可能

- CSVを元に作業ができます。
- 使い方