2026年9月4日
2026年9月4日
WordPressのリビジョン(更新履歴)を削除する方法
はじめに
WordPressを使用していると、記事やページの更新時に自動的にリビジョンが作成されます。これらのリビジョンはサイトのパフォーマンスを低下させる可能性があります。この記事では、効率的な方法でWordPressのリビジョンを削除する手順について説明します。
症状・背景
- リビジョンが大量に蓄積し、データベース容量が増加
- サイトのパフォーマンス低下
- WordPress管理画面での操作が遅くなる
- バックアップファイルのサイズが大きくなる
手順・設定方法
ステップ1: wp-cliを使用してリビジョンを一括削除
# WordPressのwp-cliコマンドをインストールまたはアップデートします。
composer require composer/composer --no-plugins --no-scripts
composer global require wp-cli/wp-cli
# リビジョンを一括削除するコマンドを実行します。この操作はデータベースからリビジョン情報を完全に削除します。
wp post delete $(wp post list --post_type=revision --field=ID) --force
ステップ2: SQLクエリを使用して特定の期間のリビジョンを削除
# 現在時刻から30日前までの日付を取得します。
DATE_BEFORE_30_DAYS=$(date -d "30 days ago" +"%Y-%m-%d %H:%M:%S")
# 指定された期間以前のリビジョンを削除するSQLクエリを実行します。
DELETE_REVISION_QUERY="DELETE FROM wp_posts WHERE post_type = 'revision' AND post_date < '$DATE_BEFORE_30_DAYS';"
# クエリを実行します。
echo $DELETE_REVISION_QUERY | mysql -u root -p wordpress_database
ステップ3: リビジョンの自動生成を無効化する設定変更
# WordPressプラグイン「Disable Post Revisions」をインストールして有効にします。
wp plugin install disable-post-revisions --activate
# または、functions.phpファイルに以下のようにコードを追加してリビジョンの生成を無効化します。
echo "add_filter('auto_save_post_revision_interval', '__return_zero');" >> wp-content/themes/your-theme/functions.php
ステップ4: リビジョン削除後のデータベース容量とパフォーマンスの確認
# MySQLから現在のデータベースサイズを確認します。
mysql -u root -p wordpress_database -e "SHOW TABLE STATUS WHERE Name LIKE 'wp_%';"
# wp-cliを使用してサイトのパフォーマンスをチェックします。
wp cli perf check
注意事項
- リビジョン削除は元に戻せない可能性があります。バックアップを取ることを強く推奨します。
- SQLクエリを使用する際は、必ずテスト環境で確認を行ってください。
- リビジョンの無効化設定はサイト運用方針に合わせて適切に行うことが重要です。
まとめ
1. wp-cliを使用した一括削除: WordPress管理画面から簡単に大量のリビジョンを削除できます。
2. 特定期間のリビジョン削除: 経過時間が長いリビジョンのみを対象に削除可能です。
3. 自動生成無効化: 将来のリビジョン作成を防ぐための設定変更が可能になります。
4. パフォーマンスと容量確認: リビジョン削除後のサイト状態を適切に監視しましょう。
関連記事: