サイトの保守i-Willink
WordPressの大型更新で壊さない手順
WordPress本体の大型更新で壊れるのは、たいてい本体ではなくプラグインです。古い版に留まる危険と、更新の前に私たちが確かめている4つの点を、公式の説明とあわせて書きます。
WordPress 本体は古い作りとの互換を守る方針で作られていて、大型更新で壊れるのはたいてい個々のプラグインです。更新は止めずに、試す場所・プラグインの状態・戻す手段の3つを先に用意します。
「本体を上げたらサイトが壊れた」という話はよく聞きます。そのため、更新の通知が来ても怖くて押せず、古い版のまま何年も置かれているサイトは少なくありません。
私たちは、いくつかの WordPress サイトの保守を請け負っています。この記事では、本体の大型更新(6.8 から 6.9 のように、2つ目の数字が上がる更新)の前に実際に確かめていることを、WordPress 公式の説明とあわせて書きます。特定のプラグインを評価するものではありません。
この記事の要点
- 1本体は互換を守る方針で作られている。壊れるのは多くの場合、開発が止まったプラグインや古い作りに頼るプラグイン
- 2公式にサポートされるのは最新の大型版だけ。長期サポート版は無く、古い版に留まるほど危険が積み上がる
- 3更新の前に、試す場所で先に上げる・プラグインの状態を見る・戻せる控えを取る
- 4PHP の版の更新は本体の更新と分けて扱う。サーバーによっては上げると戻せない
壊れるのは、たいてい本体ではない
WordPress 公式の開発者向け資料は、本体は版をまたいで古い作りとの互換を保つことで知られてきた、と説明しています。互換が崩れるのは、その方針の外にある個々のプラグインです。
公式の資料は、WordPress が歴史的に後方互換性(古い作りのまま動き続けること)を守ってきたと書いています。同時に、どうしても互換を崩さざるを得ない稀な場合もある、とも明記しています。絶対に壊さない約束ではなく、守ることを優先する方針です。
一方、プラグインはそれぞれ別の作者が作っています。開発が止まったもの、本体がもう使わないよう案内している古い仕組みに頼っているものは、大型更新のときに動かなくなることがあります。「本体を上げたら壊れた」の多くは、実際にはこちらです。
更新を止める方が危ない
公式にサポートされるのは、最新の大型版だけです。長期サポート版は無く、古い版への安全のための修正は保証も期限も無い好意の提供だと明記されています。
WordPress の公式の説明は、はっきりしています。公式にサポートされる版は、最新の大型版だけです。それより前の版に安全のための修正が届くのは好意によるもので、保証も期限もありません。Ubuntu のような長期サポート版も無い、と書かれています。
つまり、壊れるのが怖くて更新を止めると、そのぶん守られていない期間が延びていきます。プラグインが壊れる危険と、古い版に留まる危険を比べて、私たちは更新を止めない方を選んでいます。そのうえで、壊れたときにすぐ戻せる用意をしてから上げます。
更新の前に確かめる4つのこと
本番と同じ形の試す場所で先に上げる、プラグインの更新状況とテスト済みの版を見る、戻せる控えを取る、上げたあとに見る画面を決めておく。この4つです。
| 確かめること | どう見るか | なぜ |
|---|---|---|
| 1. 試す場所で先に上げる | 本番と同じ構成の複製(ステージング)で本体を上げ、主な画面を開く | 本番でしか気づけない状態をなくす |
| 2. プラグインの状態 | プラグインのページの「最終更新」と、どの版の本体まで動作を確かめたか(英語の表示では Tested up to)を見る | 開発が止まったプラグインが最も壊れやすい |
| 3. 戻せる控え | ファイルとデータベースの両方を、更新の直前に取る | 壊れたときに数分で戻せるようにする |
| 4. 上げたあとに見る画面 | トップ、問い合わせフォーム、管理画面の投稿編集など、壊れると困る画面を先に一覧にしておく | 確認漏れを防ぐ |
2つ目は、WordPress.org のプラグインのページで見られます。最終更新が1年以上前のものや、テスト済みの版が今の版より大きく古いものは、更新の前に代わりのプラグインを探すか、作者の対応を確かめます。私たちの経験でも、問題を起こすのはこの種のプラグインがほとんどです。
3つ目は、ファイルだけ、データベースだけの控えでは戻せません。両方を同じ時点で取っておくことが大事です。
PHP の更新は、本体と分けて扱う
サーバー側の PHP の版を上げる作業は、本体の更新とは別の日に、別の手順で行います。サーバーによっては、上げたあと元の版に戻す操作ができないからです。
WordPress を動かしている PHP(サーバー側の言語)も、古い版は安全のための修正が止まっていきます。ただし PHP の版の切り替えは、契約しているサーバーの管理画面で行う作業で、本体の更新とは別物です。
私たちが保守しているサーバーの中には、PHP の版を上げると、管理画面から元の版に戻せないものがありました。そのため PHP の更新は、本体の更新とは日を分け、試す場所で動きを確かめてから、戻せない前提で計画します。2つを同じ日にまとめると、壊れたときにどちらが原因か分からなくなります。
「するか」ではなく「どう確かめてからするか」
更新するかどうかで迷う時間を、確かめる手順を整える時間に回します。手順が決まっていれば、更新の通知は怖いものではなくなります。
本体の大型更新は、だいたい年に数回あります。そのたびに迷っていると、結局「今回は見送り」が続きます。上の4つを手順として決めておき、通知が来たらその手順を回すだけにしておくと、更新は止まりません。
小さなお店や会社のサイトでは、保守にかけられる時間が限られています。だからこそ、毎回考えるのではなく、決まった手順で確かめる形にしておくことをおすすめします。
よくある質問
WordPress の古い版を使い続けても大丈夫ですか?
公式にサポートされるのは最新の大型版だけで、古い版への安全のための修正には保証も期限もないと明記されています。長く留まるほど危険が増えるので、手順を決めて更新することをおすすめします。
本体の更新でプラグインが壊れたら、どうすればよいですか?
更新の直前に取ったファイルとデータベースの控えで、まず元に戻します。そのうえで試す場所で原因のプラグインを特定し、更新版や代わりのプラグインを探します。
PHP の更新も一緒にやってよいですか?
日を分けることをおすすめします。同じ日にまとめると、壊れたときにどちらが原因か分からなくなります。サーバーによっては PHP の版を戻せないこともあるので、試す場所で先に確かめてください。
参考・出典
- Backward Compatibility(WordPress Developer Resources)(本体は後方互換を守ってきた・稀に崩す場合もある)
- Supported Versions(WordPress.org Documentation)(サポートは最新の大型版のみ・長期サポート版は無い)