WordPress の大きなバージョンアップ(メジャーアップデート)を安全に進める手順:作業環境・バックアップ・本体が先・様子見

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

WordPress の大きなバージョンアップ(7.0 → 7.1 など)を、表示を崩さずに進めるための手順。作業環境で先に試す・本番のバックアップ・本体を先にしてからプラグイン・不具合のときの戻し方・バージョンアップのあとの debug.log での様子見まで。

WordPress のバージョンは「7.1.3」のように数字が 3 つ並びます。最初の 2 つ(7.1)が変わるのが大きなバージョンアップ(メジャーアップデート)、最後の数字だけが変わるのが小さなバージョンアップ(マイナーアップデート)です。

例 種類 中身
7.0 → 7.1 大きなバージョンアップ 新しい機能や、編集画面の変わったところが入る。表示が崩れることがある
7.1.2 → 7.1.3 小さなバージョンアップ セキュリティの直しと不具合の直しが中心

この記事は、前に 6.4.3 から 6.5 に上げたときの手順をもとに、今のバージョンでも使える形にまとめ直したものです。

いつの間にかページがエラーになっていた。最新バージョンに更新したらページが表示できなくなったというご相談を何度も頂いておりますのでバージョンアップの際にはご注意下さい。

自動更新を有効にしている場合

すでに更新が終わっているかもしれません。サイトを開いて、表示や動きに問題がないかを確かめます。

または、問題が出ているところのカスタマイズを直すか、バックアップから戻します。

自動更新を停止している場合

大きなバージョンアップのときは、本番を複製した作業環境で先にバージョンアップを試します。本番でいきなり試さないようにします。

検証環境にてアップデートを行い問題点を確認

作業環境で一通りバージョンアップして、次のところを確かめます。

見るところ 確かめること
トップ・記事・一覧・固定ページ 表示が崩れていないか(スマホの幅も)
お問い合わせのフォーム 送れるか・メールが届くか
管理画面 記事の編集・保存・画像のアップロードができるか
エラーのログ 新しいエラーが出ていないか

動きがおかしいところは直し方を試し、難しそうならバージョンを戻す、と決めます。作業環境で方針を決めてから、本番でも同じ順番でバージョンアップします。

バージョンアップ自体を行えないように制限を加えている場合もあるため、更新が行えるようにするための手順ともとに戻せるかの検証も行っておきます

本番環境のアップデート時には必ずバックアップを行う

作業環境でうまくいっても、本番で同じようにうまくいくとは限りません。本番のバージョンアップの前には、必ずファイルとデータベースのバックアップを取ります。

自コンテンツであればカスタマイズ内容を把握できているので問題ないと思いますが、お客様環境のアップデートを行う場合はコアファイルにカスタマイズを加えていたりプラグインをカスタマイズしていたりすることがあるためアップデートで動作がおかしくなることもあります

上記の場合はWordPress、プラグインのダウングレードでは復旧ができないためバックアップがないと復旧ができません

WordPressのコアを先にバージョンアップ

本体とプラグインを同時に更新すると、不具合が出たときに、どれが原因かを探すのに時間がかかります。

  1. WordPress 本体を更新して、表示と動きを確かめる
  2. 問題がなければ、プラグインを更新して、もう一度確かめる

本番環境で不具合が発生した場合

すぐに直せそうなら、そのまま直すこともあります。基本は、いったんバックアップから戻すか、バージョンを戻して、作業環境でもう一度直し方を試します。

検証環境にて復元の手順を確認しておくことで本番で不具合が発生した際にもスムーズに対応が行えます。

バージョンアップ後の対応

確かめが終わっても、しばらくは様子を見ます。あとから「これが動いていなかった」と気づくことがよくあります。

様子を見るあいだは、エラーを debug.log に記録しておくと、不具合に気づきやすくなります。

wp-config.php(「編集が必要なのはここまでです」の行より上)
// バージョンアップのあと、しばらくエラーを記録する(画面には出さない)
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );      // wp-content/debug.log に書く
define( 'WP_DEBUG_DISPLAY', false ); // 見に来た人の画面には出さない

様子見が終わったら、WP_DEBUG を false に戻して、debug.log も消しておきます(debug.log は外から見られる場所にできるため)。

最後に

何も問題が起きなければ、管理画面から更新ボタンを押すだけで終わる作業です。それでも、万が一のために、次の順番で進めています。

順番 すること
1 作業環境(本番の複製)でバージョンアップを試し、表示・フォーム・管理画面・ログを確かめる
2 本番のファイルとデータベースのバックアップを取る
3 本番の本体を更新して確かめる
4 プラグインを更新して確かめる
5 しばらく debug.log を記録して様子を見る。終わったら記録を止める

本件とは関係ない話ですが大切だなと思ったこと

記事作成の最後の方で誤って別のボタンを押してしまい記事が消えたかと思ってゾッとしました。

この記事を書く前にリビジョンの設定変更を行っておりその時に無効にせずに保存件数を2件で設定していたのでなんとか再開ができました。

標準設定であれば今回の件は関係ない話なのですが高速化のためのリビジョンは無効化はおすすめしません。保存件数を2件など少なめに調整することを推奨します。

関連機能

  1. WordPress ユーザーごとに管理画面メニューの表示・非表示を設定できるプラグイン User Admin Simplifier

  2. WordPressで出力されるソース内のhtmlコメントを一括で削除する ( 特定のコメントは表示させることも可能 )

  3. WordPressのRSSフィード機能を無効にする ( feed機能停止 )

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP