2024.07.11
記事を復元!WordPressのリビジョンの使い方
今回はWordPress(ワードプレス)*の標準機能「リビジョン」を紹介します。
記事の更新、管理でとても役立つ機能になります。
コンテンツ管理システム(CMS)で、主にブログやWebサイトの作成・管理に使用されます。
直感的なインターフェースで、使いやすい管理画面から簡単にWebサイトの更新が可能です!
個人ブログから企業サイトまでとても幅広く利用されている、大人気システムです。
WordPressには、「リビジョン」という、更新履歴の管理機能が初期状態から動いています。
リビジョンとは更新した内容を元に戻すことができる機能です。
- 更新したらページが崩れてしまった…。
- 記事を修正した内容を元に戻したい!
- 誰かが編集した内容を戻したい。
WordPress内のエディターで編集したものなら、標準機能である「リビジョン」を使って戻すことが可能です。
WordPressは、基本的に記事の更新履歴は全てデータベースに保存されます。
リビジョンは、保存した内容をデータベースから取得し、復元することが可能です!
今回の記事では、リビジョンの使い方、リビジョンが表示されていない時の対処法、カスタム投稿でのリビジョン、リビジョンの制限、リビジョンを削除する方法をご紹介します。
リビジョンとは?
リビジョンとは、固定ページや投稿の変更を自動的に保存してくれる機能です。
記事の「下書き保存」、「公開」、「更新」でも保存されます。
(最新のデータが60秒ごとに保存されます。)
誰のアカウントで、いつどんな編集したか履歴として残ります。
そのため、複数人で運営しているWordPressでも管理しやすくなります。
リビジョンの使い方
WordPressの管理画面にログインし、まずは対象の投稿を開いてください。
投稿の開き方
- 「投稿 or 固定ページ」
- 「投稿 or 固定ページ一覧」
- 対象の記事にカーソルを合わせ「編集」をクリック
この先、クラシックエディターとブロックエディター(Gutenberg)で項目の場所が異なります。
両方紹介するので、ご自身のWEBサイトにあったものを選択してください。
ブロックエディター(Gutenberg)でのリビジョン
編集画面の右側にあるツールバーから「リビジョン」を選択します。
クラシックエディターでのリビジョン
編集画面の右側にある「公開」ブロック内にあるリビジョンの「表示」を選択します。
リビジョンの操作方法
● 手順1
リビジョンの画面です。
右側が新しい状態、左側が更新前の、古い状態です。
編集したユーザID、日付もここで確認することが可能です。
内容の差分も、ハイライトされていてわかりやすく可視化されています。
手順1
● 手順2
更新前の状態に戻してみましょう。
上部の両矢印スライダーを1つ左にずらしてください。
すると、更新前の状態が右側に表示されます。
(左側はさらに前の履歴に切り替わります。)
「このリビジョンを復元」ボタンをクリックしてください。
手順2
● 手順3
1つ更新前の状態まで戻りました!
戻す前の状態はリビジョンに記憶されているので、更新後に戻すことも可能です。
手順3
リビジョンが表示されていない場合の対処法
直接WordPressの設定ファイルを編集するため、コードの知識、FTP情報が必要になります。
エラーが起きてしまうとWEBサイトが表示されなくなってしまうため、必ず技術者に相談し、バックアップを取得してからおこなってください。
リビジョン機能が有効なのは、「投稿」「固定ページ」のタイトル、エディターのみです。
追加したカスタムフィールド、カスタム投稿では機能しません。
(カスタム投稿のエディターはリビジョンを有効にできます、この後解説。)
WordPressのリビジョン機能は通常、オンになっています。
しかし、利用しているサーバやWordPressのインストール状況によってはリビジョンがオフになっている場合があります。
リビジョン機能を有効にするには、WordPressの設定ファイルであるwp-config.phpを編集する必要があります。
wp-config.php の場所は、WordPressをインストールしたフォルダになります。
(例:/wp/ フォルダにWordPressをインストールした場合「/wp/wp-config.php」)
まずはwp-config.php で「WP_POST_REVISIONS」を検索してください。
該当の行を見つけたら、「false」を「true」に書き換えてください。
// wp-config.php
// 書き換え前
// define('WP_POST_REVISIONS', false);
// 書き換え後
define('WP_POST_REVISIONS', true);
もし「WP_POST_REVISIONS」の記述が見つからない場合は、追加する必要があります。
追加する場所は、wp-config.php で「ABSPATH」と検索し、ABSPATHの記述より上になるように追加してください!
//wp-config.php
define('WP_POST_REVISIONS', true); // 追加した行
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
リビジョンをカスタム投稿でも使う
リビジョンは「投稿」「固定ページ」のみ利用できますが、functions.php に追記することでカスタム投稿でもリビジョンを利用することが可能です。
下記のコードをfunctions.php に追記してください。
//functions.php
function my_custom_revision()
{
add_post_type_support( 'カスタム投稿名', 'revisions' );
}
add_action('init', 'my_custom_revision');
4行目の「カスタム投稿名」の部分を、対象のカスタム投稿名に変更してください。
functions.php を編集するときは必ずFTPから編集してください。
WordPress内の「テーマファイルエディター」から編集すると、エラーが出た際に管理画面、WEBサイトともに真っ白になり、復帰が困難になります。
また、複数のカスタム投稿に対応する場合は単純に行を追加すればOKです。
//functions.php
function my_custom_revision()
{
add_post_type_support( 'カスタム投稿名1', 'revisions' );
add_post_type_support( 'カスタム投稿名2', 'revisions' ); //追加した行
}
add_action('init', 'my_custom_revision');
あくまでリビジョンの対象は「タイトル」「エディター」なので、カスタムフィールドはリビジョンの対象にはなりません。
リビジョンの問題点
便利な機能であるリビジョンですが、デメリットとして記録したデータがどんどん蓄積してサイトパフォーマンスに影響が出でてしまう可能性があります。
対策として、リビジョンの数を制限するという方法があります。
wp-config.php を編集して、リビジョンの上限を設定しましょう。
//wp-config.php
//リビジョンの数を6に制限
define('WP_POST_REVISIONS', 6);
追加する場所は、リビジョン設定と同じく、ABSPATHの記述より上です。
wp-config.php で「ABSPATH」と検索し、上になるように追加してください。
リビジョンはそれぞれの記事に応じて蓄積されていくため、たくさんの記事を抱えているWEBサイトはWordPressの速度低下に気をつけましょう。
リビジョンを削除する
プラグインを使う方法と、データベースで直接削除する方法があります。
データベースを直接操作するのはリスクが高く、難易度が高いです。
今回は、プラグインを使ってリビジョンを削除する方法をご紹介します。
操作はとても簡単です!
リビジョンを削除すると、当然今までの蓄積したデータに戻すことはできません。
削除前にバックアップを取ることを強くオススメします!
「WP-Optimize」プラグインのインストール
「プラグイン」→「新規プラグイン追加」でプラグインのインストール画面を開きます。
検索ボックスに「WP-Optimize」と入力し、検索してください。
「今すぐインストール」を押してインストール完了後、有効化してください。
「WP-Optimize」でリビジョンを削除する方法
問題なく有効化が完了したら、WordPress左側のメニューに「WP-Optimize」が追加されています。
「WP-Optimize」→「データベース」と進んでください。
設定画面が表示されます。
「最適化」の中から「すべての投稿リビジョンをクリーン」右側の「最適化を実行する」を押してください。
これでリビジョンの削除は完了です!
「すべての投稿リビジョンをクリーン」のテキストの下に、リビジョンの個数が表示されています。
蓄積数が少なければ、無理に削除する必要はありません。
まとめ
今回の記事ではリビジョンの取り扱いについて、詳しく解説しました。
WordPressの運営では、更新で崩れてしまった、記事を元に戻したいなどの事例が多くあります。
データベースの記録があればリビジョンで解決できるので、当記事を参考に挑戦してみてください。
いいねありがとうございます!
この記事を書いた人
T.K
フロントエンジニア
《 仕事で大切にしていること 》
使いやすく、拡張性のある作りを意識して制作しています。
サイト運用や更新に躓かないようなWebサイトを目指しています。