このサイトでは無いが、サイトの多言語化を行いたいため、まずWordPressのバージョンを最新あたりに合わせようと思ってしまった。
やること
やることと懸案点は以下の通り。
・PHPバージョン (5.6 –> 7.4)
・WordPressバージョン (4.4.24 –> 5.6.1)
・プラグイン (バージョン更新によるカスタマイズの戻り)
・Gutenbergへの対応 (「TinyMCE」をはじめ、プラグインの対応可否)
テスト環境準備
これを本番環境ぶっつけでやるのは、めんどくさがりな私でも流石に引ける。
なので、さくらのレンタルサーバの機能である「SnapUp」のステージングを用意しテスト環境で行う。
他の方法としては、サブドメインを取得してテスト環境を構築するなどがあるか。
PHPのバージョン更新&動作確認
いまさらだが、さくらのレンタルサーバは基本的にPHPバージョンは全サイト共通なので注意が必要。さくらのコンパネで指定する。
ただ.htaccessなどをいじればサイト別に指定もできる。
キャプチャを取り忘れたが、「SnapUp」でステージングサーバを作成時、PHPのバージョンを指定できる。簡単やぁ。
7.4を選択。
で、本番サーバのスナップショットをステージングサーバにセットしアクセス。
とりあえずサイト表示と管理画面にログイン。特に問題なさそう。
WordPressのバージョン更新&動作確認
メインのWordPressを更新。
テスト環境だから失敗しても再ステージングすれば良いし、気がラク。
サクッと更新完了。
で、サイトを確認。ちょっとした問題が見つかる。
アドセンスなどを入れているウィジェットの表示が崩れている。
heightがおかしく下が切れている。
確認すると、「カスタムHTMLウィジェットの方がいいぞ」とあったので、変更。治った。
これ以外は今のところ特に影響は無さそう。
プラグインのバージョン更新&動作確認
直接カスタマイズしていると、適当に全更新しちゃった際にはもう遅い。そんな作業。
確かプラグインを直接カスタマイズしたのは「WordPress Popular Posts」だけだったと思うのだが…。
怖いので、石橋をたたいて渡る。
何のプラグインか忘れているものも多かったので、調べながら。要らないプラグインはついでに無効&削除。
「WordPress Popular Posts」はバージョン上げずとも普通に動いてそうなので、とりあえずバージョンアップは保留。
Gutenbergの動作確認
やっぱり色々な問題が。
・「TinyMCE テンプレート」は使用できない
・なんかこのサイトと書き方が違う(プラグインが原因?)
もう面倒なので、とりあえず「Classic Editor」のプラグインを入れる。
これで以前までの投稿画面に戻った。
いつまで「Classic Editor」が使用できるか…、またその時に考えよう。
ステージングから本番環境へリリース
とりあえずざっと確認完了したので、ステージングから本番環境へリリースする。
注意すべきは、ステージングからリリースまでの本番環境の変更や更新が戻る事だ。
私の環境では簡易統計プラグイン「WP Statistics」のデータがごっそり抜けた。
これが嫌な方は、ステージングで行った作業をもう一度本番環境でやるしかない?この辺りはもうちょいやり方がありそうだが。
まずステージングサーバのスナップショットを取得する。と同時に、現在の本番サーバのスナップショットもお守りとして取っておく。
その後、ステージングサーバのスナップショットを本番サーバへリリース。
これで移行完了。
それと、忘れずにさくらのコントロールパネルにてPHPのバージョンを変更。新コントロールパネルだと「スクリプト設定」→「言語のバージョン設定」から。
7.4に変更。
これで終了かな?
とりあえず正常に動作はしているっぽいので、様子見ながら。