弊社では、運営されている各サイトにステージング環境を作成することができます。ステージング環境は、お客様の本番サイトからコピーするかたちで作られます。これを編集することで、本番サイトに影響を与えることなく、プラグインの変更やコードの調整などをテストすることが可能です。

WordPressステージング環境で行った変更を本番サイトに反映させたい場合、選択的プッシュ機能を使用すれば、本番環境に反映させる内容を細かく設定して実行できます。

これまでは、ステージング環境から本番環境への反映は、ステージング環境が本番環境を完全に上書きしてしまうという、「ゼロか100か」というプロセスでした。選択的プッシュでは、ステージング環境から本番環境に反映する内容を選択できます。具体的には、以下のような選択が可能になりました。

  • ファイルのみ
  • データベースのみ
  • 両方

ステージング環境から本番環境への反映は、数回のクリックで行うことができますが、まずは以下の注意事項をお読みください。処理に関する重要な情報が含まれています。

注意事項

  • また、万が一に備えて開発者を確保しておくことをお勧めします。頼れる開発者がいない場合には、これを機に雇うという選択肢もあります。
  • 自動でバックアップが実行されますので、必要に応じてロールバックすることができます。注)お客様の本番サイトがECやその他の動的な(急速に変化する)サイトの場合、変更を反映してからバックアップを復元するまでの間のデータが失われる可能性があります。
  • 環境設定(リダイレクト、ジオロケーション、PHPやNginxの設定など)は、ファイルまたはデータベースのみを選択した場合でも、反映対象に含まれて、本番サイトの環境設定が完全に上書きされます。
  • 本番環境への反映が完了したら、テーマやプラグインに組み込まれているキャッシュ、ブラウザのキャッシュをクリアし、サイトをテストして動作を確認してください。
  • データベースの変更を反映する際に、「検索と置換を実行」を選択すると、ステージング環境のドメインが自動的に本番サイトのドメインに置き換えられます。
  • テーマやプラグインのコードにおける、ハードコーディングにより記述されたURLは、別途、本番サイトのURLに変更していく必要があります。
  • ステージング環境でパスワード保護(.htpasswd)が有効になっている場合であっても、本番環境には引き継がれません。本番環境でこの設定が必要とされる場合には、本番環境にて、あらためて有効化する必要があります。
  • ステージングサイトを再確認し、エラーがあれば解決してから本番環境に反映するようにしてください。
  • ステージングサイトは、開発およびテストのみを目的としています。本番サイトとして使用するようには設計されていませんので、そのような用途では正しく機能しないことがあります。ステージング環境を本番サイトとして使用した場合に、それに付随して発生した問題等につきまして、弊社では責任を負いかねますのでご注意ください。
  • 本番環境に変更を反映しても、その後のステージング環境は、本番環境とは切り離されたものとして扱われます。変更の反映後も、その後の変更反映までは、本番環境に影響を与えることなく、ステージング環境での開発やテストを続けることができます。
  • Kinsta CDNを本番サイトで利用中に、ステージング環境の本番サイトへの反映を行っても、干渉は起きませんが、反映後にCDNキャッシュをクリアすることをお勧めします(手順:「サイト」>(対象のサイト名)>「Kinsta CDN」「CDNキャッシュをクリアする」)。
  • お客様のサイトがマルチサイトである場合には注意が必要です。データベースの反映は、マルチサイトのセットアップ方法によって、うまくいかない場合もあります。選択的プッシュを使用し、データベースまたはデータベースとファイルを選んだ場合、データベースのコンテンツ全体が本番サイトに反映され、マルチサイト内のすべてのサイト(メインサイトとサブサイト)に影響します。

選択的プッシュ機能でステージング環境を本番環境に反映する方法

以下の手順で、WordPress のステージング環境を本番環境に反映します。選択的プッシュ機能を使えば、ステージングサイトから本番サイトに反映する内容を選択することができます。

