この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
最近、WordPress管理画面の動作が目に見えて遅くなってきました。
中でも「投稿」ページが特に遅く、記事更新が億劫になるほどw
ただでさえ、記事更新が遠ざかりつつあるのにこれはまずいと思い、管理ページが遅い原因を探ってみることにしました。
原因は「リビジョン」にあった!
WordPressの管理画面が遅くなる原因は色々とあるみたいなのですが、今回は「リビジョン」が悪さしているようでした。
リビジョンとは改変履歴のことで、下書きをすればするほど蓄積されていくものになります。
ヒドイ時だと、一つの記事の下書きだけで10回以上溜まっている記事もありましたから、相当なものだったと思います。
本ブログだと700記事以上あるので、単純に1記事あたりのリビジョンが3つだったとしても700 × 3 = 2,100ものリビジョンが溜まっていた計算になります。そう考えると何となく納得。
ただ、WordPress使ってる人全てに当てはまる訳ではないのでしょうけどね。
リビジョンの削除
かれこれ3年以上、WordPressを利用していますが、これまでリビジョンの恩恵に預かったことは一度も無いので、全削除することにします。
ちなみにリビジョンの削除方法は、「プラグインを利用する方法」と「プラグイン無しでSQL文で直接削除する方法」の2種類がありますが、個人的にプラグイン入れるのは好きじゃないので、後者の方法で削除します。
# mysql -h localhost -p
MariaDB [(none)]> use ithinkitnet
MariaDB [ithinkitnet]> show tables;
+------------------------+
| Tables_in_ithinkitnet |
+------------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_popularpostsdata |
| wp_popularpostssummary |
| wp_postmeta |
| wp_posts |
| wp_pz_linkcard |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+------------------------+
15 rows in set (0.01 sec)
wp_postsが削除対象のリビジョンが格納されているテーブル。
リビジョン削除
Wp_postsの「revision」の値を削除します。
DELETE FROM wp_posts WHERE post_type = 'revision';
MariaDB [ithinkitnet]> DELETE FROM wp_posts WHERE post_type = 'revision';
Query OK, 3058 rows affected (26.40 sec)
実に3000以上ものリビジョンが蓄積されていたのは驚きでしたが、想定の範囲内。
これでリビジョンが削除されました。
リビジョンを保持しない設定に変更
このままだと、またリビジョンが溜まってしまいます。
個人的にリビジョンは不要なので溜めない設定に変更します。
リビジョン数の制限
リビジョン数を保持しないように設定。
wordpressのwp-config.phpに以下、追記
*require_once(ABSPATH . ‘wp-settings.php’);の前に追記すること!
define(‘WP_POST_REVISIONS’, false );
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‘wp-settings.php’);
これでいくら下書き保存しても、リビジョンが保持されなくなりました。
ithinkit
ちなみにリビジョン数を制限する場合は以下のように設定します。
define(‘WP_POST_REVISIONS’, 5);
ithinkit
なので、WordPressの管理画面が遅いと感じた場合、リビジョンを疑ってみると解決するかも知れませんね。
以上、あいしんくいっとでした♪( ´θ`)