ガイドプラットフォーム・ツール

WordPress更新を事前検証し、復旧手順を準備する方法

バックアップの存在だけでは不十分です。復元方法と新しいデータへの影響まで確認します。

更新矢印で結ばれた2つのウェブ環境
このページの内容

WordPressの更新ボタンは簡単に見つかります。しかし、新しいコメント、注文、下書きを失わずに、失敗した更新を元に戻すのはずっと難しい作業です。そのため、最も安全なワークフローは、単に「バックアップを取って更新をクリックする」ことではありません。何が変わり得るかを明確にし、複製環境で試し、以前の正常な状態に戻す手順を事前に練習しておくことです。

公式のWordPress更新ドキュメントは、アップグレード前にバックアップを取るよう勧め、自動と手動の両方の方法を説明しています。また、コアファイルに直接加えた変更は上書きされる可能性があると注意を促しています。独立系の媒体運営者にとって、さらに考えるべき運用上の問題は、データベース、メディア、設定、コードをまとめて復旧できるかどうかです。

何を変更するのかを書き出す

WordPressコアのバージョン、有効なテーマ、プラグイン、PHPのバージョン、ホスティング環境を記録します。待つことが現実的でないセキュリティ修正と、予定を組んで適用できる通常の機能更新を区別してください。変更点の一覧があれば、デプロイ後にページが壊れたときに何が起きたかを説明できます。

プラグインや独自コードに、バージョンやPHPに関する制約が明記されていないかを確認します。更新のリリースノートは役に立ちますが、自分のサイトに特有の相互作用までは予測できません。実際のコンテンツと設定の最近のコピーを使ったステージング環境を利用してください。ステージング環境は、検索エンジンによる公開インデックスや不正アクセスから保護します。

ファイルとデータベースを別々にバックアップする

データベースのエクスポートに成功しても、メディアファイルがなければ不完全です。同様に、フォルダーをコピーしてもデータベースがなければ、投稿や設定を復元できません。バックアップは、変更しようとしているサーバーとは別の場所に、適切なアクセス制御と保存期間の制限のもとで保管してください。復元したサイトを再接続するのに必要な重要な環境設定も含めますが、秘密情報を外部から見える形のアーカイブに保存してはいけません。

可能であれば、復元の予行演習を行います。復元にどれだけ時間がかかるか、バックアップ以降のどのデータが失われるか、誰がそれを承認できるかを確認してください。WordPressはバックアップに関するガイダンスを提供していますが、実際のホストやプラグインでの実装は、やはり実地のテストが必要です。

ホームページだけでなく利用者の操作の流れをテストする

本番環境で予定しているのと同じ順序で、ステージング環境に更新を適用します。記事ページ、カテゴリーアーカイブ、検索、リダイレクト、言語ごとのルート、メディア、構造化データ、編集画面を確認してください。商品を販売しているサイトでは、安全なテスト方法を使って、カート、チェックアウト、注文通知を確認します。会員制のアクセスを使っている場合は、ログイン、ログアウト、権限の境界を確認します。

PHPのエラー、JavaScriptのコンソールメッセージ、サーバーログを監視してください。見た目は正常なページでも、フィードのエンドポイントや定期実行の処理でエラーが発生していることがあります。短い基準チェックリストと出力を比較し、違いを把握できるようにします。

ロールバックが実際にどう機能するかを決める

スナップショットを提供するホストもあれば、ファイルとデータベースの復元が必要なホストもあります。古いデータベースを復元すると、スナップショット以降に発生した活動が消えてしまう可能性があります。アクセスの多いサイトでは、コンテンツのデータとは独立してコードだけを戻すデプロイのほうが安全な場合がありますが、それはデータ移行の互換性によって決まります。本番作業の時間帯を迎える前に、どの方法を取るかを文書にしておきます。

データベースを変更するリリースでは、アプリケーションが逆方向の移行に対応しているかを明確にしてください。更新済みのデータベースの上に古いプラグインファイルをコピーしても安全だと決して考えてはいけません。ロールバックによってデータが失われる場合は、メンテナンスの時間帯とデータの整合を取る手順を計画します。更新前のビルドのクリーンなコピーにいつでもアクセスできるようにしておいてください。

ステージング環境のコピーには別の危険もあります。実際のメールを誤って送信したり、保存されている支払い方法に請求したり、連携しているサービスに投稿を公開したりする可能性があるのです。テストが明確に設計され隔離されている場合を除き、送信される通知、決済の連携、本番用のWebhookは無効にしてください。本番用の認証情報は、安全なテスト用の認証情報に置き換えます。インデックスを禁止したステージングサイトが自動的に安全になるわけではありません。認証を使い、機密性の高い利用者データを不必要にコピーしないようにしてください。

更新作業の時間帯の前に、簡潔な受け入れチェックリストを記録します。代表的な記事のURL5件、メディアの多い記事1件、編集者のログイン、下書きの保存、多言語のルート1つ、そして収益に直結する業務の流れです。各項目に、合格、不合格、該当なしのいずれかの結果を付けます。RSSフィードやサイトマップだけが壊れる変更は、ホームページを目で確認しても気付かない場合がありますが、本番のデプロイ前に調べる価値があります。

ロールバックの手順では、ビルドの失敗とコンテンツデータの破損を区別する必要があります。スタイルシートやプラグインのコードだけに問題がある場合、データベース全体を復元すると避けられたはずの損失が生じる可能性があります。逆に、データ形式の変更には、アプリケーションに対応した移行処理が必要になることがあります。バックアップ、デプロイの承認、監視、復元のそれぞれについて責任者を決めてください。特定の変更について安全なロールバックの方法がない場合は、そのリスクを社内で共有し、より慎重なメンテナンスの時間帯を選びます。

デプロイし、確認し、締めくくる

本番環境を更新し、同じ簡易テストを実行してログを比較します。キャッシュが新しいサーバー側のコードに対して古いスクリプトを配信していないかを確認し、必要な部分だけをパージして、公開ページが想定どおりのステータスコードを返すことを確かめてください。アップグレードが成功した場合でも、短い作業記録を残しておきます。その記録が次のリリースの時間を節約してくれます。

このガイドはリリースの手順を扱うもので、あらゆる保守の義務を扱うものではありません。より広いウェブサイト保守チェックリストでは定期的な維持管理を、ホスティング移行ガイドではインフラ間の移行を扱っています。しっかりしたロールバック計画は更新を恐れることではなく、必要な更新をより予測しやすくするための条件です。

英語の原文から翻訳しています。

取り上げたプラットフォームWordPress

一次資料