このレッスンでは手動移行の全体を進めます。サーバー独自の移行機能を使う場合でも、ファイルとデータベースの両方が移ることを確認してください。
作業開始前の確認
本番移行は、作業前確認から公開後の確認まで順序を決めて進めます。

移行元と移行先を取り違えると、正しいサイトを上書きする危険があります。管理画面のサイト名だけで判断せず、URL、サーバー名、データベース名、対象フォルダーを記録してから作業します。
- 移行元と移行先のURL
- アップロード先の絶対パスまたは公開フォルダー
- 本番データベース名、ユーザー名、ホスト名
- 移行前バックアップの保存場所
- 作業を中止して復元する条件
本番の公開フォルダーを確認する
既存ファイルがある場合は最初にバックアップします。ドメインが参照する公開フォルダーと、WordPressを置く場所が一致していることをサーバー管理画面で確認します。
ファイルをアップロードする
SFTPで本番サーバーへ接続し、WordPressのファイルを決めた公開フォルダーへ転送します。途中で接続が切れた場合は、失敗したファイルを確認して再転送します。
次の図では、「ファイルをアップロードする」で行う操作の流れを示しています。

wp-content/uploadsは画像が多く、転送漏れが起こりやすい場所です。ファイル数と容量を比較し、テーマやプラグインだけでなく画像もそろっているか確認してください。
本番データベースへインポートする
本番用に作成した空のデータベースへ、ローカルから取得したSQLファイルをインポートします。既存テーブルがある場合は、上書きしてよいデータベースかを再確認します。
次の図では、「本番データベースへインポートする」で行う操作の流れを示しています。

大きなSQLファイルは管理画面から取り込めない場合があります。その場合は、サーバー会社が用意する方法やコマンドラインを使います。エラーが出たまま同じインポートを繰り返さず、文字コード、容量上限、権限を確認します。
wp-config.phpを本番へ合わせる
次の図では、「wp-config.phpを本番へ合わせる」の仕組みや関係を確認できます。

define('DB_NAME', '本番のデータベース名');
define('DB_USER', '本番のユーザー名');
define('DB_PASSWORD', '本番のパスワード');
define('DB_HOST', '本番のホスト名');本番用の接続情報を設定する
WordPressが本番データベースへ接続できるように、データベース名、ユーザー名、パスワード、ホスト名を設定します。認証情報を間違えると「データベース接続確立エラー」になります。
次の図では、「本番用の接続情報を設定する」で行う操作の流れを示しています。

設定ファイルの権限を必要以上に広げず、認証情報をGitへ追加しません。デバッグ表示も本番向けの設定にします。
認証情報を公開しない
wp-config.phpを画面共有、記事、Gitへ含めません。例に使う値は必ず架空のものにします。
表示できないときの切り分け
- HTTPステータスと画面のエラー文を記録する
- Webサーバーが正しい公開フォルダーを見ているか確認する
- 必要なWordPressファイルが転送されているか確認する
- データベース接続情報とインポート結果を確認する
- PHPとWebサーバーのエラーログを確認する
- 原因が解消できない場合はバックアップから戻す
この段階ではローカルURLが残っているため、リンクや画像が正しく表示されない場合があります。管理画面へ入れる状態を確認した後、次のレッスンでURLを置き換えます。