[WordPress] データベースの使用容量を下げる方法 [Better Delete Revision]

2023年4月3日

当サイトには広告が含まれています。

WordPressはブログシステムだから、主にテキストと画像で構成される(本ブログもそう)。

画像はDatabaseには入らず、DBに入るのは主にテキストだけなので、DBの容量はそれほど要らないかと思われるが、実はかなりの容量を使っている。

最近のレンタルサーバーは、ファイルの置けるデータ領域は増大しているが、DBの容量はそれほど多くはない。

データ領域は100GBや200GBまでなどと明示しているものの、DBの容量に関しては明示していないことも多い。

高解像度の画像を大量にアップロードしない限り、データ領域は問題ないだろうが、DB容量が増えた時に、それを下げる方法。

コメントスパムの削除
使用するプラグイン:不要

スパムを全て削除

スパムを完全に削除

スパムばかり来るなら、コメントを無効にするのも手。
使用するプラグイン:Disable Comments

WordPressには記事変更履歴自動保存する「リビジョン機能」があるため、最新投稿以外の履歴も保存されている。

リビジョン数

これを、最新のものだけを残して削除する。
使用するプラグイン:Better Delete Revision

Better Delete Revision

実行後、あまり容量が下がらない場合はDBをOptimizeすることで、さらに下げることができる。

Optimize Your Database

-----

追記:「Better Delete Revision」は、セキュリティー上の問題ニョリ、2022年8月26日を以て廃止されました。

関連:[WordPress] 「Better Delete Revision」が、2022年8月26日を以て廃止 [プラグイン]

-----

さらに、記事変更履歴の最大保存数を意図的に設定することで、履歴削除以後も無駄な履歴が残るのを防ぐ。
使用するプラグイン:Revision Control

投稿数が多く、過去記事も更新するなどしている場合、履歴は大量に発生するから、履歴の削除は有効である。

私の環境では、スパム削除で82MB→75MB、履歴削除とOptimizeで34MBになった。

(履歴削除だけでは効果薄で、その後のOptimizeが効果大)

スパムに関しては、現在はコメントを無効にしているので、増えることはないだろうが。

また、追加したプラグインによっては、それが容量を使用していることもある。

ランキング系などはログを取り続けるので肥大化する傾向にある。

使用容量を確認しよう。

WordPressではないが、自作でサイトを構築した場合、ログの取得などでDBを使用していると、GB単位を超えるようなとんでもない容量になっていることがあるw

単なる文字列なので、1レコードなら知れているが、それが蓄積され、数百万件となってくると…

必要のないデータは記録しないのは当然だが、必要なテーブルであっても、古いレコードはローカルに保存した後に削除しよう。

delete from `test_001` where `id` <= xxxx ;

そして、必要ならば、連番を振り直す。

関連:[MySQL] idを詰める(連番を振り直す)方法

さらに、AUTO_INCREMENTの次値を、振りなおした時点の「次(+1)」に設定する。

去年のレコードは不要だとか、いろいろ減らすことはできるだろう。

関連:[MySQL] テーブルのエクスポートで、レコード数の不一致が生じる問題 [phpMyAdmin,Dump all rows]