CrowFlow

WordPress運用の自動化/効率化メディア

WordPressの改修を任されたら、まず自由に触れるステージング環境を作ろう

Redditに、WordPressに詳しくない状態で、会社のWebサイトの更新や再構築を任されたという相談がありました。

Web制作の経験はあるものの、普段はReactなどを使っていて、WordPressについてはよく分からない。既存サイトをどのように扱い、何から学べばよいのか、という内容です。

こういった状況、意外とあるのではないでしょうか。

寄せられた回答では、本番サイトを直接触るのではなく、ローカル環境やステージング環境を用意し、そこで試しながらWordPressの仕組みを理解する方法が勧められていました。

私も、まずは自由に操作できる環境を作るのがよいと思います。そのうえで私なら、UpdraftPlusを使って本番サイトの複製を作ります。

私ならUpdraftPlusで本番サイトを複製する

ステージング環境を作る方法はいくつもありますが、既存のWordPressサイトをそのまま再現したいなら、バックアップから復元する方法が分かりやすいです。

UpdraftPlusを使えば、データベースだけでなく、プラグイン、テーマ、画像などもまとめてバックアップできます。移行機能を利用すると、復元先のURLに合わせてデータベース内のドメインも置換してくれるため、手作業でURLを書き換える手間を減らせます。

大まかな流れは、次のようになります。

  1. 本番サイトをUpdraftPlusでバックアップする
  2. 外部から自由に閲覧できないステージング環境を用意する
  3. ステージング側にもUpdraftPlusをインストールする
  4. 本番サイトのバックアップをステージングへ復元する
  5. ステージングで改修と動作確認を行う
  6. 本番サイトとの差分を確認してから変更を反映する

最初に本番サイトのバックアップを作る

まず、本番のWordPressへUpdraftPlusをインストールし、サイト全体のバックアップを作ります。

私の場合は、バックアップ先としてFTPストレージを設定します。復元先からも同じデータを参照できるように、FTPのホスト名、ユーザー名、パスワード、保存先ディレクトリなどの接続情報は控えておきます。

バックアップには、少なくとも次の内容を含めます。

  • データベース
  • プラグイン
  • テーマ
  • アップロードファイル
  • WordPress内のその他のファイル

作成したバックアップは、可能であればWordPressが稼働しているサーバーとは別の場所に保存しておくと安心です。サイトとバックアップが同じサーバーにしかない場合、そのサーバーに問題が起きたときに両方を失う可能性があるためです。

外部の人がアクセスできない環境を用意する

次に、ステージング用のWordPressを用意します。

例えば、Basic認証を設定したテスト用サーバーでもよいですし、手元のPCにApacheなどでWordPress環境を構築しても構いません。大切なのは、本番サイトとは別に、失敗を気にせず操作できることです。

インターネット上に置く場合は、検索エンジン向けの「インデックスしない」設定だけに頼らず、Basic認証やアクセス制限を設定します。会員情報や問い合わせ内容など、個人情報を含むサイトでは、そもそも本番データをそのまま複製してよいかも確認が必要です。

メール送信や決済、外部サービスとの連携があるサイトなら、ステージングから実際の通知や処理が動かないように止めておきましょう。

ステージング側でバックアップを復元する

ステージング用のWordPressにもUpdraftPlusをインストールし、本番サイトで使ったFTPストレージの接続情報を設定します。

保存済みのバックアップを読み込み、データベース、プラグイン、テーマ、アップロードファイルなどを復元すれば、本番に近い状態を再現できます。

移行機能によるURL置換が使える環境なら、本番ドメインからステージング用ドメインへの変更も復元時に処理できます。なお、URLの自動置換を含む移行機能は、UpdraftPlusのエディションや導入しているアドオンによって利用条件が異なるため、実際の環境で確認してください。

復元後は、管理画面へログインできるか、画像や各ページが表示されるか、リンク先が本番ドメインのまま残っていないかを確認します。

本番と同じ環境なら、壊してもやり直せる

ステージング環境ができたら、そこでテーマやプラグイン、ブロックエディターの使い方を確認しながら改修を進めます。

設定を変えて表示が崩れたり、プラグインの更新でエラーが出たりしても、本番サイトには影響しません。うまくいかなければバックアップから復元し、最初からやり直せます。

WordPressを学んでから作業を始めるというより、壊しても戻せる環境を先に作り、実際に触りながら理解していくイメージです。

技術的な基礎は分かっているけれど、WordPressにはあまり詳しくないという人なら、この進め方でも十分に対応できると思います。

難しいのは、本番へ戻すときの差分

少し手間がかかるのは、ステージングで作業している間にも本番サイトが更新される場合です。

例えば、その間に記事が投稿されたり、問い合わせやコメントが届いたり、ECサイトで注文が入ったりすることがあります。その状態でステージングのデータベースを本番へ丸ごと復元すると、作業開始後に本番へ追加されたデータを上書きしてしまいます。

更新頻度が低いサイトであれば、次の進め方が比較的分かりやすいです。

  1. ステージングで変更した内容を記録しておく
  2. 本番サイトに新しい更新がないか確認する
  3. 更新があれば、最新の本番サイトをステージングへもう一度複製する
  4. 記録しておいた変更をステージングへ再適用する
  5. 最終確認後、本番へ反映する

一度作った変更をやり直すことにはなりますが、差分を細かく統合するよりも、この方法のほうが手っ取り早く、安全なこともあります。

反対に、記事投稿や注文が頻繁に発生するサイトでは、データベース全体を入れ替える方法は向きません。変更したテーマのファイルだけをデプロイする、設定項目だけを本番でも変更するなど、改修内容に合わせて反映方法を分ける必要があります。

WordPressを全部理解してから始めなくてもいい

会社のサイトを任されると、WordPressを一からすべて覚えなければならないように感じるかもしれません。

もちろん、本番サイトを扱う以上、バックアップやセキュリティへの配慮は必要です。ただ、サーバーやデータベースなどWebシステムの基礎が分かっている人であれば、最初に必要なのはWordPressの全知識ではありません。

まずは、本番と同じ状態を自由に触れるステージング環境を作ること。そして、変更を確認し、安全に本番へ反映する方法を決めること。この2つが用意できれば、実際に触りながらWordPressの構造を理解していけます。

いきなり本番を編集するのは避けて、失敗しても戻せる場所から始めてみてください。

いい仕事になることを願っています。

参考

書いた人

+ カテゴリー:

コメントを残す

CrowFlowをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む