WordPressのリビジョン機能を廃止、過去記事分もきれいにしてみた

はじめに

今回リビジョン数が気になり、対処する必要があると感じて実施しました。

せっかくなので実施メモを残しておこうと思い、記事を書きました。

リビジョンについて

リビジョンとは?

リビジョン機能についてご存知でしょうか?

簡単に説明すると、過去の一時点での記事のバックアップを保存しておいて、後々戻したくなったときにその状態を復元できる、というものです。

当然復元するためにはその時の情報が必要なわけで、どこから持ってくるかというと、記事の情報が保存されているデータベースです。

データベース上には投稿済みの記事の情報以外に、リビジョンとしてバックアップデータも保存されているわけです。

それが初期状態では無制限に特定のタイミングで勝手に保存されてしまうので、知らないうちに1記事に対して10とかひどい場合には100とかそれ以上のリビジョンが残っているわけですね。

そのため、たとえ10記事しか書いていないブログであっても、データベース上には数百件分のデータが保存されてしまっている、ということになっている可能性があります。

https://fuchiaz.com/wp-content/uploads/2020/01/579c897f79427968968a09858f3c13fc.png
カワウソくん

使ったことないのにそんなに場所をとっているなんて……

https://fuchiaz.com/wp-content/uploads/2020/01/1b4b3a38fb6b8b07a063771bb5e04aa7.png
ふち

ほとんどの人が使わない、もしくはそんなに保存しなくていい、と感じる機能だと思います。

このあたりにその記事のリビジョン数が出ているかと思います(テーマにより違いあり)
記事はそんなにないのに記事IDが3000番台なのはリビジョンのせいでした

容量の無駄遣いを防ぐには?

そんなリビジョンに対して対策を講じましょう。

容量を無駄に使わせないためには次のような方法が考えられます。

  1. リビジョン機能を無効化する
  2. リビジョンの保存数上限を設定する
  3. 過去記事のリビジョンをすべて削除する

1または2の方法で今後のリビジョンに対して、3の方法で既存記事のリビジョンに対して対処できますね。

リビジョン=自動保存?

リビジョンは記事の下書き保存ボタンを押すとか、記事を公開するとか、いくつかの特定のタイミングで1つづつ増えていくようです。

つまりリビジョン自体は自動で保存されますが、『記事の自動保存』という機能自体とは異なるものです。

記事の自動保存とは、たとえば記事執筆中にブラウザが落ちて(強制終了)しまっても、書いていた記事内容がすべて失われてしまうようなことがないよう、記事の内容が30秒、数分ごとみたいなタイミングで勝手に上書き保存されていく機能のことです。

これは今の記事情報が上書き保存されるだけなので、データベース上に新たなレコードを増やしていくリビジョン機能とは異なります

つまり自動保存は不意のブラウザ落ちに対する保険みたいなもので、とくに問題になることはないかなと思います。

https://fuchiaz.com/wp-content/uploads/2020/01/82684dd142c22358fff3604dfca50087.png

自動保存機能はぜひ続けて使っていきたい!

今回講じた対策

リビジョンを制限する

先ほど紹介した対策の1と2をここで紹介します。

リビジョンの上限設定も無効化も同じwp-config.phpというファイルの編集で対応します。

(プラグインなどでもできると思いますが、シンプルな編集なので直接触りました)

FTPソフトを使ってサーバー上からwp-config.phpファイルをダウンロード(ついでにバックアップ用も保存)します。

https://fuchiaz.com/wp-content/uploads/2020/01/1b4b3a38fb6b8b07a063771bb5e04aa7.png

容易な編集ですが、なにか問題が起こるといけないので編集前のデータは必ず残しておく癖をつけましょう。

ファイルの中に(特に何もしていなければ一番下)次の記述を探します。

require_once(ABSPATH . 'wp-settings.php');

これを見つけたら、それよりも上の行に次の内容を追記します。

無効化したいか、上限を指定したいかでどちらかを選んでください。

/* リビジョンを無効化 */
define("WP_POST_REVISIONS", false);

/* リビジョンの上限を設定 */
define("WP_POST_REVISIONS", 5);

今回私は無効化を選択しました。

https://fuchiaz.com/wp-content/uploads/2020/01/5ee35e5184c297c6efefcff9b4f702a4.png

上限を設定したい場合、数字の5の部分を変更すればその数が上限になるよ。

次の画像のような感じにすればオッケーです。

https://fuchiaz.com/wp-content/uploads/2020/01/1b4b3a38fb6b8b07a063771bb5e04aa7.png

保存してサーバーのファイルを差し替えましょう。

これで今後は今設定した上限まで、もしくは無効化した場合はリビジョンがまったく作られないようになります。

すでにあるリビジョンを削除する

さて、次にすでに生まれてしまっているリビジョンを削除します。

これは『WP-Optimize』というプラグインを利用しました。容量的に気になるようなら利用後に削除してしまえばいいかと思います。

こちらを検索して追加、有効化しましょう。

今からDBを操作させますので、念のためDBの内容もバックアップを取っておくといいでしょう

1620件も溜まっていました

すべての投稿リビジョンをクリーン』という項目があると思いますので、『最適化を実行』ボタンをクリックします。

数によりますが、数秒ほどで保存されていたリビジョンをすべて削除できると思います。

クリーン前後での容量比較 簡単に3分の2にまで減らせました
https://fuchiaz.com/wp-content/uploads/2020/01/82684dd142c22358fff3604dfca50087.png

これだけなら簡単にできるね!

おわりに

以上、今回リビジョンに対して今後の無効化と、過去分の削除を行いました。

これだけで劇的に何かが変わるものではないと思いますが、無駄なレコードがどんどん溜まっていくのも邪魔だし、ブログはずっと続けていくことを考えるとどこかで掃除は必要なことだと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください