WordPressサイトは、複数の場所へ情報が分かれています。移行作業では、各データの役割を理解して同じ組み合わせで本番へ移します。
移行する対象を整理する
WordPress移行では、ファイルだけでなく投稿や設定が入ったデータベースも移します。

WordPressの移行では、ファイル、データベース、環境設定を新しいサーバーへ移します。さらに、ローカルURLで保存されたデータを公開URLへ置き換えます。
- WordPress本体、テーマ、プラグイン、画像などのファイル
- 投稿、固定ページ、設定などのデータベース
- データベース接続情報などの環境設定
- ローカルURLから本番URLへの置換
- ドメイン、DNS、SSLの設定
ファイル側にあるもの
- WordPress本体
wp-content/themesのテーマwp-content/pluginsのプラグインwp-content/uploadsのメディア
データベース側にあるもの
- 投稿・固定ページ・メニュー
- サイトURLと各種設定
- ユーザー情報
- プラグインやテーマが保存した設定
wp-config.phpの役割
wp-config.phpにはデータベース名、ユーザー名、パスワード、ホスト名などがあります。本番環境の情報と一致しなければWordPressはデータベースへ接続できません。
次の図では、「wp-config.phpの役割」の仕組みや関係を確認できます。

URLを単純な文字列として扱えない場合
WordPressのデータベースには、配列やオブジェクトをシリアライズした形式で保存するデータがあります。その中のURLを一般的なテキスト置換だけで変更すると、文字数の情報が合わずデータが壊れる場合があります。
次の図では、「URLを単純な文字列として扱えない場合」の仕組みや関係を確認できます。

URLの変更には、シリアライズされたデータを扱えるWordPress向けの移行機能やWP-CLIなどを使います。実行前にバックアップを取得し、置換対象と置換件数を確認してください。
URL置換はWordPress対応の方法で行う
データベース内には長さ情報を含むシリアライズデータがあるため、SQLの単純な文字置換で壊れる場合があります。WP-CLIのwp search-replaceなど、WordPressのデータ構造へ対応した方法を使います。
次の図では、「URL置換はWordPress対応の方法で行う」の仕組みや関係を確認できます。

公開順序を理解する
- 現在のサイトをバックアップする
- 本番用データベースを準備する
- WordPressのファイルを配置する
- データベースをインポートする
- 本番用の接続情報を設定する
- URLを安全な方法で置換する
- DNSとSSLを設定する
- パーマリンク、キャッシュ、主要機能を確認する
利用する移行ツールによって、ファイル転送やURL置換が自動化されることがあります。それでも、何が移され、問題が起きたときにどこへ戻すかは理解しておく必要があります。
移行中に変化する機能
フォームから送信されるメール、予約処理、外部API、アクセス解析、キャッシュは、サーバーやURLが変わると動作が変わる場合があります。画面表示だけで移行完了と判断しません。
公開中のサイトを移す場合は、移行中に追加された投稿や注文が失われないよう、更新を止める時間と作業範囲を決めます。