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 プラグイン「 Search Everything 」

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

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

記事を読む

WordPress Warning エラー

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

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

記事を読む

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

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

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

記事を読む

WordPress PHP

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

WordPress には、たくさんのファイルが入っています。 ここではテーマ内ではなく、トップ

記事を読む

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

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

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

記事を読む

WordPress Twenty Seventeen function.php

WordPress twentyseventeen の function.php を見る – その1

WordPress の最低限の機能だけのシンプルなテンプレートが欲しかったので、作っておくことにしま

記事を読む

Wordpress 自作フォーム 2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど

記事を読む

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

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

前記事の続きで、wp-settings.php の91行目あたりから見ていきます。 次は、wp

記事を読む

WordPress レスポンシブ テンプレート 元にサイトを作ってみる その1

「レスポンシブ テンプレート の メニューやブログの設置」の記事では、メニューやブログの設置例をやっ

記事を読む

Wordpress 自作フォーム

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

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

記事を読む

WordPress

Message

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

リビジョンを削除し、テーブルを最適化して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 をサイ

wordpress カスタム投稿を一覧(ループ)で表示する
wordpress カスタム投稿を一覧(ループ)で表示する

カスタム投稿を一覧で表示する方法がいろいろあります。 query_p

→もっと見る

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