ステップ1

MyKinstaにログインし、「サイト」へ移動して、そこから対象のサイトを選びます。画面右上のセレクタを使用して、ステージング環境を選択します。

Change to your WordPress staging environment in MyKinsta.
MyKinstaでWordPressステージング環境に変更

ステップ2

ステージング環境を選択した状態で、「環境の切り替え」メニューをクリックし、ドロップダウンメニューから「本番環境」を選択します。

MyKinstaの選択的プッシュ機能を使ってステージング環境を本番環境に反映
MyKinstaの選択的プッシュ機能を使用してステージング環境を本番環境に反映

ステップ3

表示される「本番サイトに反映」ポップアップ画面で、状況に応じて、「ファイル」「データベース」のいずれか、または、その両方を選択します。確認のためにサイト名を入力し、「本番サイトに反映」ボタンをクリックします。

選択的プッシュ機能を使ってファイルをステージング環境から本番環境に反映
選択的プッシュ機能を使ってファイルをステージング環境から本番環境に反映

ここでいくつかの補足事項があります。

  • 所用時間は、サイトのサイズにより異なります。
  • 処理が完了するとMyKinstaで通知が表示されます。
  • 処理の最終段階で、数秒間ウェブサイトがダウンします。
  • 環境設定(リダイレクト、ジオロケーション、PHPやNginxの設定など)は、ファイルまたはデータベースのみを選択した場合でも、反映対象に含まれて、本番サイトの環境設定が完全に上書きされます。

使用例とワークフロー例

以下に、ファイルだけ、データベースだけ、またはその両方を反映したい場合の例を示します。ステージング環境を本番環境に反映する際には、以下にご注意ください。

  • 環境設定(リダイレクト、ジオロケーション、PHPやNginxの設定など)は、ファイルまたはデータベースのみを選択した場合でも、反映対象に含まれて、本番サイトの環境設定が完全に上書きされます。

ファイルのみを対象とする

  • HTML、CSS、PHP を含むテーマファイル(データベースにデータが保存されていないもの)に直接変更を加えた場合
  • WordPress のメディアライブラリに必要のないファイルをアップロードした場合
  • サイトに独自のプラグインを導入しており、データベースに影響を与えない(データベースのデータを保存したり修正したりしない)変更をファイルに加えた場合

データベースのみを対象とする

注)ステージングサイト作成後に本番サイトのデータベースに加えられた変更は、反映作業に際してすべて(上書きにより)失われますのでご注意ください。これの一例には、コメント、新しいコンテンツ、ECサイトにおける購入情報、会員制サイトでの登録、フォーラムでの投稿などがあります。

  • メディアのアップロード(画像、動画、その他のファイル)を含まない、投稿または固定ページの作成や編集
  • ビルダー系プラグインを使って実施した投稿や固定ページのレイアウトの変更
  • サイトのタイトルやキャッチフレーズの変更

全てを反映する

注)ステージングサイト作成後に本番サイトのデータベースに加えられた変更は、反映作業に際してすべて(上書きにより)失われますのでご注意ください。これの一例には、コメント、新しいコンテンツ、ECサイトにおける購入情報、会員制サイトでの登録、フォーラムでの投稿などがあります。

  • メディアのアップロード(画像、動画、またはその他のファイル)を含む新しいコンテンツの作成
  • テーマの編集(カスタマイザー、テーマファイルの両方)
  • プラグインのインストールや更新

よくある質問

Q. ステージング環境であるプラグインをテストして、ファイルだけを本番環境に反映した場合、そのプラグインに対応するデータベースのテーブルは作成されますか?

ステージング環境で、本番環境にはインストールされていないプラグインをインストールした場合、ステージング環境から本番環境にファイルを反映しても、そのプラグインのデータベーステーブルは作成されません

つまり、プラグインでのいかなる設定も本番環境に反映されません(設定が、JSONファイルのようなデータベース外のファイルに保存されている場合を除く)。

