WordPressのステージングサイトを本番サイトへ移行する

WP STAGINGを使ってWordPressサイトを作成していると、本番サイトへWordPressを移行したくなる場面がよくあります。
このステップバイステップガイドでは、WordPressを本番サイトへ手動で移行する方法を紹介します。

データベースやファイルの扱いに慣れている技術的な知識があることを確認してください。このチュートリアルは分かりやすいですが、PROバージョンならワンクリックで「push changes」機能が使えるので、ステージングサイトを送り出すのははるかに簡単です。

したがって、WP STAGING | PROでWordPressのステージングサイトをワンクリックで自動コピーしたい場合は、代わりにこちらの記事をお読みください。

WP STAGINGの基本版でWordPressのステージングサイトを本番サイトへ変換する方法

このチュートリアルでは、WP STAGINGの基本版を使ってサイトを手動で移行する方法を解説します。

以下の手順を注意深く読み、示された手順をひとつも飛ばさないでください。サイトが 利用不能 になる恐れがあります!

手動の手順を行いたくない場合は、WP STAGING | PRO がステージングサイトを本番サイトへ送り出す方法を解説した下の動画をご覧ください。

WP STAGINGの無料版を使っており、プロにアップグレードするつもりがない場合は、このページの手順でステージングサイトを本番サイトに変換できます。WP Stagingの無料版で、ステージングサイトを本番サイトへコピーしてみましょう。

目標: このチュートリアルを読み終えると、既存のステージングサイトを本番ウェブサイトに変換できます。

制限事項: WP STAGING | PROと違って、手動プロセスではステージングサイトが利用不能になり、終了後に新しいものを作成する必要があります。

ステージングサイトをまるごと本番サイトへ移行する方法

このチュートリアルの前提条件:

  • 本番運用中のライブサイト1つ、例:https://host.com
  • 以前にWP STAGINGまたはWP STAGING | PROで作成したステージングサイトが1つあること。ステージングサイトは https://host.com/staging. のようなサブフォルダにあります。
  • ライブサイトで WP STAGING プラグインが有効化されていること。
  • ライブサイトで Search And Replace プラグインが有効化されていること。
    WP STAGING | PRO では不要)
  • ライブサイトにバックアッププラグインがインストールされていること。すでに WP STAGING を使っているなら必要ありません。最も効率的でモダンなバックアップソリューションのひとつがすでに付属しています。 (多くのバックアッププラグインより高速で、CPU負荷も低い)
作業を始める前にこの説明をよく読み、理解するように努めてください。手順を飛ばすと本番サイトを壊してしまう恐れがあります!

ステップ1 – ライブサイトとステージングサイトのバックアップ

まず、好きなバックアップツールで本番サイトとステージングサイト全体のバックアップを取ります。

巨大なサイトでデータベースの行数が数百万件あったり、バックアップ作成中の読み込み時間のスパイクを避けたい場合は、WP STAGING | PRO の利用を検討してください。最も洗練されたバックアップソリューションのひとつが標準搭載されています。

注: バックアッププラグインのファイル選択で、ステージングサイトのサブフォルダを選択して含めてください。これはステージングサイトをバックアップするために必要です。また、接頭辞 wpstg_ で始まるデータベーステーブルもすべて選択してください。

ステップ2 – ファイルをコピーする

FileZillaのようなFTPプログラムを使い、ステージングサイトのサブフォルダから wp-content/uploadswp-content/pluginswp-content/themes フォルダを本番サイトへコピーします。

FileZilla wp-content

ステップ3 – データベースを移行する

ステージングサイトのデータベースデータを本番サイトのデータベースが使うように移行するには、3つの方法があります:

  • オプション1:とても簡単: WP STAGING | PRO を使い、ワンクリックでステージングサイト全体を自動的にライブへクローンします。
  • オプション2 – 簡単: こちらのルートで、ステージングサイトのデータベーステーブルに対していくつかの手動の検索・置換を行い、WordPressに本番サイト用としてステージングのテーブルを使うよう指示します。ライブサイトのデータベーステーブルは上書きされず、データも削除されません。意図通りに動かない場合は、いつでも元のテーブルへ戻せます。ステップ3.1を参照してください。
  • オプション3上級:wp migrate DBのような専用のDB移行プラグイン、あるいはステージングのデータベースをライブへ移行できる他のプラグインを使います。

3.1. ステージングDBテーブルをライブデータベースに変換する

これは最も簡単で、変換プロセス後にライブサイトがステージングサイトのデータベーステーブルを使うことを気にしないなら、最もおすすめの方法です。

