毎回データベースの置き換えで本番反映するのは抵抗がある。

たぶんサイト運用を長くやっている人なら分かると思いますが、本番サーバーのWordPressのデータベースを、更新の都度データベースを差し替えたり、さらにアドレスを一括変更するなんていうのは、かなり精神的に抵抗のある作業ではないかと思います。できればそんなことはしたくないというのが、運用担当者の本音なはずです。ですから本サーバーのDBを書き換えるような方法はオープン時は仕方無いですが日々の運用では選択したくないでしょう。

さらに言うと、WordPressはCMSなので日付と日時指定で予約更新ができますが、その機能はできれば活かして使いたいはずです。かといって、ステージングで更新した作業を、本番で手作業で繰り返すというのは、CMSを使っている意味もないし、作業ミスも起きやすいのでこの方法も運用には不向きです。そこでどうするかを考えました。

本番で「下書き」で入れればいいんだ

いやいや。当たり前だろうとツッコミが入りそうですが、まあちょっと聞いてください。データベースをステージングから本番へ置き換えるのは抵抗がありますが、本番からステージングへ置き換えるのはリスクが少ないでしょう。なぜなら本番が書き換わる可能性は無いからです。であるなら、本番で「下書き」と「プレビュー」で確認してから、その状態のデータベースをステージングにコピーして、それ以外の画像などの部分もコピーしてステージングで「公開」すれば、ステージングでは最新の状態で確認作業に回すことができます。

これは本番環境の「下書き」を見られるように、レビューワーに権限を与えて本番環境を管理画面からアクセスしてもらうより、かなり安全性は高まります。さらに良いのは下書きでは試せないような他からのリンクや他ページでの表示状態なども確認できます。そして修正があれば本番の「下書き」環境で微調整して、日付日時指定をして自動更新で本番公開すれば良いのです。本番反映後、本番環境とステージングとは少し差分ができてしまいますが、次の更新の際にはまた同期されるので、問題は少ないです。気になるようなら、本番公開後に同期すれば良いのです。

WordPressのステージング環境を作るのは結構悩みどころですが、この方法が今のところ一番安全なのではないかと思います。様々な環境でも構築できると思うので汎用性もあると思います。サイトを探してみましたが良い解決策が無かったので、一応備忘録として書いておきます。

※データベース内のリンクアドレスは必ずすべて相対パスで記述しておくと、ステージングサーバーへデータベースごとコピーした際にも、リンク切れが起きません。ただしサイトの構造は一緒にしておくことが必要です。

Kindle本のご案内

連載していた【軽量Linux活用ガイド2021】を中心に加筆、再構成して一冊のKindle本にまとめました。インストールやセットアップなどの手順、各種アプリケーションのインストールと日本語化、軽量Linuxベスト3、SSDの換装などを一度に読みたい方はご利用ください。Kindle Unlimitedなら無料です。書き込みをする場合はA4サイズで読みやすいペーパーバック版(オンデマンド印刷)もあります。