WordPressのリビジョンと自動保存は保存後か編集中かで使い分ける
公開日: 執筆:佐藤
WordPressで原稿を戻すときは、失ったのが保存前の編集内容か、保存後の古い内容かを先に確かめます。編集中に消えた内容は自動保存、更新ボタンを押したあとに戻したい内容はリビジョンが候補です。
二つは、サイト全体を復旧するバックアップではありません。どちらもWordPressのデータベースに保存されるため、データベース自体を失った場合には頼れません。「一つの投稿を戻すこと」と「サイトを戻すこと」を分けます。
自動保存は編集中の最後の内容を残す
自動保存は、投稿や固定ページを編集している途中の内容をWordPressが保存する機能です。ブラウザーが閉じた場合や、保存前に編集画面を離れた場合に、最後の自動保存が残っていれば、編集中の内容を取り戻せることがあります。
WordPress 2.1の公式発表は、Autosaveを投稿内容の消失を防ぐ機能として紹介しています。自動保存は、書き手が更新ボタンを押して確定した版の一覧ではありません。
WordPress 3.4.1の公式ソースコードでは、一つの投稿に保存する自動保存を一つとし、すでに自動保存があれば同じ記録を更新します。自動保存を、数分ごとの完成原稿がすべて残る履歴だと考えないでください。
リビジョンは保存した変更を比べて古い内容へ戻す
リビジョンは、投稿または固定ページへ保存した変更の履歴です。誤って段落を削除したまま更新した場合や、書き換える前の表現へ戻したい場合に使います。
WordPress 2.6の公式発表は、Post Revisionsについて、誰が、いつ、どのような変更を加えたか確認し、古い版へ戻せると説明しています。編集者が複数いるサイトでは、変更内容だけでなく、変更した人と時刻も判断材料になります。
リビジョンは、削除した一文だけを自動で選び、現在の本文へ足す機能ではありません。戻したい版と現在の版を比較し、どちらを本文として使うか決めます。必要な一部分だけを残したい場合は、比較画面で内容を確認してから、本文を編集します。
WordPress 3.4.1の標準機能がリビジョンへ保存する対象は、タイトル、本文、抜粋です。カテゴリー、タグ、アイキャッチ画像、追加機能の設定まで同じ版へ戻るとは限りません。本文以外も変更した投稿では、それらの設定を別に記録してから復元します。
上書きに気づいたら現在の内容を先に退避する
次は、操作の順序を示す仮例です。実在するサイトの障害や復旧実績ではありません。
会社案内の一段落を誤って削除し、そのまま更新したとします。すぐに別のリビジョンへ戻すと、削除後に加えた別の修正まで失う可能性があります。最初に、現在の本文をテキストファイルなどへコピーします。そのあとで、リビジョンの日時、変更者、差分を確認します。
復元は、次の順で行います。
- 対象が投稿か固定ページか、タイトルとURLで確認する
- 現在の本文をWordPressの外へ一時保存する
- リビジョンを開き、削除前後の内容と更新者を比べる
- 戻す版を選び、復元後の編集画面で本文を読み直す
- 公開ページを開き、戻した段落以外の内容も確認する
日時だけで版を選ばないでください。同じ時間帯に複数の人が編集していれば、目的の文章と別の修正が同じ版に含まれる場合があります。誰がどの範囲を編集したかを、差分と一緒に見ます。
自動保存とリビジョンはバックアップの代わりにならない
自動保存とリビジョンは、どちらもWordPress内の投稿データです。WordPress 3.4.1のPost Revisions処理では、リビジョンと自動保存を投稿データとしてデータベースへ記録します。
一方、WordPress CodexのWordPress Backupsは、データベースが消失または破損すると、投稿を失うおそれがあるため、データベースを定期的に保存するよう案内しています。データベースへ接続できない、テーブルが壊れた、サーバーからデータが失われた、といった障害では、その中にあるリビジョンも使えない可能性があります。
一投稿の上書きを戻すならリビジョン、編集中の消失から戻すなら自動保存、データベースやサイト全体の障害から戻すならバックアップを使います。名前が似ていても、復旧する範囲が違います。
一つの投稿で復元手順を確認しておく
リビジョンがあることを知っていても、必要なときに操作できなければ復旧時間は延びます。公開中の記事へ問題が起きる前に、試験用の下書きを一つ作り、二つの版を保存してください。リビジョンの表示、差分、復元、復元後の本文を確認します。
自動保存が表示される条件や、保存されるリビジョンの数は、設定や追加機能の影響を受ける場合があります。管理画面に履歴が見当たらないときは、機能が存在しないと決めず、WordPressの版、設定、利用者の権限を確認します。
最初に行うのは、リビジョン数を増やす設定ではありません。試験用の一投稿で、保存、変更、比較、復元までを行い、誰が本番記事を戻すか決めてください。サイト全体の復旧は、別のバックアップ手順で確認します。
関連記事

