LESSON / WP LOAD

WordPress移行で動かすデータを理解する

ファイル、データベース、wp-config.php、URL置換の関係を理解してから移行を始めます。

目安 25分 コース進捗 0 / 7

GOAL

このレッスンでできるようになること

  • WordPress移行で必要なファイルとデータベースを説明できる
  • URL置換でシリアライズデータへ配慮する理由を理解できる

WordPressサイトは、複数の場所へ情報が分かれています。移行作業では、各データの役割を理解して同じ組み合わせで本番へ移します。

移行する対象を整理する

WordPress移行では、ファイルだけでなく投稿や設定が入ったデータベースも移します。

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の役割」の仕組みや関係を確認できます。

「wp-config.phpの役割」の仕組みや関係を示す図
「wp-config.phpの役割」の仕組みと関係

URLを単純な文字列として扱えない場合

WordPressのデータベースには、配列やオブジェクトをシリアライズした形式で保存するデータがあります。その中のURLを一般的なテキスト置換だけで変更すると、文字数の情報が合わずデータが壊れる場合があります。

次の図では、「URLを単純な文字列として扱えない場合」の仕組みや関係を確認できます。

「URLを単純な文字列として扱えない場合」の仕組みや関係を示す図
「URLを単純な文字列として扱えない場合」の仕組みと関係

URLの変更には、シリアライズされたデータを扱えるWordPress向けの移行機能やWP-CLIなどを使います。実行前にバックアップを取得し、置換対象と置換件数を確認してください。

URL置換はWordPress対応の方法で行う

データベース内には長さ情報を含むシリアライズデータがあるため、SQLの単純な文字置換で壊れる場合があります。WP-CLIのwp search-replaceなど、WordPressのデータ構造へ対応した方法を使います。

次の図では、「URL置換はWordPress対応の方法で行う」の仕組みや関係を確認できます。

「URL置換はWordPress対応の方法で行う」の仕組みや関係を示す図
「URL置換はWordPress対応の方法で行う」の仕組みと関係

公開順序を理解する

  1. 現在のサイトをバックアップする
  2. 本番用データベースを準備する
  3. WordPressのファイルを配置する
  4. データベースをインポートする
  5. 本番用の接続情報を設定する
  6. URLを安全な方法で置換する
  7. DNSとSSLを設定する
  8. パーマリンク、キャッシュ、主要機能を確認する

利用する移行ツールによって、ファイル転送やURL置換が自動化されることがあります。それでも、何が移され、問題が起きたときにどこへ戻すかは理解しておく必要があります。

移行中に変化する機能

フォームから送信されるメール、予約処理、外部API、アクセス解析、キャッシュは、サーバーやURLが変わると動作が変わる場合があります。画面表示だけで移行完了と判断しません。

公開中のサイトを移す場合は、移行中に追加された投稿や注文が失われないよう、更新を止める時間と作業範囲を決めます。

CHECK POINT

完了条件