ぼんやりとしたタイトルですが、WordPress のダッシュボード(管理画面)から
- WordPress本体(コアファイル)
- プラグイン
- テーマ
のアップデートを行った場合の挙動や注意点をまとめてみました。
また、WordPress のサポート対象のバージョンやメジャーアップデートとセキュリティアップデートの違いにも触れます。
「ボタン押したら真っ白になった!どうしよう!!」という方のための対処法も合わせて記載しておきます。
目次
WordPressのバージョン番号
記事執筆時点での WordPress の最新バージョンは 4.0.0 です。
その前は 3.9.2 でした。
WordPressのメジャーバージョンは左から 4.0, 3.9 となり、それ以下はマイナーバージョンとなります。
ブログなどでは 3.9.X系(3.9系), 4.0.X系(4.0系)と書かれることもあります。
4.0 といった メジャーバージョン がリリースされるときは新しい機能が追加・修正されます。
(今後提供されるであろう)4.0.1 といった マイナーバージョン のリリースは、バグフィックス、セキュリティフィックスとなります。
セキュリティフィックスについては過去にさかのぼって2バージョン前までサポートされます。
例えば 3.9.2 がリリースされたときは 3.8.4 または 3.7.4 もリリースされています。
これ以前のバージョンについてはたとえ脆弱性があったも対応はされませんので、バージョンアップは必ず行いましょう。
自動バックグラウンド更新
WordPress 3.7で 自動バックグラウンド更新 が導入されました。
デフォルトでは、自動更新はコアのマイナー更新に適用されます。
つまり先ほどの例で言うと、3.9.X を使っていれば自動で 3.9.2 にアップデートされました。
ただし、ローカル環境など外部との通信が制限されているような環境下では行われないな場合もあります。
アップデート完了後は「一般設定」で入力しているメールアドレス宛に通知が送られます。
また、これらの設定はコードを書くことで対象を広げたり、行わない事も可能です。これについて詳しくはCodexを参照にしてください。
ダッシュボードからの更新
WordPress本体やプラグイン、テーマ、翻訳ファイルにアップデートある時は「更新」に表示されます。
ボタンを押せば更新に必要な処理が開始されますが、表示されているように データベースとファイルのバックアップは必ず行いましょう 。
見落としがちなのは .htaccess
といった隠しファイルです。WordPressのパーマリンク設定が書いてある程度なら再生成可能ですが、他にも書き込んでいたなら忘れずにバックアップしましょう。
更新ボタン押下後の挙動
- WordPress本体(コアファイル)
- プラグイン
- テーマ
いずれもほぼ同じ挙動ですので、コアファイルの場合を順番に書きます。
- 公式リポジトリから対象の zip ファイル を
/wp-content/upgrade
にダウンロード - ダウンロードした zip ファイルを解凍
- 解凍したファイルのチェック
- 更新準備
- WordPressをメンテナンスモードに移行(WordPressをインストールしたディレクトリに
.maintenance
ファイルを配置) - 解凍したファイルをそれぞれのディレクトリにコピー
- メンテナンスモードを終了(
.maintenance
ファイルの削除) - データベース更新の必要がある場合
- 更新完了
- 4.0の場合、この後強制的にログアウト
有効化しているテーマやプラグインであればこの前後で無効化と再有効化が行われます。
更新が途中で止まってしまう場合
基本的なトラブルシューティングはCodexに掲載されています。
掲載されてないところで以下のようなケースで更新の処理が止まってしまう場合があります。
- サーバーの実行ユーザーやパーミッションの問題
- サーバーのリソース不足
1.の場合はサーバー側のファイルのユーザーやパーミッションを適切に設定すれば回避できるでしょう。
問題は2.の場合です。
先ほどの1〜10の処理は WordPress が PHP 経由でサーバーに指示を出しています。
ただし 6.の処理にサーバーのリソース(メモリやCPU)をたくさん使います 。
これがレンタルサーバーの共用(共有)サーバーのように他の契約者とリソースを共有している場合、処理に時間がかかりすぎ(主に)サーバー側で強制的にプロセスを終了させられてしまいます。
こうなった場合、WordPressがどうなるかというと、
.maintenance
が削除されず残される可能性- 中途半端にコピーされたため破損したファイルや、WordPressのバージョンの異なるファイルの混在
があげられます。
特に2.の場合は真っ白になったり PHP のエラーが出たりでダッシュボードにログインすることも出来なくなります。
更新に失敗した場合
更新に失敗したら、まずはバックアップを取ったDBやファイルを元に戻しましょう。
この状態でまたダッシュボードから更新を行っても再度 リソース不足 で失敗するのは目に見えています。
下記Codexの 「アップグレード作業の流れ」 の手順で常にアップデートするようにしましょう
よくある「簡単インストール」を提供しているレンタルサーバーでもダッシュボードからの更新を検証していないサーバーがあります。また、「インストール後はサポート対象外」としているところがほとんどです。
簡単インストールは便利なサービスかもしれませんが、一度は手動でのバックアップやアップデートもやってみましょう。
その上で利便性を求めるのであればサーバーを移転することも視野に入れましょう。