【2018年版】WordPressの更新を安全に行う方法

WordPressの更新は、事後の動作確認まで含めて考える

WordPressは機能改善やバグ修正、セキュリティ対策のため頻繁にバージョンアップを行っています。バージョンアップがあるとWordPressの管理画面に通知され更新が促されます。

この通知の「今すぐ更新してください」をクリックして更新画面に進めば1ボタンでWordPressのアップデートは行えます。しかしWordPressの更新にはリスクがあります。

  • 何らかの理由で更新に失敗したらサイトがダウンする
  • 更新は正常に出来てもプラグインやテーマの相性からサイトがダウンする
  • サイトがダウンしないまでも若干の表示崩れや意図しない表示が発生する
  • サイト側に害はないが管理画面の表示が変わり運営者が混乱する

昨今はWordPress本体も一般公開されているプラグイン・テーマも、更新を前提に丁寧な作りがされているため問題が発生する可能性は低いのですが、エンタープライズ用途で独自にカスタマイズされたWordPressサイトはリスクは高めです。

セキュリティ面からWordPressの更新は必須ですので、企業サイトに利用されるWordPressでも安全に更新できる手順を紹介します。


出来ることなら更新作業はテストサーバーなど本番とは別の環境であらかじめ試しておきたいです。安全に動作確認できますし、本番を更新する際もスムーズに進められます。

またステージングサーバーなど即時本番反映できる環境があれば表向けのメンテナンス時間が発生しないため、2、4、7の手順が不要になるケースもあります。

 

更新の手順

 

1. 事前周知

更新のためメンテナンスする旨を関係者およびサイト訪問者に向けて周知します。

関係者向け
WordPressを複数人で運用している場合、更新作業中にWordPressでの作業を止めるよう周知します。本体の更新中に操作をするとトラブルの原因になりえ、万一バックアップに戻す場合は編集内容が巻き戻ってしまうためです。メンテナンス日時をなるべく早めに周知しましょう。

サイト訪問者向け
本番環境へ更新を反映する時にトラブルを避けるため、メンテナンス中はWebサイトの利用ができない旨をサイト上のお知らせやメールで早めに周知しましょう。それに伴うメンテナンスページも次の手順で用意します。

 

2. メンテナンスページの用意

サイト訪問者に向けたメンテナンスページを事前に用意します。

WordPressの更新中はデフォルトのメンテナンス画面が表示されますが、更新作業の手順でプラグインを停止させるため、サイトが崩れたり不具合がある状態で訪問者がアクセスできてしまう可能性があります。

崩れた状態でアクセスされることを避けるためメンテナンスモードにできるプラグインをオススメします。

WP Maintenance Mode

メンテナンスページは以下の情報を掲載すれば十分と考えます。

  • メンテナンスのお詫び
  • メンテナンスのスケジュール(開始日時・終了日時)
  • メンテナンス中の連絡窓口

 

3. バックアップ

万一トラブルが起きてサイトがダウンしてしまった時に、更新前に戻せるようバックアップを取ります。

WordPress本体を含むWebサイトの全ファイルと、WordPressのデータベースをバックアップします。エンジニアに依頼して手動でバックアップしてもらうほか、プラグインを利用してバックアップを取ることもできます。

プラグインでのバックアップは以下の記事で紹介していますので参考にしてください。

WordPressのバックアップと復元を簡単・確実に行う方法

 

4. メンテナンスページの表示

メンテナンス日時になったらメンテナンスページを表示させて更新作業に入ります。

メンテナンス時間は想定より長めに記載しておくと良いですが、メンテナンスが長引く場合はメンテナンスページの終了日時を随時更新しましょう。

 

5. 更新作業

更新は以下の手順で行います。

  1. プラグインをすべて停止する
  2. 更新する
  3. 停止したプラグインを有効化する

プラグインには常時動いているものもあり、停止せずに更新をかけるとトラブルに繋がる可能性もあります。一旦すべて停止させ、WordPressの更新画面より更新を開始します。その後、停止したプラグインを再度有効にします。

 

6. 表示・動作確認

サイト側の表示と動作、WordPress管理画面の動作を確認します。

サイト側の表示・動作確認

訪問者が見るサイト側の表示・動作確認をします。 理想は全ページ確認ですがページ数が多いと大変ですし、WordPressで作られたページはパターンがあるためそこまでやる必要がありません。以下を目安に確認しましょう。

  • トップページ
  • カテゴリーアーカイブ
  • 投稿ページ
  • 固定ページ
  • 検索ページ
  • メールフォーム
  • その他プラグインによる表示動作など

WordPressの動作確認

WordPress管理機能の動作確認をします。全機能の確認は非現実的なので、利用者による設定に依存する動作確認をします。

  • ログイン画面「パスワードをお忘れですか?」のメール送信
  • 投稿の新規追加・編集・削除の操作
  • メディアの新規追加・削除の操作
  • テーマの設定
  • プラグインの動作・設定
  • パーマリンク設定の確認

もし表示・動作に異常があった場合

サイトがダウンするほど致命的な状態でなければ、すぐバックアップに戻すより原因調査をおすすめします。更新前に戻してセキュリティリスクを抱えたまま運用するより、原因となるプラグインやテーマを適切に調整した方が良いためです。

プラグインを一つ停止し異常箇所を確認し、その繰り返しで原因のプラグインを見つけます。原因のプラグインが分かれば代わりになる対応をします。

テーマが原因の場合、廃止された機能が使われている可能性があります。マイナーバージョンの更新では機能廃止の可能性は低いですが、テーマを修正して対応します。

 

7. メンテナンスページの解除

表示と動作が正常なことを確認できたらメンテナンスを解除してサイトを公開します。
必要に応じて関係者やサイト利用者へメールなどで告知もしましょう。

以上で更新完了です。

 

マイナーバージョンの自動更新

更新には「メジャーバージョン」と「マイナーバージョン」の2種類があります。

メジャーバージョン
大きな機能追加・改善が行われるバージョンです。2018年3月現在は「WordPress 4.9.4」のためメジャーバージョンは4.9です。数ヶ月に一度のリリース頻度で、管理画面のレイアウトやソフトウェアとしての振る舞いが大きく変わることもあります。

マイナーバージョン
小さな不具合修正やセキュリティパッチが主なバージョンです。「WordPress 4.9.4」ではマイナーバージョンは末尾のx.x.4です。月に数回リリースされることもあり、緊急度の高いセキュリティパッチはすぐに配信される傾向にあります。

後者のマイナーバージョンは表示や動作に影響する可能性が低いため、WordPress標準機能の自動更新にデフォルトで有効になっています

しかし冒頭のリスクはゼロでは無いため、推奨できませんが functions.php に以下の一行を加えることで自動更新を止めることも出来ます。

define( 'AUTOMATIC_UPDATER_DISABLED', true );

テスト環境やステージング環境では自動更新を有効にして更新作業を減らすなど、作業コストとリスクのバランスを取って選択したいです。

 

まとめ

WordPressの更新については以上です。

WordPressの運用は常に更新と付き合うことになるため、事業として運用しているWordPressは安全な手順を踏んだ更新フローを確立することをオススメします。