実際のプラグインがどのように構築されているかにもよりますが、本番サイトでプラグインを有効化する(必要に応じ、無効化した上で実行)と、データベース構造が作成されることがあります。

Q. ファイルのみを本番環境に反映した場合、ステージング環境にあるデータベースは本番環境のデータベースを上書きせず、ファイルのみが上書きされるということですか?

はい、ファイルのみを反映する場合、本番環境のデータベースは変更されず、本番環境のファイルのみが上書きされます。

Q. ステージング環境でデザインの変更を行い、それを本番環境に反映させても、本番環境の新規加入者や顧客を失うことはないということですか?

はい、変更がファイルに対してのみ加えられている限り(プラグイン、テーマ、カスタマイザーの設定など、WordPress管理画面での変更がない場合)、データベースに影響を与えることなく、安全に反映できます。変更を本番環境に反映する際には、「ファイル」を選びます。同時に「データベース」が選択されていないことをご確認ください。

Q. 選択的プッシュ機能を使ってサイトのPHPバージョンを変更することはできますか?

PHPの新しいバージョンをテストするためにステージング環境を使用することはできますが、本番環境にその変更を加える準備ができたときには、本番環境でその操作を行う必要があります。つまり、ステージング環境から本番環境への反映作業は必要ありません。PHPのバージョンを切り替える方法は以下の通りです。

  1. ステージングサイトを作成します。
  2. ステージングサイトに移動し、ステージングサイトのPHPバージョンを変更します。
  3. ステージングサイトで問題がないことを確認したら(サイトを十分にテストしてください)、今度は本番サイトでPHPのバージョンを切り替えます。

Q. WordPressの管理画面でCSSを変更し、ファイルを本番環境に反映させました。キャッシュをすべてクリアしても、変更した内容が表示されないのはなぜですか?

変更の種類とその情報が保存されている場所によって、データベースを反映するか本番サイト上でその変更をあらためて実施する必要があります。例えば、WordPress管理画面のブロックやウィジェットでCSSを追加または編集した場合、おそらくデータベースに保存されます。

WordPress管理画面で何かを変更した場合、「テーマの編集」(「外観」「テーマの編集」)で行った変更を除いて、その情報は通常データベースに保存されます。

補足)ステージングサイトの作成以降、本番サイトのデータベースに対する変更は、コメント、新しいコンテンツ、ECサイトでの購入、会員制サイトでのサインアップ、フォーラムの投稿などを含むすべてが失われることになります。そのような場合には、データベースを本番サイトに反映するのではなく、本番サイト上で同じ変更を手動で行うことをお勧めします。

Q. マルチサイトではどのように選択的プッシュ機能を使えますか?

選択的プッシュ機能を使って、ファイルだけを選択すれば、マルチサイトの種類に関係なく、本番サイトに反映することができます。データベースだけ、またはデータベースとファイルを選択する場合は、マルチサイトの設定によって、うまくいかない場合があります。

  • サブディレクトリのマルチサイト(example.com, example.com/subsite1, example.com/subsite2)であれば、問題なく反映されます。
  • サブドメインのマルチサイト(example.com, subsite1.example.com, subsite2.example.com)であれば、サブサイトがHTTPSを必要としない限り、問題なく反映されます。
  • ドメインマッピングを利用したマルチサイト(example.com, example1.com, example2.comなどの、まったく異なるドメインに別のサブサイトを持っているもの)の場合、多くの手動での設定が必要になります。
    • 方法1 ─ ドメインマッピングをオフにして、標準のサブディレクトリ/サブドメインの設定に戻ります。データベース内の検索と置換を手動で行います。
    • 方法2 ─ 本番ドメインごとにステージングサブドメインを設定し、すべてをステージングサイトに追加します。ステージング環境を本番環境に反映した後、手動でデータベース内の検索と置換を行い、各ドメインを更新します。