WordPressのリビジョン削除や保存数などの管理はもちろん、データベースまで最適化してくれるという三拍子揃ったリビジョン管理プラグイン「Optimize Database after Deleting Revisions」をご紹介します。
※ Optimize Database after Deleting Revisionsの設定と使い方は、2019年時点の最新バージョンをもとに解説しています。
WordPressには過去の下書きを保存してくれるリビジョンという機能がありますが、きちんと管理しないと、記事を作成して下書き保存するたびにリビジョンが蓄積され、データベースがどんどん大きくなって表示速度が落ちてしまいます。
肥大化したデータベースをそのまま放置すると、SEOにも影響します。Wordpressサイトを運用するなら、定期的にリビジョンやデータベースのお掃除が必要です。
リビジョン管理の設定はwp-config.phpに追記したり、プラグインを使う方法がありますが、Optimize Database after Deleting Revisionsを使うと、溜まったリビジョンを掃除するだけでなく、リビジョン保存数削減、データベース最適化まで1つのプラグインでできるようになります。
WordPress リビジョン管理機能
WordPressのリビジョン管理機能は、投稿や固定ページの編集中に記事を自動保存してくれるだけでなく、何かあった時に古いリビジョンから過去の記事を復元することができるので、記事の間違いや修正で前の状態に戻したい時に便利です。
ただし、リビジョンは時々掃除しないと溜まっていく一方なので、記事が増えると無駄なリビジョンもどんどん蓄積されていきます。
固定ページをindexとして表示させるようなテンプレートの場合は、トップページを更新するたびにリビジョンが増えていくので、気が付けばリビジョンが100を超えていたなんてことも珍しくありません。
また、古いリビジョンはデータベースの容量を圧迫するので、その分表示速度が落ちてしまいます。Googleは表示速度も検索結果に反映させると明言しているので、表示速度が落ちると検索順位にも影響します。
WordPressを長期で運用するなら、定期的にリビジョンやデータベースのお掃除が必要です。
WordPress リビジョンの管理と削除
wp-config.phpの設定によるリビジョン管理
WordPressのリビジョンは、テーマファイル wp-config.php に追記することで設定できます。また、リビジョン管理機能自体を無効にすることもできます。
リビジョン管理数の上限を決める(10回)
define('WP_POST_REVISIONS', 10);
自動保存の間隔を変更する(300秒/5分毎)
define('AUTOSAVE_INTERVAL', 300 );
リビジョン管理を無効にする
define('WP_POST_REVISIONS', false);
プラグインによるリビジョン管理
WordPressにはリビジョン管理用のプラグインがたくさんあります。簡単に設定できて多機能なプラグインばかりなので、リビジョン管理はwp-config.phpに追記する方法よりプラグインを使うという方も多いでしょう。
古いリビジョンを削除するならBetter Delete Revision、リビジョン管理数の上限設定ならRevision Control辺りが定番でしょうか。
プラグインでリビジョンとデータベースをまとめて最適化
いわしブログのリビジョン管理は、今までwp-config.phpから設定していました。テーマファイルに数行追記するだけで済むので、プラグインをあまり増やしたくない場合は有効な方法です。
でも、このやり方だと途中から設定した場合、それ以前の古いリビジョンが消えずに残ってしまうという問題があります。
やっぱりリビジョン管理はプラグインに任せるのがいいかなと思って探してみたところ、WordPressのリビジョン削除と保存数の削減はもちろん、データベースまで最適化してくれるという三拍子揃ったプラグイン、Optimize Database after Deleting Revisionsを見つけました。
Optimize Database after Deleting Revisionsを使うことで、以下の3つのプラグインを1つにまとめることができます。
古いリビジョンを削除 Better Delete Revision
リビジョン保存数削減 Revision Control
データベース最適化 WP-Optimize
海外製(オランダ)のプラグインなので、インターフェースは英語のままですが、設定はとても簡単、リビジョンを削除するだけでなく、データベースも定期的に最適化してくれるというすばらしいプラグインです。
※ 使用前に必ずデータベースをバックアップしておきましょう。また、他のリビジョン管理系プラグインなどをお使いの場合は、プラグインのバッティングや不具合に注意してください。
Optimize Database after Deleting Revisionsのインストール
では、さっそくOptimize Database after Deleting Revisionsを使ってみましょう。まずはプラグインのインストールから。
ダッシュボード左メニューの「プラグイン」→「新規追加」へ進み、「Optimize Database after Deleting Revisions」と入力して「プラグインを検索」をクリックします。
「Optimize Database after Deleting Revisions」が見つかったら「いますぐインストール」をクリックして、プラグインを有効化してください。これで準備は完了です。
Optimize Database after Deleting Revisionsの設定
続いて、Optimize Database after Deleting Revisionsの設定です。説明は英語ですが、設定自体は簡単なのでご安心を。
ダッシュボード左メニューの「設定」または「ツール」→「Optimize Database」に進むと、Optimize Database after Deleting Revisionsの設定画面になります。
英語のプラグインなので、設定内容や作業結果はすべて英語で表示されます。
では、Optimize Database after Deleting Revisionsの設定に移りましょう。下に設定やログ表示、分析、最適化のボタンが並び、設定は「Change Settings」から行います。
リビジョン削除設定
まずは削除するリビジョンを設定しましょう。投稿「Post」、固定ページ「Page」の他にいくつか投稿タイプが並んでいますが、すべてチェックしておけばOKです。
その下にリビジョンの保存設定があります。どちらかにチェックして数値を入れると、設定した日数または記事数を超えたリビジョンが自動的に削除されます。
Delete revisions older than
リビジョンの保存日数を設定します。入力した日数を超えたものは削除されます。
Maximum number of – most recent – revisions to keep per post / page
リビジョン管理数の上限を設定します。「0」にするとリビジョン全削除になります。ここではリビジョン保存数の上限を5にしました。
その他削除項目設定
リビジョン以外のデータを削除したり、データベースを最適化するための設定項目もあります。デフォルトの状態だと何もチェックが入っていないので、お好みで設定してください。
WordPressの専門知識が必要な項目もあるので、わからない場合はそのままでOKです。
Delete trashed items
「ゴミ箱」に入れた記事やページを削除します。
Delete spammed items
エディターやAkismet等のプラグインによって「スパム」判定された記事を削除します。
Delete unused tags
使用されていないタグを削除します。
Delete transients
データベースに保存されたWordPressのキャッシュデータを削除します。選択肢は3つありますが、特に支障なければ「DELETE EXPIRED TRANSIENTS」にしておけばよいでしょう。
Delete pingbacks and trackbacks
ピンバックとトラックバックを削除します。
Clear oEmbed cache
ウェブサイトやYoutubeなどのURL埋め込みキャッシュをクリアします。
Clear orphans
WordPress内で孤立した投稿レコードを削除します。「orphans」とは孤児のことで、WordPress内部で他の投稿やページからリンクが取得できない投稿を「orphaned content」と呼びます。
Optimize InnoDB tables too
データベースでInnoDBテーブルを利用している場合に最適化します。InnoDBとはMySQLで利用するテーブルの種類で、他にMyISAMテーブルもあります。
Keep a log
ログデータを保存します。
最適化のスケジュール
最適化のスケジュールと時刻を設定します。管理画面にリンクかアイコンを表示させる場合も、ここでチェックを入れます。
Scheduler
リビジョン削除とデータベース最適化のスケジュールを指定します。間隔は「指定なし」「1時間ごと」「1日2回」「毎日」「毎週」「毎月」の6種を指定できます。
Time
スケジュールの実行時間を指定します。アクセスの少ない夜中を指定すればよいでしょう。
Show ‘1-click’ link in Admin Bar
アドミンバーに「Optimize DB」リンクを表示させます。
Show an icon in the Admin Menu
ダッシュボードのメニューに「Optimize Database」アイコンを表示します。
最後に「Save Settings」をクリックして設定を保存してください。
データベース最適化から除外
一番下にある「EXCLUDE DATABASE TABLES FROM OPTIMIZATION」の各テーブルにチェックを入れると、データベース最適化の際にその項目が除外されます。
ここもWordPressの専門知識が必要なので、わからない場合はそのままにしておきましょう。
Optimize Database after Deleting Revisionsの使い方
では、実際にリビジョンやデータベースを最適化してみましょう。各種設定が終わったら「保存」して、その右にある「Go To Optimizer」をクリックします。
分析(Analyze)
下のボタンは、データベースを分析する「Analyze」と、データベースを最適化する「Optimize」があります。最適化の前に「Analyze」で分析してみましょう。
分析ボタンのうち「Analyze(Summary)」は分析結果の概要を表示してくれます。削除対象のリビジョンは68、TRANSIENTSは232、ORPHANSは6でした。
「Analyze(detail)」は各項目の詳細まで表示してくれます。
最適化(Optimize)
分析結果の下に最適化ボタンがあるので、「Optimize(Summary)」をクリックします。
最適化の結果が表示されました。最適化前のデータベースは17.769MBですが、最適化後は11.572MBとなりました。データベースのサイズが6.197MB減っていますね。
「Optimize(detail)」を選ぶと、削除されたリビジョンや最適化されたデータベースなど、より詳しい最適化の詳細も表示されます。
「View Log」で過去の最適化実行ログが表示されます。定期的にデータベース最適化を行う場合は、ログをチェックしてください。
あと、分析や最適化される項目は、設定によって異なるのでご注意を。
これで余計なリビジョンが減り、定期的にデータベースを最適化してくれるので、必要以上にデータベースのサイズが大きくなることはありません。
WordPressでサイトを運営していると、データベースがどんどん肥大化していきます。そのまま放置すると、サイトの表示速度が遅くなるのでSEOにも影響します。
リビジョンの管理とデータベースを適正化するなら、ぜひOptimize Database after Deleting Revisionsを使ってみてください。