検証環境は、公開中のサイトとは別に更新や修正を試すための場所です。ステージング環境やテスト環境とも呼ばれます。WordPressのテーマを更新して表示が崩れても、本番から分離できていれば、訪問者が見るサイトには影響しません。
ただし、画面をコピーするだけでは分離できたことになりません。本番のデータベースにつながっていたり、試したフォームが顧客へメールを送ったりすると、検証中の操作でも実際の業務へ影響します。
大きな変更を、訪問者に見せる前に試せる
検証環境が役立つのは、テーマやプラグイン、PHPの変更など、表示や処理への影響が広い更新です。会社サイトなら、メニューが開くか、画像が崩れないか、問い合わせを受け付けられるかを、公開前に試せます。
文言を一か所直すたびに、本番全体を複製する必要があるわけではありません。小さな変更はプレビューで足りることもあります。常設の検証環境を使うか、一回の作業だけに用意するかは、更新の頻度と内容で変わります。
WordPressの環境種別には、local・development・staging・productionがあります。この設定をテーマやプラグインが動作の切り替えに使うことはありますが、stagingと指定しただけでメールや決済が自動的に止まるわけではありません。
本番に近い環境ほど、検証結果を使いやすい
PHPの版、WordPress本体、テーマやプラグインが本番と違えば、検証では動いても本番で失敗することがあります。例えばPHPを更新するテストなら、新しいPHPと現在のテーマの組み合わせを試すことが目的になります。
すべてを完全に同じにできない場合もあります。本番だけにCDNやWAFがあるなら、その影響は本番公開後に別途確認する範囲です。検証環境で表示できたことは、本番の負荷や通信経路まで保証するものではありません。
データにも複製した時点があります。一週間前に作った検証環境には、その後に本番で受け付けた注文や投稿はありません。この時点の違いが、公開時の上書き事故につながります。
データと外部送信も分ける
検証用WordPressは、検証用のデータベースへ接続させます。本番DBへ書き込めない接続ユーザーを使えば、設定を取り違えたときの影響も抑えられます。設定ファイルを複製した直後は、接続先を変更するまで動かさないことが大切です。
フォームは試験用の受信先へ、決済はサービスが提供するテストモードへ分けます。定期処理やWebhookから本番へ通知される場合もあるため、画面操作以外の送信経路にも注意が必要です。閲覧にパスワードを付けるだけでは、プログラムから外へ送る通信は止まりません。
見た目や入力欄のテストには、実在する顧客情報が不要なことも多いです。架空のデータで足りるなら、その方が複製する個人情報を減らせます。本番の注文や添付ファイルを使う場合は、検証先にも同じ情報が存在することになるため、閲覧権限や削除時期まで含めて扱います。
noindexだけでは非公開にならない
検証サイトを検索結果へ出さない設定と、第三者に見せない設定は別です。noindexは検索への掲載を制御するためのもので、URLを知っている人のアクセスは防ぎません。
Googleの案内でも、非公開の情報にはパスワード保護を挙げています。検証環境は認証や接続元制限で保護し、本番のサイトマップやリンクに検証用URLを混ぜないようにします。
本番と同じ見た目になるので、管理画面に「検証用」と表示する工夫も有効です。複数の画面を開いたときに、どちらを操作しているかを見分けやすくなります。
公開するときは、古いDBで本番を上書きしない
検証環境のコードを本番へ反映することと、検証環境のデータを本番へ戻すことは、同じではありません。検証中に増えた注文や問い合わせがあるサイトへ、古いDBを丸ごと戻すと、その情報を失います。
例えばテーマのファイルだけを変更したなら、変更したファイルを反映し、本番DBはそのまま使う方法があります。DBの設定も変更した場合は、必要な設定だけを反映するなど、変更内容に合う方法が必要です。簡単な「本番反映」ボタンでも、何を上書きするかはサービスの仕様によります。
公開後は本番URLで変更箇所と関連機能を確認します。一時的に作った環境は必要な成果物を残して終了し、常設するなら更新を続けます。検証用だからと古いWordPressを公開したまま残すことは避けるべきです。