WordPress
ステージングの使用: 本番環境へのプッシュと本番環境からのプル
Once a staging copy exists, two operations keep it useful: pushing your tested changes up to the live site, and resetting staging back to a fresh copy of production. This guide covers both…
ステージング環境が存在すれば、2つの操作によってそれを有用に保つことができます。テスト済みの変更をライブサイトにプッシュすること、およびステージングをプロダクションの新しいコピーにリセットすることです。このガイドでは両方向について詳しく説明し、ライブサイトを保護する確認作業、およびデータベースをプッシュするとデータが破壊される場合について説明します。
ステージング環境をまだ作成していない場合は、ステージング環境の使用から開始してください。この記事は、ステージングが存在する時点から始まります。
2つの方向
| 操作 | 上書きされるもの | 使用する場合 |
|---|---|---|
| ステージングをプロダクションにプッシュ | ライブサイト | ステージング上の変更がテスト済みでライブに行く準備ができている |
| プロダクションからリセット | ステージングサイト | 現在のライブサイトの新しいコピーを取得して作業したい |
どちらも同じ画面にあります: Websites、次にサイト、次にEnvironments、次にStaging。

その画面の上部のカードに、ステージングドメイン、ステータス、プロダクションから最後に同期されてからどのくらい前か、および最後にプッシュされたときが表示されます。WP Adminによってステージングサイトのダッシュボードに直接サインインでき、Visit siteによってステージングフロントエンドが開きます。
1週間以上同期されていないステージングコピーは、そのカードでアンバー色でフラグが付けられます。古いステージングはステージングがないのと同じくらい悪いです。ライブサイトとは似ていないサイトに対してテストすることになります。新しい作業を開始した後ではなく、開始する前にリセットしてください。
ステージングをプロダクションにプッシュする
これによってライブサイトの一部またはすべてが、ステージング上にあるものに置き換わります。
- Environmentsを開き、次にStagingを開きます。
- Push Staging to Productionまでスクロールします。
- チェックボックスで何をプッシュするかを選択します: Files、Database、またはその両方。
- Databaseにチェックを入れた場合は、Rewrite URLsにチェックを入れたままにしてください。プッシュの一部としてすべてのテーブルを検索して置換を実行し、ステージングホスト名がプロダクション名に置き換わります。
- **I understand this modifies my live production site.**にチェックを入れます。
- 表示されたとおりに、プロダクションドメインを確認ボックスに正確に入力します。
- Push to Productionをクリックします。
チェックボックスがチェックされてドメインが一致するまで、ボタンは無効のままなので、誤ったタイミングでクリックがプッシュを開始することはできません。
プッシュは上書きであり、マージではありません。最後のリセット以降にプロダクション上で変更されたすべてのものは、ステージング上にあるものに置き換わります。これには新しい投稿、新しいカスタマーアカウント、新しいフォーム送信、および新しい注文が含まれます。
プロダクションの完全バックアップが何かが書き込まれる前に自動的に取得され、プッシュが途中で失敗した場合、プロダクションはそのバックアップにロールバックされます。小さなサイトは通常1分以内で終了します。数ギガバイトのサイズの大きなデータベースまたはメディアライブラリはさらに時間がかかります。
ファイル、データベース、またはその両方を選択する
これは最も重要な決定であり、答えは通常「両方」ではありません。
ファイルのみ。 訪問者から何かを収集するサイトの安全なデフォルト。テーマ編集、プラグイン更新、テンプレート変更、カスタムコードはすべてファイルに存在します。ファイルのみをプッシュすると、プロダクション上のすべての投稿、コメント、注文、ユーザーはそのままになります。
データベースのみ。 ステージング上で行われたコンテンツまたは設定の変更について。プロダクションを直接編集する人がいないサイト。実際にはまれです。
両方。 ステージングが新しいサイトであり、プロダクションが完全に置き換わる再設計またはリビルドに適切です。発表し、営業時間外に実行し、現在のバックアップがあることを確認してください。
ライブストアにデータベースをプッシュすると、注文が削除されます。WooCommerceはデータベースに注文、顧客、サブスクリプション、クーポン、在庫レベルを保持しているため、最後のプロダクションからのリセット以降に配置されたすべての注文は、プッシュが完了した瞬間に消えます。部分的な回復はありません。ストアでは、ファイルのみをプッシュし、データベースレベルの変更をプロダクション上で直接行ってください。WooCommerceのセットアップを参照してください。
コメント、フォーム送信、メンバーシップサインアップ、またはWordPressに保存されているメーリングリストがあるサイトにも、劇的さは低いですが同じ落とし穴が適用されます。
プロダクションからステージングをリセットする
これは安全な方向です。ステージングを現在のライブサイトで上書きし、プロダクションには決して触れません。
- Environmentsを開き、次にStagingを開きます。
- Reset from Productionを見つけます。
- Files、Database、またはその両方にチェックを入れます。
- Reset from Productionをクリックします。
以下の場合にこれを行います:
- プロダクションが新しい投稿、新しい注文、またはコンテンツ編集で進みました。
- 新しい作業を開始していて、現実的なベースが必要です。
- ステージングがテスト結果がそこで何を意味するのかほど遠くドリフトしています。
プッシュされていないステージング上のすべてのものは失われます。ステージング上にまだ必要な作業がある場合は、最初にそれをプッシュするか、または変更されたファイルをFiles、次にFile Managerを通して、リセットする前にコピーします。
URLリライティングの動作方法
WordPressはそれ自体のアドレスをデータベースに保存しており、optionsテーブルのsiteurl行とhome行にあり、絶対URLは投稿コンテンツ、メタ値、ウィジェット設定、テーマオプションにも表示されます。
ステージングサイトはstaging.の後にドメインが続いて実行されるため、これらの値のすべてはそこで作業している間、ステージングホスト名を指します。プッシュのRewrite URLsは、すべてのテーブルを通して適切な検索と置換を実行し、シリアル化されたプラグイン設定を正しく処理して、ステージングホスト名をプロダクション名と交換します。
ファイルのみをプッシュする場合、またはステージング URLが残った場合は、チェックを入れたままにしてください。検索と置換の実行で修正してください。
持ちこたえるワークフロー
- プロダクションからリセットしてステージングがライブサイトと一致するようにします。
- プロダクションのバックアップを取得してから開始し、プッシュとは独立した復元ポイントを用意します: バックアップの取得。
- ステージング上で作業を行います。 プラグインとテーマの更新、新しいコード、レイアウトの変更。
- ステージングドメイン上でテストします。 変更したページと変更していないページを読み込みます。ストアでは、テスト注文を最後まで実行します。
- ファイルのみをプッシュします。データベースも行く必要があると意図的に決定した場合を除きます。
- プロダクションを直ちに確認します。 ホームページ、深いページ、チェックアウト、および管理者ダッシュボード。
- 次のラウンドがクリーンに始まるように、プロダクションからステージングを再度リセットします。
ステージングはプロダクションサイトから完全に管理されます。Websitesリストに別のエントリとして表示されないため、削除を含むそのすべてのコントロールは、このタブに存在します。
ステージングの削除
同じ画面の下部にあるDelete Stagingカードによってステージングコピーが削除されます。プロダクションは影響を受けません。プロジェクトが完了したときに削除してください。ステージングはプランのストレージにカウントされ、古いコピーは資産ではなく負債です。
トラブルシューティング
プロダクションへのプッシュボタンがアクティブになりません。 両方の条件を満たす必要があります: 確認チェックボックスをチェックし、https://がなく、末尾のスラッシュがなく、プロダクションドメインを正確に入力します。
プッシュは終了しましたが、サイトはまだ古いコンテンツを表示しています。 キャッシング。WordPress、次にQuick Actions、次にFlush Cacheからフラッシュし、PerformanceからCDNをパージしてからKapsule CDN、プライベートウィンドウでリロードします。
プッシュ後、ステージングURLがライブサイトに表示されています。 データベースはRewrite URLsがチェックされないまま渡されました。ステージングホスト名からプロダクションドメインへの検索と置換を実行します: 検索と置換の実行。
データベースをプッシュして注文を失いました。 より多くの注文が上書きされたデータベースに到着する前に、自動プッシュ前バックアップをすぐに復元します: バックアップからの復元。
リセット後、ステージングにエラーが表示されます。 プロダクションドメインをハードコードするプラグインが通常の原因です。ステージングカードのWP Adminでサインインし、エラーがクリアされるまでプラグインを無効化し、プロダクション上で問題のあるプラグインを修正または置き換えます。