WordPressには「リビジョン」という便利な機能がついています。
記事を下書き保存したときや新規で投稿したときに、変更前の記事を自動で保存してくれる便利な機能です。
ですがこのリビジョンは何も対策をしないで放っておくと、WordPressで記事を書くたび投稿する度ににどんどん増えます。
上記画像のようにリビジョンが20も作られていたり。。手直し回数が多いとぼくのようにこうなります汗。まさに雪だるま式(笑)
なので知らず知らずのうちにサーバーの容量がどんどん圧迫され、不具合が出てくることもあります。
その不具合の1つに、ブログの表示速度が遅くなるということがあります。
ブログの表示が遅い→すぐに離脱される→見てもらえない→検索順位も落とされる。
これ、ブログ運営者にとってはかなり致命的ですよね?
WordPressでリビジョンを削除する方法
リビジョンを削除する方法は大きく分けて2つあります。
- プラグインをインストールして削除する
- wp-config.phpファイルを書き換えて削除する
この記事ではプラグインをインストールして削除する方法を紹介します。
断然手軽で、誰でも導入しやすいでしょうし♪
WordPressでリビジョンを削除するプラグインをインストール!
今回は「Optimize Database after Deleting Revisions」というプラグインをインストールしていきます。
このプラグインはこんなことができます。
- リビジョンの削除
- 保存するリビジョン数の設定
- 不要なデータの削除
- データベースの最適化
これらのことを細かく設定できます。思っているより多機能なんです。
ではまず、WordPress管理画面の「プラグイン」→「新規追加」→「Optimize Database after Deleting Revisions」で検索し、このプラグインをインストール→有効化して下さい。
ここまで完了したら、次に進みます。
WordPressでリビジョンを削除するその前に!〜バックアップを取りましょう
このプラグインはデータベースをいじるので、
事前にデータベースのバックアップを取ることをおすすめします。
パソコンは、予期せぬことがふいに起こるものですから汗
バックアップの方法は様々ありますが、XSERVERだと標準機能で自動的にバックアップしてくれます。
パソジユ開設当初からお世話になってますが、めちゃくちゃ安心感あります。
月々1,000円前後の低価格でこの高品質は、嬉しいかぎり。
ぼくはXSERVERのおかげで『わかっちゃいるけどめんどくさいのでバックアップは取らないです君』のままでいられるんです(笑)
エックスサーバーの導入方法・初期設定などはこちらの記事を参考にしてください。
→【初心者でも簡単!】WordPressブログの始め方【エックスサーバー編】
バックアップOKでしょうか??
ではいきましょう。
Optimize Database after Deleting Revisionsの使い方
以下2つのサイトを主に参考にしました。
まずWordPress管理画面(ダッシュボード)の「設定」→「Optimize Database」をクリックすると、下のような設定画面が出てきます。
項目を拡大し、解説すると
ざっとこんな感じです。
まず大きな枠組みで色分けしました。上から順に
- 紫=【投稿、固定ページ、カスタム投稿のリビジョン削除の設定】
- 橙=【WordPressのその他項目の削除設定】
- 青=【データベース最適化に関する設定】
- 赤=【プラグインのリンクやアイコンの表示設定】
こんな感じです。
では項目ごとに説明を入れます。
【投稿、固定ページ、カスタム投稿のリビジョン削除の設定】
post | 投稿のリビジョン |
page | 固定ページのリビジョン |
user_request | カスタム投稿のリビジョン |
wp_block | WordPressブロックのリビジョン |
st_af | 人によっては表示されない。おそらくAFFINGER5(有料テーマ)で作成されたカスタム投稿のリビジョン。 |
Delete revisions older than | 空欄に入力した日数より古いリビジョンを削除。逆に言えば、入力した日数分のリビジョンが保持される。 |
Maximum number of - most recent - revisions to keep per post / page | 投稿&固定ページのリビジョンの保存数。0にすると、全てのリビジョンが削除される。 |
WordPressブロックのリビジョンはWordPressの新エディタ「Gutenberg(ブロックエディタ)」のリビジョンのようです。
st_afは人によっては表示されません。ここの部分はWordPressの使用環境によって様々表示されるようです。
【WordPressのその他項目の削除設定】
Delete trashed items | ゴミ箱データを削除 |
Delete spammed items | スパムデータを削除 |
Delete unused tags | 使っていないタグを削除 |
Delete transients | トランジェントを削除 |
Delete pingbacks and trackbacks | ピンバックとトラックバックを削除 |
Clear oEmbed cache | oEmbedキャッシュを削除 |
Clear orphans | 孤立したpostmetaデータを削除 |
トランジェントを削除
「Delete transients」のプルダウンを押すと
こんなメニューが出てきます。意味は
- DO NOT DELETE TRANSIENTS=トランジェントを削除しない
- DELETE EXPIRED TRANSIENTS=期限の切れたトランジェントを削除
- DELETE ALL TRANSIENTS=全てのトランジェントを削除
ということです。
トランジェントとは、処理を高速化するためにデータベースに一時的に保存されるキャッシュファイルのこと。
ぼくも初めて聞いてよくわからなかったのですが汗汗
調べたところ、どうもこれがデータベースに蓄積されて溜まっていくみたいなんですよ。
プラグインの作者によれば、「期限切れのトランジェントはかなり役に立たない古いトランジェントだ」とのこと。
oEmbedキャッシュを削除
oEmbed(オーエンブド)は規格を指したり様々な意味がありますが、ここでのoEmbedはデータベースで使われるキャッシュのことを指しています。
メディアファイルをブログ(サイト)に高速に読み込ませるためにデータベースに蓄積されるキャッシュです。
作者によれば多くの場合、oEmbedキャッシュは削除されたメディアファイルの残り物なので、ときどきこれらを削除することは有用とのこと。
孤立したpostmetaデータを削除
色々読んだのですが、ちょっといまいち理解し切れてません。(スマソ。。。)
作者の説明を見ると雰囲気的にはわかるのですが、人に説明するにはちょっとWordPressの知識が足りなく、ちゃんと説明できません汗汗
ぼくとしては、もはやいらないデータだろうという見解です。
【データベース最適化に関する設定】
Optimize InnoDB tables too | Innoデータベーステーブルも最適化する |
Keep a log | データベース最適化のログを作成 |
Scheduler | 最適化のスケジュール機能 |
Innoデータベーステーブルも最適化する
自分の使っているデータベースがMyISAMテーブルではなくInnoDBテーブルを使用している場合は、この項目からInnoDBテーブルも最適化するかどうかを設定できる、とのこと。
なんのことか全然わからん(笑)
まずWordPressのデータベースはMySQL。MySQLのストレージエンジンにMyISAMとInnoDBというのがあるようなんです。
で、自分のWordPressのMySQLのストレージエンジンは『my.ini』というファイルを見ればわかるようなんですが、これがどこにあるかわかんない汗汗
ただ、ずっと以前はMyISAMがデフォルトで使用されていたようなんですが、最近デフォルトで設定されているのはInnoDBのようなんです。
また、Innoデータベーステーブルを最適化するとデータベースのサイズは大きくなるようなんですが、処理速度は上がるようなんです。
今回リビジョン削除する目的は処理速度の向上だから、ぼくはこれも最適化します。
【プラグインのリンクやアイコンの表示設定】
Show '1-click' link in Admin Bar | 管理バーにOptimize DB(1クリック)リンクを表示 |
Show an icon in the Admin Menu | 管理メニューにデータベース最適化アイコンを表示 |
これは必要な方は設定してください。
最適化から除外する
それと実はこの「Settings」の画面下を見ると
これがあります。
これらにチェックを入れると、データベースの最適化から除外することができます。
「ここは最適化したくない」という人向けの設定ですね。
色々調べたら「データベースのサイズを小さくしたい人はここにはチェック入れない方がいいよ」と言う声もありました。
そりゃ最適化から除外したらその分データは削除されなくなるので、チェック入れない方がサイズは小さくなるよな、と。
最適化の分析と実行
あとはお好みに合わせて設定しましょう。ぼくはこんな感じです。
この下にある『最適化から除外』には何もチェックは入れてません。
設定が終わったら①「Save Settings」を押して設定を保存しましょう。そしたら②「Go To Optimizer」を押すと、
この画面が出てきます。
ここでできることが以前よりもかなり増えました。
最適化を完了したい場合は、下の赤枠のどちらかの「Optimize」を押せばすぐに最適化が完了します。
ですが実は、この赤枠内がなかなかアツいので説明入れます!
上の赤枠
Change Settings | 設定画面に戻る |
View Log | これまでの最適化ログを確認 |
Clear Log | これまでの最適化ログを削除する |
下の赤枠
Analyze(summary) | 削除する項目と数を表示(最適化は実行しない) |
Analyze(detail) | 削除する項目と数・名前・作成年月日なども表示(最適化は実行しない) |
Optimize(summary) | 最適化の実行+簡単な結果レポート表示 |
Optimize(detail) | 最適化の実行+詳細な結果レポート表示 |
細かい情報がいらない場合はAnalyze(summary)で簡単な分析内容を見てからOptimize(summary)で最適化すれば充分だと思います。
詳細なデータを確認したい人はAnalyze(detail)で詳細な分析内容見てからOptimize(detail)で最適化すればいいでしょう。
実際にAnalyze(summary)をクリックすると
このようにかなり簡単な分析表示です。
Analyze(detail)をクリックした場合は、
Analyze(summary)をかなり詳細にした内容が出てきます。
今度はOptimize(summary)を押します。
かなり簡素な感じですが、個人的には必要充分です。
なので最適化してもサイズが減らないということではないです。こんな感じの表示なんだなというのを確認してもらうために貼ったので、この結果の数字自体はスルーでお願いしますm(_ _)m
Optimize(detail)を押します。
こんな感じにOptimize(summary)をかなり詳細にしたレポートが出ます。
このようにOptimize(detail)で最適化+レポートを出すと、データベースのストレージエンジンが何になっているかを確認できます。
この画面下の
「View Log」をクリックすると
こんな感じでこれまで行った最適化のログが出てきます。
一番下の赤枠が今回の結果です。
この画面からこのログをCSVにエクスポートできるようなので、必要な方はご利用ください。
ぼくの最適化のログから言えること
ちなみに過去のぼくのログを見ると
初回最適化時はサイズむしろ増えてました汗
ですが、今回のようにデータベースサイズが10MB以上ある場合はガッツリ減ってます。
なのでデータベースの容量がそもそも1MBくらいしかない人が最適化すると、逆にサイズがすこーし大きくなることもありますが、気にしなくて大丈夫です。
こうなる理由は(素人が知ってる限りでの知識のつなぎ合わせの憶測なので、正しいかどうか分かりませんが)おそらくリビジョン+その他のデータ量は消去されて確実にサイズは減っているが、初回最適化を行ったときに、InnoDBが高速に処理をするためのキャッシュを作成しているために全体的なサイズが増えたのではないかと考えます。
実際サイズは増えてもデータベースの処理は高速になっているはずなので、問題ないはずです。
サイズが10MB以上のときに最適化したら、ほとんど半分に減ったし。
WordPressでリビジョンを削除する方法〜まとめ
常に進化し続けているこのプラグイン。
手軽にリビジョン削除できました。
不具合の改善なども豊富にされてるようですし、最初の頃から比べてかなり機能も増えました。
ホントに素晴らしいプラグインです。
ちょっと色々できてマニアックなので、最初は戸惑うかもしれませんが(笑)