ブログを運営していて、この記事だけ復元したい!っていうことがありますよね。
例えば、こんな時です。

あっ、間違えて記事を更新してしまった!
変更箇所を元に戻したいけれど、もう元がどうだったか正確に覚えてないよ、、、(泣)
または、こんな時です。

あれっ、いつの間にか1ヶ月前に書いた記事が消えてる!
1ヶ月にとったバックアップは手元にあるけど、
これで復元すると今まで書いた記事が消えちゃう、、、(泣)
そんな時に、「消えたその記事だけ」復元できたら最高ですよね!
この記事では、その最高を実現する手順を解説します。
変更箇所を復元したい場合
リビジョンから復元
記事の変更を復元したい場合は、リビジョンを利用するのがオススメです。
リビジョンであれば、下書きを保存した時点や、更新した時点に復元できます。
しかも、どこを変更したかを画面で確認しながら復元できるので、とても利用しやすくなっています。
それでは手順を見てきましょう。
まずは復元したい記事を開きます。
「投稿の一覧」から復元したい記事の「編集」をクリックします。

ブロックエディタの右側にある「○件のリビジョン」をクリックします。

「前へ」をクリックして、復元したいリビジョンまで戻します。

記事の内容や、スライドバーが移動していることを確認し「このリビジョンを復元」をクリックします。


以上の手順で、誤って記事を更新する前の時点に復元できます
消えた記事を復元したい場合
ゴミ箱から復元
誤って記事を削除してしまった場合、記事はすぐに削除されずゴミ箱に入ります。
まずは、一旦ゴミ箱を確認してください、
ゴミ箱に記事がある場合は、ゴミ箱から復元してあげるだけです。
「投稿の一覧」から「ゴミ箱」をクリックします。

復元したい記事の「復元」をクリックします。


ゴミ箱から復元するなら、たったこれだけです
データベースのバックアップから復元
ゴミ箱を見ても見つからなかった場合の復旧手順は、かなり複雑です。
今から手順を紹介しますが、難しそうだと感じたら自分で行わないでください。
身近な方で構いません、我々エンジニアを頼ることをオススメします。
コメントなどで要望いただければ、ココナラなどのスキルマーケットを通じてお手伝いさせていただきます。
それでは手順を見ていきましょう。
この記事では以下の画像の記事が消えてしまったものとして作業を進めていきます。
※ 以下の画像は見やすいようにphpMyAdminで記事を表示しています。

データベースファイルの内容を確認
まずはバックアップしたデータベースファイルの内容を確認しましょう。
バックアップした拡張子「sql」のファイルをテキストエディタで開いてください。
この記事では、Visual Studio Codeを利用してファイルを開きます。
データベースの内容は、単なるテキストです。
このファイルから復元したい記事の部分を探していきます。
データベースファイルを開くとこんな感じです。
内容を理解する必要はこれっぽっちもありません。

記事を格納しているテーブルを探す
記事のデータは「wp_posts」というテーブルの中にあります。
重要のは「wp_posts」の中を探すということです。
ファイルの中を「wp_posts」で検索します。

「wp_posts」がいくつも見つかると思います。
「INSERT INTO」が見つかるまで進んでいってください。

「INSERT INTO」が見つかったら、復元するデータは近くにあります。
ここからは復元するデータを特定する作業に入ります。

データベースを確認する
復元するデータを探すために、まずデータベースのどこに何のデータが入っているかを確認します。
phpMyAdminで「wp_posts」を確認します。
すると、どのカラムに何のデータが入っているかが確認できます。
以下の3点が確認できれば、復元するデータを特定できます。
- post_content: 記事の本文
- post_title: 記事のタイトル
- post_status: 記事の公開状況

復元する記事を特定する
この情報を元に、データベースファイルから復元する記事を特定します。
まずは、「INSERT INTO」に続く、カンマ「,」区切りになっているカッコ「( )」の中を、1項目ずつになるよう改行していきます。
そして、1行ずつ番号を振っていきます。
「VALUES」に続くカッコ「( )」の中も、1項目ずつになるよう改行して番号を振っていきます。
すると、以下のような内容になっていることがわかります。
- post_content: 5番目の項目
- post_title: 6番目の項目
- post_status: 8番目の項目

この中の「post_title」(タイトル)で記事を特定できます。
そして「post_status」で公開状態(publish)になっているものを探して特定します。

記事が特定できたら、最後のカンマ「,」をセミコロン「;」に変更します。

最後に記事のデータを選択して「コピー」します。

記事を復元する
記事の復元には、「phpMyAdmin」を利用します。
phpMyAdminを開いたら「SQL」をクリックしてください。

先ほどコピーしたデータを貼り付けてください。
貼り付けたら「実行」をクリックします。

以上で記事の復旧は完了です!
完了したら、以下のような画面になります。


手順が複雑であまりよくわからない方も多いかと思います
そういう方は、ぜひお近くのエンジニアに相談してください
まとめ
この記事では、WordPressで作成した記事を復旧する方法について解説しました。
記事を以前保存した時点に復旧するには、リビジョンを利用するのがオススメです。
削除してしまった記事を復旧するには、ゴミ箱を利用するのがオススメです。
もし削除してしまった記事がゴミ箱になかった際には、データベースのバックアップから復旧する必要があります。
もしそうなってしまったら、データベースに見識がある人に任せて、自分で作業を行わないようにしてください。
この記事が、困ったときの手助けとなれば幸いです。
それでは〜。
コメント