注:これを行うとステージングサイトは利用できなくなり、新しいものを作成する必要があります。

まず、ステージングデータベーステーブルに対して検索と置換を行う必要があります。

ステージングサイトへのパスを含むすべての文字列を見つけ、ライブサイトを指すパスに置き換えます。

幸い、この手順を手動操作なしで実行できる優れたプラグインがあります。まだの場合は、Search And Replace プラグインをインストールしてください。

次に、Tools > Search & Replace に進みます。

Better Search Replace WordPressプラグイン

ここではステージングサイトが http://yoursite.com/staging. にあると仮定します。

これはステージングサイトを開き、ブラウザのウィンドウで完全なURLを確認することで検証できます。

  • 次の文字列を search for 入力欄に入力します
//mysite.com/staging

下の文字列を Replace with 欄に入力します

//mysite.com

必ず 正確に 作業してください。文字列は寸分違わず入力します!

– URLの末尾にスラッシュを 付けないでください!
– 検索文字列に HTTP:// や https:// を追加しないでください

少しでもスペルミスがあると、ステージングサイトや本番サイトが 壊れます

次に、ステージングサイトのテーブル接頭辞で始まるすべてのテーブルを選択します。通常、これらのテーブルは接頭辞 wpstg[0]_ で始まります。

正しいテーブル接頭辞は、ステージングサイトの一覧で確認できます:

WP Stagingのテーブル接頭辞

古いバージョンのWP STAGINGを使っている場合は、ステージングサイトの wp-config.php を見てテーブル接頭辞を確認してください:

そのためには、FTPでサイトにログインして以下のファイルを開きます:

path_to_wordpress/staging_name/wp-config.php
他のテーブルは選択しないでください!
他のすべてのテーブルはライブサイトや他のステージングサイトに属しており、いかなる方法でも変更してはいけません!

次のステップでは dry-run(ドライラン)オプション を選択できます。これにより、実データを変更せずに検索と置換のプロセスを実行でき、指定した設定が正しいか、検索置換プラグインが期待通り動作しているかの良い指標になります。

Run Search/Replace ボタンをクリックします。

ドライランが成功したら、ドライランの選択を外し、再度検索と置換のプロセスを実行します。

データベースの値 wpstg_is_staging_site を削除する

次のステップは、サイトがステージングか本番のライブサイトかを定義するデータベースの値を削除することです。WP Stagingはこの値を使って認証画面を表示します。

phpMyAdminや adminer などのデータベース管理ツールを使い、ステージングサイトのデータベーステーブルから以下の値を検索します:

wpstg_is_staging_site

この値を削除するか、false に設定します。

WP Stagingデータベース

これに成功したら、あとはもう1つのステップで完了です:

wp-config.php を変更する

最後のステップは、WordPressのライブサイトに対し、ステージングサイトのデータベーステーブルを使うよう指示することです。

サイトへアクセスするためのFTPアカウントとFTPクライアントが必要です。私は FileZilla の利用をおすすめします。完全に無料でオープンソースです。

FTPクライアントでライブサイトにログインし、ライブサイトの設定ファイルを開きます。
ファイルは /path/to/wordpress/wp-config.php にあります。

WordPress wp-configファイル

右クリックでコンテキストメニューを開き、編集 を選んで編集モードでファイルを開きます。$table_prefix の値を、ステージングサイトで使われている値、例えば次のように更新します:

$table_prefix = 'wpstg1_';

エディタでの結果は次のようになります:

wp-configのテーブル接頭辞

これにより本番サイトに対し、ステージングサイトのすべてのデータベーステーブルを使うよう指示できます。

ライブサイトを開いてみると、ステージングサイトのすべての内容が表示されているのがわかります。

パーマリンクを有効にしたい場合は、管理ダッシュボードにログインし、設定 > パーマリンク設定 からパーマリンクを有効にしてください。

WordPressパーマリンク設定

これでライブサイトはステージングサイトのデータベースを使い、ステージングサイトのすべての内容がライブサイトへ移行されました。

最後のステップは、FTPで古いステージングのサブフォルダを削除することです:

path/to/wordpress/staging-name

重要: 本番サイトがステージングサイトのデータベーステーブルを使うため、完了後は新しいステージングサイトを作成する必要があります。
古いステージングサイトはもう使用できません!

おめでとうございます! ステージングサイトを正常にライブへ移行できました。

時間を節約してこれらの手順を完全に自動で済ませたい場合は、WP STAGING | PRO の購入をご検討ください。
プロ版は私たちの開発費用を賄うものであり、最高クラスのサポートが付いてきます!😊

関連記事

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。