データベース最適化
WordPressは投稿を保存するたびにリビジョンを蓄積するなど、運用を続けるほどデータベースが肥大化しやすい仕組みになっています。定期的な最適化でパフォーマンスを維持しましょう。
① 削除・整理すべき主なデータ
| データ | 説明 |
|---|---|
| 投稿リビジョン | 編集のたびに自動保存される履歴。wp-config.phpで保存数を制限可能 |
| トランジェント | プラグインが一時的に保存する期限付きキャッシュデータ |
| スパムコメント・ゴミ箱内の投稿 | 削除しても復元不要なもの |
| 孤立したメタデータ | プラグイン削除後に残ったテーブル内の不要データ |
// wp-config.phpでリビジョン保存数を制限する例
define('WP_POST_REVISIONS', 5);
自動化するWP-OptimizeやPerfmatters等のプラグインを使えば、これらのクリーンアップをスケジュール実行できます。より根本的なDBチューニング(インデックスの見直し等)はサーバーサイド最適化ガイドを参照してください。
② WP-CLIでのクリーンアップ
サーバーにSSHでアクセスできる場合、WP-CLIを使うとプラグインを介さずに直接コマンドでクリーンアップできます。定期的なメンテナンスをcronで自動化したい場合にも便利です。
# 期限切れのトランジェントを削除 wp transient delete --expired # 全てのトランジェントを削除 wp transient delete --all # スパムコメントを削除 wp comment delete $(wp comment list --status=spam --format=ids) # ゴミ箱内の投稿を完全削除 wp post delete $(wp post list --post_status=trash --format=ids) --force # データベースの最適化(テーブルの再編成) wp db optimize
実行前に必ずバックアップWP-CLIのコマンドは確認画面なしに即座に実行されます。特に削除系コマンドは取り消せないため、実行前に必ずデータベースのバックアップを取得してください。
③ よくある質問(FAQ)
投稿リビジョンを削除しても大丈夫ですか?
はい、リビジョンは過去の編集履歴のバックアップであり、削除しても現在公開されている投稿の内容には影響しません。ただし「以前のバージョンに戻したい」という場合に使えなくなるため、削除前に念のためデータベースのバックアップを取っておくと安心です。
データベースのクリーンアップはどのくらいの頻度で行うべきですか?
投稿数・更新頻度によりますが、月1回程度の頻度でトランジェント・スパムコメント・ゴミ箱内の投稿を整理すれば十分です。WP-OptimizeやPerfmattersのスケジュール機能を使えば自動化できます。
WP-CLIとプラグイン、どちらでクリーンアップすべきですか?
サーバーにSSHでアクセスできる場合は、WP-CLIの方が高速かつ細かい条件を指定して実行できます。管理画面からの操作に慣れている場合や、定期実行を自動化したい場合はWP-OptimizeやPerfmattersなどのプラグインが手軽です。