WordPressサイトの更新や大幅な変更を行う場合、直接行うのは危険です。そこでステージングサイトの出番です。
ステージングサイトは、ライブサイトの完璧なクローンであり、メインサイトにデプロイする前に、変更を安全にテストし、トラブルシューティングを行い、更新を改良することができます。ステージングサイトを作成することで、ダウンタイムの可能性、壊れた機能、その他の複雑な問題を回避することができます。
WPBeginnerでは、ステージングサイトを使用して、ライブサイトで公開する前にサイトの更新をテストしています。
このステップバイステップのガイドでは、WordPressサイトのステージング環境を簡単に作成する方法をご紹介します。いくつかの異なる方法を取り上げますが、そのほとんどは数回クリックするだけで完了します。
ステージングサイトとは?
ステージングサイトは、ライブサイトのクローンであり、ライブサイトを作成する前に変更をテストするために使用されます。ステージングサイトは、本番サイトを壊さないようにエラーをキャッチするのに役立ちます。
以前はWordPressのステージングサイトを立ち上げるのはとても難しかったが、今では技術者でなくてもできるようになった。
多くのユーザーは、変更をテストするために、Windowsや MacコンピューターにWordPressをローカルにインストールします。更新が終わったら、ローカルホストからライブサーバーにアップロードします。
この方法の最大の問題は、ローカルホストでうまくいったことが、ライブサーバーでうまくいかなかったらどうするかということだ。
多くの場合、ローカルサイトとライブWordPressホスティングサービスサーバーは同じ環境で実行されていません。
ステージングサイトはWebホスティングサービスサーバー上にあり、ライブサイトと同じサーバー構成で動作するため、これらのエラーをすべて簡単に防ぐことができます。
ということで、WordPressのステージングサイトの立ち上げ方を見てみよう。
WordPressステージングサイトを簡単に作成する方法
WordPressのステージングサイトを作成する方法は複数あります。最も簡単なのは、ホスティングサービスにビルトインされているステージングサイト機能を使用することです。
最高のWordPressホスティングサービス会社のいくつかは、すでに1クリックステージングサイトを提供しています。もしあなたのサイトがホスティングサービスを利用しているのであれば、手間なく簡単にステージングサイトを作成することができます。
これらの一般的なホスティングサービスをお持ちでない場合は、プラグインを使用して(手動でも)WordPressステージングサイトを作成するためのソリューションもご用意しています。
より速く閲覧するために、以下のナビゲーションを使って、あなたに最も適したセクションにジャンプすることができます:
Bluehostでステージングサイトを作成する
Bluehostは最高のWordPressホスティングサービスの一つです。彼らはすべてのプランで迅速な1クリックステージングサイトソリューションを提供しています。
まず、Bluehostのダッシュボードに移動し、「マイサイト」セクションにアクセスする必要があります。
次に、「プラグイン」タブに切り替え、「Bluehostプラグイン」オプションの横にあるスイッチを切り替えます。
その後、WordPressサイトのダッシュボードに移動し、Bluehostの ” ステージングページにアクセスします。
次に「ステージングサイトを作成」ボタンをクリックする。
Bluehostはあなたのサイトのステージング環境を準備します。
それが完了すると、「ステージング・サイト」セクションが表示されるので、「現在編集中ではありません」にチェックを入れる。
ステージング・サイトへの切り替えを促すプロンプトが画面に表示されます。
ここから「Switch」ボタンをクリックする。
切り替えると、画面にステージングサイトで作業中であることを示すボタンが表示されます。
本番サイトへの影響を心配することなく、サイト制作を進めることができる。
Bluehostのステージングサイトからライブサイトへの変更のデプロイ
ステージングからライブサイトに変更をプッシュする準備ができたら、WordPress管理サイドバーからBluehost ” Stagingページに移動するだけです。
ここから、ステージングサイトの横にデプロイオプションのドロップダウンメニューが表示されます。ファイルのみ、データベースのみ、またはすべての変更をデプロイできます。
本当に〜してもよいですか?
その後、ドロップダウンメニューの隣にある「サイトをデプロイ」ボタンをクリックする。
ポップアップが表示され、ステージング・サイトを本番サイトにデプロイすることを確認するよう求められます。Deploy’ ボタンをクリックして続行します。
Bluehostは今、ライブサイトにステージングサイトのデプロイを開始します。サイトのサイズによっては、しばらく時間がかかる場合があります。
本番サイトオプションのラジオボタンをクリックして、本番サイトに戻り、変更を確認することができます。
本番サイトをステージングにクローンする
本番サイトに戻ると、そこで行った変更はステージングサイトに自動的に同期されません。
将来、ステージングサイトでさらにいろいろなことをテストしたい場合は、サイトを複製する必要があります。
これを行うには、Bluehostの ” ステージングページにアクセスし、 “ステージングにクローン “ボタンをクリックする必要があります。
Bluehostはその後、ステージングウェブサイトにライブウェブサイトの最新の変更をクローンします。その後、テストと開発のためのステージングサイトに切り替えることができます。
SiteGroundでステージングサイトを作成する
SiteGroundは、GrowBigとGoGeekプランで1クリックステージング機能を提供しているWordPressホスティングサービスのトップ企業です。
お客様のサイトがSiteGroundでホスティングサービスされている場合、このようにステージングサイトを設定します。
まず、SiteGroundのダッシュボードにログインし、ウェブサイトタブに切り替える必要があります。ここから、サイトの下にあるサイトツールを選択する必要があります。
次の画面では、左の列からWordPress ” Stagingメニューをクリックする必要があります。
ここからサイトを選択し、ステージングコピーの名前を入力します。
作成」ボタンをクリックして続行すると、Sitegroundがあなたのサイトのステージングコピーを作成します。
その後、’Go to protected URLs’ボタンをクリックして、ステージングサイトをパスワードで保護し、プライベートに保つことができます。
次の画面で、SitegroundはステージングサイトのURLとパスを自動的に入力します。
ステージングサイトを保護するために使用するユーザー名とパスワードを入力する必要があります。
保護」ボタンをクリックして設定を保存します。
WordPress ” Stagingページに戻り、ステージングウェブサイトの横にある ‘Log in to Admin Panel’ ボタンをクリックします。
SiteGroundがステージングサイトのWordPress管理エリアを開きます。このステージングサイトで変更をテストできます。
変更をライブサイトに戻す
ステージングサイトで変更を試したら、本番サイトにマージしたくなるかもしれません。
SiteGroundならこれも簡単だ。
左のカラムからWordPress ” ステージングメニューをクリックします。次に、ステージングサイトの横にある「ステージングコピーの管理」セクションの3つの点のメニューをクリックします。
メニューには2つのデプロイオプションが表示されます。Full Deploy」または「Custom Deploy」オプションを選択できます。
フルデプロイ’オプションは、ステージングサイトからライブサイトにすべてをマージします。カスタムデプロイ」では、マージするファイルやデータを選択できます。
よくわからない場合は、「フルデプロイ」オプションを選択してください。
SiteGroundは、ステージングサイトをライブサイトにコピーします。
ライブをステージングサイトに統合する
ライブサイトに加えた変更は、ステージングサイトには自動的にコピーされません。
ステージングサイトで作業が必要になるたびに、上記のプロセスを繰り返し、新しいステージングサイトを作成します。
WP Engineでステージングサイトを作成する
WP Engineは世界最高のWordPressマネージドホスティングサービス会社です。マネージドWordPressホスティングサービスは、ホスティングサービスプロバイダーが更新、バックアップ、セキュリティ、パフォーマンスを管理するWordPressサイトのコンシェルジュサービスです。
WP Engineは、すべてのプランでワンクリックのステージングソリューションを提供しています。WP Engineを使用してサイトをホスティングサービスしている場合は、この方法でサイトのステージング環境をセットアップします。
まず、WP Engineのダッシュボードにログインする必要があります。次に、「サイト」ページに移動し、サイトをクリックして選択します。
これでサイトのダッシュボードが表示されます。
ここで、左カラムの’Add Staging’リンクをクリックするか、上部のサイト名の下にある’Add Staging’リンクを選択する必要があります。
これで「環境の追加」画面になります。
ステージング環境をどのように進めるかを選択するよう求められます。
それぞれのオプションの設定は以下の通りだ:
- Start with a new blank site(新しい空白のサイトから始める)」は、新しい空のサイトを作成します。
- Start with a guided experience」は、ガイド付き体験とデモコンテンツを含む新規サイトを作成します。
- 既存の環境をこのサイトにコピー」は、本番環境または開発環境をこのサイトにコピーします(例:本番サイトをこの環境にコピー)。
- Move an existing environment’(既存の環境を移動)は、このサイトに環境を移動します(例:開発環境をステージングに移動)。
- Start with a WooCommerce site」は、WooCommerceがプリインストールされた新規WordPressサイトを作成します。
ライブサイトのステージングコピーを作成したいので、’Copy an existing environment to this site’ オプションをクリックする必要があります。
環境を選択した後、コピー元の最新のバックアップを選択し、「Next」ボタンをクリックして続行します。
ここで、ステージングサイトの名前をプロバイダーする必要があります。この名前はステージングサイトのURLで使われる。その後、環境タイプとしてSTG(ステージング)を選択します。
環境の作成」ボタンをクリックして続行します。
WP Engineがステージングサイトを作成します。その後、ステージング環境のダッシュボードにリダイレクトされます。
次に、南京錠ボタンをクリックして、ステージングサイトのパスワード保護を有効化する必要があります。
その後、「ユーティリティ」タブに切り替えて、ステージングサイトのユーザー名とパスワードをコピーする必要があります。
上部にある「WP Admin」ボタンをクリックして、ステージングサイトにログインすることができます。
ステージングサイトでは、他の場所にインストールする一般的なWordPressサイトと同じように、自由に変更を加えたり、機能を試したりすることができます。
WP Engineでステージングサイトからライブサイトに変更をデプロイする
ステージングサイトで行った変更をライブサイトにマージしたいですか?
環境のコピー」ボタンをクリックするだけで、配備が開始されます。
オプションの設定ページが表示されます。ここから、コピー元とコピー先の環境を選択する必要があります。
ここでは、ソース環境としてステージングサイトを選択し、デスティネーション環境として本番サイトまたはライブサイトを選択します。
コピーする対象を選択できます。たとえば、データベーステーブルとファイルをすべてコピーすることも、特定のファイルとデータベーステーブルをコピーすることも、ファイルシステムだけをコピーすることもできます。
注意:すべてをコピーすると、ステージング環境を作成するために使用した後、ライブサイトに保存されているすべてのデータを失うことになります。これには、新規投稿、ページ、カスタマイザー、注文などの重要なデータが含まれる場合があります。そのため、ステージングからデプロイする前にライブサイトのバックアップを実行することをお勧めします。
次に、「Review and Confirm」ボタンをクリックしてデプロイを開始します。ライブサイトにすべてをコピーするにはしばらく時間がかかります。
手続きが完了するとメールでお知らせします。
WordPressプラグインを使ったステージングサイトの作成
WordPressホスティングサービスがステージングサイト機能を提供していない場合でも、WordPressプラグインを使用してステージングサイトを作成することができます。
この方法にはデメリットもある。
まず、プラグインがホスティングサービス・サーバーをコントロールできる範囲は限られています。そのため、必ずしも最良の結果が得られるとは限りません。
第二に、私たちが使用するプラグインは、ステージングサイトを独自のサーバーに保存します。もしあなたがプライバシーやデータ保護について懸念しているのであれば、これはあなたにとって理想的ではないかもしれません。
最後に、プラグインにはいくつかの既知の非互換性があります。非互換性ページをチェックして、あなたのサイトが互換性があることを確認してください。
とはいえ、WordPressプラグインを使ってステージングWordPressサイトを作成する方法を見てみましょう。
最初に必要なことは、WP Stagecoachプラグインをインストールして有効化することです。詳しくはWordPressプラグインのインストール方法をご覧ください。
プラグインを有効化すると、管理バーにWP Stagecoachという新しいメニュー項目が追加されます。クリックするとプラグインの設定ページに移動します。
WP Stagecoachのユーザー名とAPIキーを入力する必要があります。APIキーはプラグインサイトのアカウントにあります。
その後、WP Stagecoach ” WP Stagecoachページにアクセスし、ステージングサイトの名前を選択する必要があります。この名前はWordPressステージングサイトのサブドメインとしても使用されます。
ステージングサイトをパスワードで保護する “オプションの隣にあるボックスにチェックを入れるのを忘れないでください。ステージングサイトを一般表示や検索エンジンから保護します。
Ride the Stagecoach(駅馬車に乗る)」ボタンをクリックして次に進む。
プラグインはWordPressファイルとデータベースのバックアップを作成し、ステージングサイト用にエクスポートします。
WordPressサイトの規模によっては時間がかかる場合があります。
完了すると、ステージングサイトとその管理エリアへのリンクが表示されます。
リンクをクリックしてステージングサイトにアクセスし、作業を開始することができます。
上部の管理バーには、ステージングサイトで作業中であることを示す明るいオレンジ色のメッセージが表示されます。
WP Stagecoachを使用してステージングサイトをライブにデプロイする
本番サイトに変更をインポートする準備ができたら、WP Stagecoach ” 変更のインポートページに移動し、変更のチェックボタンをクリックします。
プラグインはステージングサイトの変更をチェックし、それらをインポートするオプションを表示します。
すべての変更、ファイルの変更、データベースの変更から選択できます。
プラグインはインポートの進捗状況を表示し、完了すると通知します。
すべての変更が正常にインポートされたかどうか、ライブサイトをテストすることができます。
WordPressのステージングサイトを手動で作成する
この方法は、WordPressインストール用のステージングサイトを手動で作成する方法です。上級ユーザー向けで、上記の他の方法よりも作業が必須です。
この方法のもう一つの欠点は、ステージングサーバーからライブサーバーに変更を戻す際に、サイトが一時的に利用できなくなることです。
とはいえ、WordPressサイトのステージング環境を手動で作成する方法を見てみよう。
まず、ステージングウェブサイト用のサブドメインを作成する必要があります。あなたがBluehostを使用している場合は、ホスティングアカウントのダッシュボードに移動し、 “詳細設定 “タブに切り替えます。
次に、「cPanel」オプション設定の隣にある「Manage」ボタンをクリックします。
これにより、新しいタブでcPanelが開き、「ドメイン」セクションまでスクロールダウンする必要があります。
ここから、「ドメイン」オプションをクリックします。
これにより、ホスティングサービスアカウント上のすべてのドメインのリストが開きます。ここで、「新規ドメインを作成」ボタンをクリックする必要があります。
そうすると、画面に新しいページが表示されるので、「Domain」フィールドにサブドメインとドメイン名を次のように入力する:
サブドメイン.example.com
その後、「送信」ボタンをクリックするだけで、設定が保存されます。
注: スクリーンショットの例ではBluehostを使用しているため、お使いの画面とは異なる場合があります。
ホスティングサービスのコントロールパネルにサブドメインが追加され、WordPressサイトをインポートできるようになります。
次に、あなたのライブサイトに無料のDuplicatorプラグインをインストールして有効化する必要があります。全機能が必要な場合は、Duplicatorのプレミアムバージョンをこちらから入手できます。
有効化したら、WordPress管理画面のサイドバーにあるDuplicatorメニューをクリックし、バックアップの下にある「新規作成」ボタンをクリックしてください。
次に、バックアップの名前を入力し、「Next」ボタンをクリックして続行します。
その後、Duplicatorはウェブサイト複製ウィザードを実行します。
まず、すべての項目に問題がないか、いくつかのテストが実行される。すべての項目が「Good」と表示されたら、「Build」ボタンをクリックする。
プラグインはWordPressサイトのDuplicatorバックアップパッケージの作成を開始します。このプロセスは、ウェブサイトのサイズによっては数分かかる場合があります。
完了すると、インストーラとアーカイブパッケージのダウンロードオプションが表示されます。両方のファイルをコンピューターにダウンロードするには、「Download Both Files」ボタンをクリックしてください。
これらのファイルを、作成したサブドメインのファイル・ディレクトリにアップロードする必要があります。詳しくは、FTPを使ってWordPressサイトにファイルをアップロードする方法をご覧ください。
次に、新しいステージングWordPressサイトには新しいデータベースが必要です。作成しましょう。
WordPressホスティングアカウントのコントロールパネルに移動し、「詳細設定」タブに切り替えます。
その後、「データベース」セクションまでスクロールダウンし、その横にある「管理」ボタンをクリックする。
あなたはBluehostを使用していない場合は、WordPressのホスティングサービス環境は少し違って見えるかもしれません。心配しないで、データベースセクションを探してください。
MySQL Databases’ページが表示されるので、データベースの名前をプロバイダーで指定します。
次に、「データベースを作成」ボタンをクリックする。
次に、データベース用の MySQL ユーザーを作成する必要があります。
MySQL Usersセクションまでスクロールダウンし、新しいデータベースユーザーのユーザー名とパスワードを入力します。
このユーザーに、先に作成したデータベースへのアクセスと変更の権限を与えなければならない。
Add user to database “セクションまでスクロールダウンし、データベースと作成したユーザーを選択します。
その後、「追加」ボタンをクリックして続行する。
ユーザーの権限を選択するよう求められます。先に進み、’All Privileges’ チェックボックスを選択し、’Make changes’ ボタンをクリックしてください。
これで、ステージングサイトで使用するデータベースの準備が整いました。
次に、新しいブラウザータブを開き、ステージングサイトのサブドメインをこのように入力する必要があります:
https://yoursubdomain.example.com/installer.php
yoursubdomainを
実際のサブドメインに、example.comを
自分のドメイン名に置き換えることをお忘れなく。
Duplicator インストーラウィザードが起動します。
セットアップ」セクションで、インストーラはWordPressデータベース情報を入力するよう求めます。
ホスティングサービスはlocalhostになるでしょう。その後、先のステップで新規ドメイン名用に作成したデータベースの詳細を入力します。
Validate’ボタンをクリックし、Duplicatorがデータベースに接続できることを確認します。
完了したら、「Next(次へ)」ボタンをクリックして続行します。
DuplicatorはWordPressデータベースとファイルを解凍し、ステージングサイトにインポートします。
完了すると、成功のメッセージが表示されます。
管理者ログイン」ボタンをクリックして、ステージングサイトのWordPress管理エリアに入ることができます。
これでステージングサイトの設定は完了です。サブドメインにパスワード保護を追加することで保護できます。
ホスティングサービスのダッシュボードに移動し、「詳細設定」タブに切り替えます。
その後、’cPanel’セクションまでスクロールダウンし、その横にある’Manage’ボタンをクリックします。
これにより、新しいウィンドウでcPanelが開き、’Files’セクションまでスクロールダウンする必要があります。
ここから「ディレクトリ・プライバシー」アイコンをクリックする。
次に、サブドメインのフォルダーを選択し、「このディレクトリをパスワードで保護する」チェックボックスのオプションを選択する必要があります。
この設定の名前を入力し、「保存」ボタンをクリックします。
あなたのステージングサイトはパスワード保護で非表示になり、検索エンジンの手や一般の目に触れないようになります。
これでステージングサイトで作業し、変更を加えることができます。
ステージングサイトを手動で本番サイトにデプロイする
ステージングサイトからライブサーバーに変更をデプロイする準備ができたら、上記と同じ手順に従ってください。
ステージングサイトに新しいDuplicatorパッケージを作成し、インストーラとアーカイブファイルをコンピューターにダウンロードするだけです(上記の手順を参照してください)。
次に、ライブサイトに移動し、WordPressの完全なバックアップを作成する必要があります(Duplicatorを使用して完全なバックアップを作成することもできます)。
完了したら、ライブサイトからWordPressファイルとフォルダーをすべて削除する必要があります。これは、WordPressサイトがしばらくの間ダウンすることを意味します。
最後に、上記の指示に従ってDuplicatorインストーラウィザードを実行し、ステージングサイトをライブサーバーにインポートします。
おわかりのように、最後の方法はすべて最良の方法ではない。その過程で、サイトにダメージを与える可能性のあることがたくさんある。
他に選択肢がない場合を除き、この方法はすべて避けることをお勧めします。ステージングサイト機能がビルトインされているBluehost、SiteGround、またはWP Engineのような信頼できるホスティングサービスを使用することをお勧めします。
この投稿が、WordPressサイトのステージング環境を簡単に作成する方法を学ぶのにお役に立てば幸いです。もし何らかのエラーに遭遇した場合は、WordPressの最も一般的なエラーを修正する究極のガイドをご覧ください。また、ブラウザーで WordPress Playgroundを使ってテストする方法もご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Beulah Wellington
If I download WAMP on my computer and use the localhost, couldn’t install the UpdraftPlus plugin and let that be my staging site? Isn’t this another alternative?
WPBeginner Support
Rather than UpdraftPlus, we would recommend taking a look at our guide here for using local for staging: https://www.wpbeginner.com/wp-tutorials/how-to-move-wordpress-from-local-server-to-live-site/
管理者
Jan Stetson
I’m trying to set up a staging environment on my WordPress site hosted by Bluehost. I’m stopped at step one! when I go to the WordPress admin area, I don’t see bluehost at the top of the page. The topmost option in the nav menu on the left is “Dashboard”. No sign of “Staging” anywhere. Help?
WPBeginner Support
You likely removed the BlueHost plugin, if you reach out to BlueHost’s support they should be able to let you know their current methods available
管理者
Shashank Sachan
Hello
I tried but did not succeed. Getting error ” this site can’t be reached”.
I am on Godaddy and using Cloudflare. And I have not created a separate FTP account.
WPBeginner Support
To start troubleshooting that you could try the steps in our article here: https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-403-forbidden-error-in-wordpress/
or reach out to your hosting provider for them to take a look.
管理者
simona
thank you for the article. one question: If I update Wordpress ONLY on the staging site, will it affect also my live-site?
thank you for your answer. regards, s.
WPBeginner Support
No, if you update one site it should not affect the other.
管理者
oshibiko
Thank you for this article.
Do you know of a way to test membership (loginlogoff ) functionality without going live on the actual site. In the staging environment or developing. TIA
WPBeginner Support
You would likely need to create a test user for you to log in with to test that.
管理者
Mark E
Great article, with one step missing for the manual instructions.
After downloading the duplicator files to your computer, you then have to upload the installer file and archive file to your newly created subdomain directory.
Otherwise when you try to run the installer you get a 404 page.
Otherwise great guide!
Thanks….
WPBeginner Support
Thank you for pointing that out
管理者
Charlene Marsh
No option to try the staging feature on Bluehost yet. Message says “Please contact support to find out how to enable staging.” I was just on the phone with Bluehost about another issue and the rep I was speaking with never heard of this new feature.
WPBeginner Support
It would depend on what rep you were talking to as it is a new feature so not all reps may be knowledgeable yet
管理者
Matt Stephen
To be able to use the staging feature provided by Bluehost, you must install and activate the Blushost plugin.
Sean
Thank you for this great info, as always. Now is this something I could use to play around with a new page builder? I want to test out Thrive Architect but want to do so without messing anything up. Or, suppose I wanted to play around with a new theme. These may be 2 different questions.
WPBeginner Support
You could certainly test those changes with a staging environment without having to worry about what people see on the site.
管理者
Vanessa
Thanks for the info. I currently use Bluehost but don’t have the staging site option I would love to test it out for a new theme I’d like to try before purchasing it. I contacted BH tech support the rep told me the feature is in development. Thanks again for the info.
WPBeginner Support
Glad we could bring this feature to your attention even if it is currently being developed
管理者
Vanessa
I was able to access the feature today. I’m excited to use it. Thanks again for the info. I’m excited to try out the staging feature.
Ani Chijioke
this is a great information, I have two websites, but I don’t feel like having both look the same.
pls, I need help.
is there any code I can add on >dashboard >customize >additional css,,, for the font color of my site to be pure black in color..
I have this theme that I am using, it gives me everything I want. but the font color of my blog posts are light black. I will like to change the color to pure black
any solution?
thank you.
WPBeginner Support
For finding the CSS you need to change, you would want to take a look at our article on how to use inspect element here: https://www.wpbeginner.com/wp-tutorials/basics-of-inspect-element-with-your-wordpress-site/
管理者
alykhan
Great article but the push back to live is a little brief. I have a WooCommerce site that needs a theme change. I used Duplicator Pro to make a copy on a staging server. I’ve made all the changes to the site including adding a couple of new plugins.
Now I want to push the site back but I can’t do the same thing as there are new orders on the live site. How do I copy the site back without affecting the orders etc..?
WPBeginner Support
Sadly, the safest method for that would be to prevent orders while updating from staging.
管理者
Jennifer Verdin
I haven’t read the comments yet, but I’ve been at this all day. The reason why is because this page does not tell you how to create a database user and assign privileges to the said user.
Thankfully, I was able to figure it out, but that’s a KEY step that is missing to connect the site and database.
WPBeginner Support
Apologies about the confusion, we will certainly look into clarifying that. If you reach out to your hosting provider they normally have a user already created.
管理者
Max
Hi guys,
Thanks for your awesome post. I like the idea that the provider has the staging, productive and a test environment out of box.
But I have two questions:
1. Can write a little bit how it works by your suggested providers?
2. Have you also providers which are located in the EU or better in Germany? And offer staging environment out of box?
Kind regard
Chris
Thank you so much for this information! And if anyone’s wondering, yes, it’s still relevant 4.5 years later.
Jess
Hi there
I am in the process of setting up a new Wordpress site but I was planning to start building everything in my staging environment because I would like my live site to have a “under construction” landing page.
What I am not sure of is how to push my changes from the staging site to my live site when I am ready. Would you mind describing this process please?
Thank you
Jess
Johnny
If it’s simply a matter of wanting a “Under Construction” page while keeping the rest of the sight off limits to the public, there are plugins that will do that. Search “under construction.”
Russell
How does this process compare to using a plugin like wp-staging.
Fernando Lisboa
Hi, my question is, i created a staging environment, work there make some updates on structure of pages, layouts, new categories, new pluig-in.
Ok, but in real live, my site is growing with new posts, comments, images, videos, etc…
When i push stage back to life, i will lost thes new itens that were create in real live ??? I test this in sitegroud, and i loose ever with advanved “push to live”
tks
WPBeginner Support
Hi Fernando,
The solution described above only syncs your website files not the database.
管理者
Ravindra
Hi,
Thank you very much. This article was very helpful.
Chris
Hi, thanks for such a useful article,
I’m having a small issue when I give it a go,
I have got as far down as
“Once WordPress has connected to your staging database, it should detect that WordPress has been installed, and prompt you to login” and I am stuck – it autoredirected to the wp-login and gave me a blank page. Not a 404, just a clean white screen.
On the main page the login has been renamed so I try to navigate to that instead and again just a clean white screen.
Can anyone give me any pointers on where I’m going wrong?
WPBeginner Support
Please see our guide on how to fix white screen of death in WordPress.
管理者
Smitha
Hi,
Thanks for this article!
I followed all the steps but I think I have missed one
I created a staging environment and checked site url in wp-options and updated wp-config file but the staging site is being redirected to the primary site.
Do I need to change any other setting?
Ruth
Hi! Thanks for the useful article!
Question, is it necessary to create a new database for your subdomain? Can’t you just use your root domain’s database?
Same for the FTP account, is it necessary to create a new one? I can now access my subdomain easily through my main FTP.
Thanks!
Best,
Ruth
WPBeginner Support
Hi Ruth,
Yes, it is necessary to create a separate database and a separate FTP account.
管理者
Courtney
Hello!
Perhaps this was already covered. Do I need a child theme on my sub-domain serving as my staging site? I am adding custom code and modifications to the new theme on my subdomain with the intention of switching all of this over to the live site when finally ready. Would this complicate things when switching from the staging site to replacing what is currently the live site?
Thank You!
Lee Perry
Hi, this article is super helpful. I have encountered one problem though, when I go to visit my staging URL, I have the following message appear ‘server DNS address could not be found’. I have also cleared my cache and browser history as someone wrote this might help, but it hasn’t worked. I’m wondering what I am doing wrong. Any help would be great.
Lee
Georgia
I’m having the same problem – did you manage to resolve this issue?
Thanks, Georgia
Adrien
While I appreciate the detailed instructions (I don’t like installing plugins to accomplish such tasks), I don’t see any advice concerning keeping the staging and live sites in sync. Wordpress sites are generally edited live with respect to content—posts, products, media, etc. Once you follow these directions, the two content sets will diverge as users add content to the live site while the developer’s staging version remains an old copy. I don’t see a good solution for this save a cron rsync job. Any tips?
Jason
After you create the staging subdomain and ftp account.
Skip all the other copying and database junk.
Install duplicator on your live site. Make a duplicate backup, which includes a zipped copy and an install. Php file.
Upload both to your staging area. (Maybe go in and create a database and user for the staging site in cpanel while you wait for the two fingers to upload)
Point your browser to staging.domain.com/install.php and follow the prompts.
Then go back to the rest of this tutorial for locking it down.
Gus Reyes
Hi, I followed another tutorial before I found this one and I installed Wordpress BEFORE copying files over and running the SQL queries. My staging site does not populate with live site’s data. Any help you can offer about what to do at this point would be appreciated…
Martin
The staging site does not look exactly like my primary site. The default banner is there instead of my uploaded media (even though that file has transfered) and rather than a nav bar with drop down menus, I have a list of all of my site’s webpages. Is this normal? If not, could you point me where to sort it out?
Thanks for this article!
BLZ
I keep getting this error when I try to run SQL queries ” #2013 – Lost connection to MySQL server during query”
Stefan
Thank you for the great tutorial! I followed it thourgh and created a staging site. However, the staging site seems to be missing some settings from the original site (where I am working with a template), e.g. the font is different, the menu and logo is missing and some other settings are just off. Are there additional files I need to copy?
Thanks a lot!
Lynn Fontaine
Very thorough instructions! We currently have WordPress 4.3.6 version. I think there is a newer version 4.7; however, I am not updating due to past problems with my theme and child after an update. If I follow your instructions to install WordPress on computer, it most likely will affect the existing site as well which will cause a problem. Do you agree? and how do I proceed? thanks.
WPBeginner Support
Hi Lynn,
You can safely install WordPress on your computer and import content from your live site. This way you will be able to test drive new WordPress version with your current theme and child theme.
管理者
Mike
Couple years later, is there an easier way to do this?
Sandy
Lol, Mike, you’re my kinda person! And although you’ve probably sped ahead to something easier by now, I thought I would mention something that I saw but haven’t tried: Backup Buddy. I don’t know how thorough it would be for this purpose. Since my site is pretty static, I used a subdomain to reconstruct my site – just copied and pasted my content as ascii text. Bluehost said they could make it my main site (not subdomain with redirect – make it a domain) when I’m done. Of course you have to set up the widgets, plugins, etc. Still working on it because I’m definitely a beginner. This would be really laborious for a more sophisticated site.
Luke Marshall
I like the well documented article but maybe it’s just me but I can’t find anything anywhere which starts a github repository with a site that’s only on your live server! How do I pull it down to the repository and why does Cloudway s have all the addressing options. What all do I need to pull down do I need to use My SQL Work Bench?
David Borrink
Well done tutorial. I gave up on a staging plug-in after several attempts failed, and found this one to be easy to follow and implement.
One issue to mention and that’s the need to have a database user set up. I had to redo the process and choose the database wizard on CPanel in order to be able to set that up. That allowed my wp-config file to be set up with the info and then it worked. (My first attempt resulted in “unable to establish a database connection.” Once I established a database user, it went through.
And thank you for the the note to check the URL, with the notes to look at site URL and home on the wp-options table. That allowed to me to confirm and get going on a re-design.
Martin Klasson
I guess I found an easier way – that works for me in a project right now!
1. I just clone the files in the ftp to a /staging/ site,
2. clones the database to a dbname_stage
3. Changes the wp-config.php in /staging/ – by changing database to dbname_stage
4. Adds in wp-config in /staging/ the new WP_HOME and WP_SITEURL
define(‘WP_HOME’,’http://example.com’);
define(‘WP_SITEURL’,’http://example.com’);
Then it is super-easy to just copy the dbname_stage back to the live database called dbname
Super easy.
And if you like, you can also in the wp-config change default uploads directory to the same as the live one.. as long as you just dont have the need to “delete” media files that is.
And your changes in the theme files are easily moved back to the live site.
What about that?
Mike
I love the article – so clear instructions and well written. I’m having problems getting it working though.
I followed the instructions to get from production (www.) to test (test.) and dev (dev.)
I’ve tried all this several times in dev … two things happen
dev.example.com … goes to http://www.example.com
test.example.com … goes to test.example.com
On test when I open a post form the menu as a user – it does not show the post but a reference to the post which when I click on it, it takes me back to the same page
I’m wondering if you have any ideas on what may not have worked?
Thanks
Julio
The problem is in your DB, maybe you did left some original (www.example.com) URL’s on your dev.example.com database
sat
Thanks for the great article. It helped me to set up a staging website for testing my new theme. But you have omitted one critical information, after copying the database the MySQL user setup for the wp to access the database needs to be given permission to access the database through the CPanel -> Mysql databases -> add a user to the database option. Otherwise, you will get “cannot connect to the database” when trying to access the admin page through the URL.
Hesli Brito
I am getting lost here:
After copying your database, you need to copy your WordPress files, plugins, themes, and uploads. First download a fresh copy of WordPress from WordPress.org. Upload the contents of WordPress to your staging site. Note, do not run the WordPress install yet.
Once you have uploaded WordPress, the next thing you need to copy is media files, plugins, and themes. The following folders will need to be copied :
Could you guys be more detailed here? Cause I don’t know the right way to upload Wordpress without installing… I am missing something here, cause I can’t get it right…
Please, could you guys update this article with more information in this part?
Thanks
WPBeginner Support
Please see our guide on how to upload WordPress files using FTP.
管理者
Sion
Thank you for this amazing guide! I’ve successfully created a staging site with this.
What steps do you recommend to do from Staging to Live?
Right now, I’m just writing down every changes I make and repeat it on the live site.
I’m not sure I know the appropriate method to copy Stage site to Live.
Barbara
I have set up the staging site as outlined above – but now how do I get it to the live site?
I’ve been looking here, but can’t seem to find the answers. Help please?
Peter
What about using Git to track the changes made in DB ? with wordpress, there is a very high likelihood that changes made are in DB instead of in files on hosting server
Rajit
Hi, got stuck at the first step itself. I followed the steps but for some reason not being able to set up a staging environment through cpanel. When I type the link i get the message ‘This site can’t be reached’.
Rajit
I removed it and created again. Now I am getting 403 Forbidden error.
Hesli Brito
Same here
Mike
Thank you for this! What process do you suggest for going live with the staging site?
Craig Watson
Hi, I have followed your steps as above but for some reason the staging URL is redirecting to the normal live URL.
I have ran the queries in the database and copied the files including updating the wp-config.php
Do you have any idea what may be going on here as the staging URL was not redirecting yesterday when I put a small test HTML page up there..
Hope you can advise
Craig
Craig Watson
OK so I was inpatient and didn’t clear cache…. However now I’m on the staging site the database has clearly not moved well…
Lots of setting seem to have been lost.
Glauber Oak
Hi there,
Thank you so much for the detailed instructions.
Does this work for MU site?
Multi-site is at the root, and I would like to copy only the root to an especial folder. Server has other sites as subdirectories. Do not need to be copied at this point (in the futures, a couple of sites will be cloned as well)
Root should go to a subdomain for testing purposes.
Thank you in advance!
Gemma
HI. I am following your tutorial and i got stuck in media files has been copied section. Checking with my FTP and Cpanel files are existing but is not showing in my media library . How can i rectify this? Thanks and your tutorial is very helpful for noobs . 5 thumbs up.
WPBeginner Support
While your media files are stored on server. WordPress can’t show them unless you import data and database. Information about your media files is stored in WordPress posts table as attachment post type.
管理者
Serhan
Thank you for this article; very helpful.
I’d like to add one more point; as it might help other readers too.
After you make a copy of your database, you may need to add the user from previous database to the newly created one.
Otherwise, while setting up your wp-config, you might face with authentication problem.
sam
How do i set-up the staging environment on AWS?
Guvenc Kaplan
Very nice and helpful article. However;
Replacing all the references in the DB (example.com with staging.example.com) will most likely break all the serialized values and you will have BIG issues on the staging site. You need to use a replacer that has serialization support.
Sina
Can you please suggest one with this serialization feature?
Mohammad
Thank you for this great article!
Kris Parker
Excellent article, helped in great detail. thank you