WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減

公開日: : WordPress

リビジョンを削除し、テーブルを最適化してDBの容量を削減

WordPress リビジョン機能

リビジョンは過去の記事を保存してくれる WordPress のデフォルト機能です。

リビジョンは下書き保存やプレビューをした時増えていき、DBに大量に残り、IDも肥大化させます。

パフォーマンス向上の為には、リビジョンを削除、無効化、制限が必要になる場合がありますので、そのやり方をメモしておきます。

WordPress リビジョンを無効化

wp-config.php を編集してリビジョンを無効化

wp-config.php に以下のコードを1行足すだけです。

define('WP_POST_REVISIONS', false);//リビジョンを停止

一番下の require_once(ABSPATH . ‘wp-settings.php’); 行より前に追記する。

wp-config.php を編集してリビジョン数を制限

数字を設定するとリビジョンの数を指定することも出来ます。

define("WP_POST_REVISIONS", 5);//0で停止

(ちなみに自分はサイトの設置時に 1 にする事が多いです。)

プラグインでリビジョンを無効化

他にもプラグインでリビジョンを無効化することも出来ます。

「リビジョンコントロール」プラグイン

リビジョンを停止させたり、数の制限や他細かい設定をすることも出来ます。

「Disable Revisions」プラグイン

インストールし、有効化するだけでリビジョンを停止出来ます。

WordPress MySQLのリビジョン削除と最適化

既に不要なリビジョンが溜まってしまっている場合、SQL文で削除出来ます。

SQL文で wp_posts テーブルのリビジョンだけ削除

wp_posts テーブルの post_status 項目が「inherit」で post_type 項目が「revision」になっているデータがリビジョンのデータなので、SQL文は以下になります。

DELETE FROM wp_posts 
WHERE post_status = 'inherit' 
AND post_type = 'revision';

SQL文でリビジョン関連のデータすべてを削除

wp_posts テーブル だけでなく、関連している wp_term_relationships テーブルと、wp_postmeta テーブルのリビジョンも削除したい場合のSQL文は以下になります。

DELETE a,b,c FROM wp_posts a
LEFT JOIN 
wp_term_relationships b 
ON (a.ID = b.object_id)
LEFT JOIN 
wp_postmeta c 
ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

テーブルを最適化して容量を削減

SQL文でリビジョンを削除したはずなのにデータ容量があまり変わらない場合、データがフラグメント化(歯抜け)状態になってしまっています。

その場合は、SQL文でテーブルを最適化します。

OPTIMIZE TABLE wp_posts;

最適化をすると、容量がかなり削減されると思います。
全テーブル最適化したらもっといいと思います。

phpMyAdmin が使える状況ならば、最適化したいテーブルを選択し、プルダウンメニューから「テーブルを最適化する」を選択すると一気に最適化されます。

プラグインでリビジョンを削除

他にもプラグインでリビジョンを削除することも出来ます。

「Optimize Database after Deleting Revisions」プラグイン

リビジョンの削除とデータベースの最適化を行うことのできるプラグイン。

WordPress 自動保存を無効化

リビジョンついでに、WordPress には、記事編集中に内容を定期的に保存してくれる自動保存という機能もあります。

初期状態では、自動保存は有効で、60秒間隔です。
混同しがちですが、自動保存はリビジョンとは違い、DBは肥大化しないものです。

しかし、パフォーマンスが重く感じたりして、うざったい時があるので、その制御方法もメモしておきます。

functions.php を編集して自動保存を停止

functions.php に以下のコードを追記すれば無効化します。

function autosave_stop() {
	wp_deregister_script( 'autosave' );
}
add_action( 'wp_print_scripts', 'autosave_stop' );

注意:
・Theme Checkプラグインで見るとエラーが出るらしい。
・ブロックエディターでは使えないらしい。

wp-config.php を編集して自動保存の間隔の変更

wp-config.phpに以下のコードを追記。

define( 'AUTOSAVE_INTERVAL', 1800 );//自動保存を30分ごとに変更

一番下の require_once(ABSPATH . ‘wp-settings.php’); 行より前に追記する。

関連記事

WordPress Warning エラー

WordPress フォルダー・ファイル系の関数 is_dir や opendir や exif_imagetype で Warning エラー

Wordpress の管理画面でフォルダーの中身を読み込む関数 opendir でエラー Word

記事を読む

WordPress レスポンシブ テンプレート

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

記事を読む

WordPress の PHP をちょっと見てみよう Ⅱ

WordPress の PHP をちょっと見てみよう Ⅱ

前記事の続きで、wp-settings.php の68行目あたりから見ていきます。 <今回のピ

記事を読む

Wordpress 自作フォーム

WordPress 自作フォーム その1(サンプルと設置)

Wordpress でプラグインを使わずにフォームをやってみます。 簡単に名前、メールアドレス、メ

記事を読む

Wordpress 独自テーブル 商品名と料金

WordPress 独自テーブル

Wordpress で独自テーブルを作ってみようと思います。 独自テーブルのデータ 今回のデ

記事を読む

WordPress カレンダー カスタマイズ

WordPress カレンダー カスタマイズ(add_filter版)

前回、「WordPress の PHP をちょっと見てみよう Ⅲ」でフックをやったので、カレンダーで

記事を読む

Wordpress VR Test

WordPress で VR させて、360°のパノラマ画像を表示する

WordPress.com内ショートコードで VR させる WordPress.com内で、VR(

記事を読む

WordPress プラグイン「 Search Everything 」

WordPressでカテゴリー名も検索にひっかけるプラグイン「Search Everything」

WordPressでカテゴリーも検索にひっかけるプラグイン「Search Everything 8.

記事を読む

Wordpress 自作フォーム (チェックボックスなど)

WordPress 自作フォーム その3(チェックボックスなど)

以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ

記事を読む

wordpress カスタム投稿で 2ページ目以降が404

wordpress カスタム投稿で 2ページ目以降が404になってしまう

wordpress のカスタム投稿で、ニュースのページを作っていました。 ニュース一覧で、ペー

記事を読む

WordPress

Message

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

javascriptで複数同じ名前のformの値を取得する
javascriptで複数同じ名前のformの値を取得する Cannot read property ‘value’ of undefined

Javascript で value の値を取得する このようなHT

リビジョンを削除し、テーブルを最適化してDBの容量を削減
WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減

WordPress リビジョン機能 リビジョンは過去の記事を保存して

Javascript let const アロー関数 クラス
Javascript ES5,6 の新機能(letとconst,アロー関数,クラスなど)

ESとはECMASCriptの略で、ECMA という国際的な標準化機関

Strict モード JavaScript
Javascript Strictモード “use strict”;

Strict モード(厳格モード) Strict モードとは、ECM

CodeIgniter インストール
Codeigniter インストールとバージョンアップ2→3 PHP 5→7 メモ

Codeigniter インストール Codeigniter をサイ

→もっと見る

    • 202104
      Mon Tue Wed Thu Fri Sat Sun
      1234
      567891011
      12131415161718
      19202122232425
      2627282930
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