← WordPress プラグイン一覧へ | リビジョン削除の考え方・手順 | ブログ
✔ WordPress.org 公式ディレクトリで公開中
Revision Autopilot は、WordPress に蓄積された投稿リビジョンを安全に確認・削除するための無料プラグインです。 管理画面の ツール > Revision Autopilot から、リビジョン数と推定容量の把握、投稿タイプ別の削除、テーブルの最適化までを一画面で行えます。 同じ操作は WP-CLI と Abilities API からも呼べるので、人が見ていない場面でも整理を進められます。
wp_posts から直接読んでいるので、最初に開いた画面の数値は同じに見えるはずです。旧プラグインと連携していた tnrc_security_event アクションは今も発火するため、既存の監査ログはそのまま動きます。
こんな方におすすめ
- 長年運用したブログで
wp_postsが肥大化している - Better Delete Revision が使えなくなり、代替を探している
- リビジョン削除前にどこに何件あるかを確かめたい
- 投稿・固定ページ・カスタム投稿タイプごとに削除範囲を絞りたい
- 定時実行のスクリプトやエージェントに、整理を任せたい
主な機能
安全性への配慮
| 項目 | 内容 |
|---|---|
| 削除対象 | revision 投稿タイプのみ(公開済み記事は対象外) |
| 削除 API | WordPress 標準の wp_delete_post_revision() を使用 |
| 権限 | 閲覧は edit_posts、削除と最適化は manage_options(どちらもフィルタ可) |
| 実行前の確認 | 画面の違う場所で2回。いずれも削除件数を明示(JavaScript を切っていても動作) |
| CSRF 対策 | nonce と権限チェック。ability と WP-CLI は各自で権限を確認 |
| レート制限 | 画面からの破壊的操作は 30 秒クールダウン |
| バッチ上限 | 1 回の呼び出しで最大 1,000 件。結果が残り件数を返す |
| 最適化の対象 | wp_posts と wp_postmeta の2つに固定(許可リスト) |
Better Delete Revision との違い
Better Delete Revision は 2022 年に WordPress.org から削除されました(セキュリティ上の問題)。 本プラグインは同様の「リビジョン確認 → 削除 → テーブル最適化」の流れを継承しつつ、 投稿タイプ別フィルタ・中止できる進捗つきバッチ削除・現行のコーディング規約とセキュリティ対策を追加しています。
画面を使わずに動かす
管理画面だけで完結させても構いませんが、同じ操作をコマンドからも呼べます。
wp revision-autopilot count
wp revision-autopilot delete --scope=post --limit=100
wp revision-autopilot optimize
--dry-run は何も触らずに対象だけ報告します。--all は何も残らなくなるまで上限付きのバッチを繰り返すので、cron に置けば人が見ていなくても片付きます。
WordPress 6.9 以降であれば、同じ操作を ability としても公開しています。ability を発見できるものであれば何であれ、何を受け取って何を返すのかを理解し、実行が許可されているかを確かめ、構造化された結果を読み取れます。
画面・コマンド・ability の3経路は同じコードの上に乗っているので、どこから呼んでも結果は同じです。
動作環境
- WordPress 5.9 以上(WordPress 7.1 でテスト済み)
- PHP 8.1 以上
- ability の利用には WordPress 6.9 以上(それ未満では登録されないだけで、画面と WP-CLI は同じように動作)
- マルチサイト: 未対応
インストール方法
- 管理画面 → プラグイン → 新規追加 → 「Revision Autopilot」で検索 → 今すぐインストール → 有効化
- または WordPress.org のプラグインページから ZIP をダウンロードし、
wp-content/plugins/にアップロードして有効化 - ツール → Revision Autopilot を開く
よくある質問
- 公開済みの記事も消えますか?
- いいえ。削除されるのはリビジョン(
post_type = revision)のみです。削除の前に候補はすべてwp_is_post_revision()で確認されます。 - 削除を取り消せますか?
- できません。データベースバックアップからの復元が必要です。
- 一度に何件まで削除できますか?
- 1 回の呼び出しで最大 1,000 件です。画面から実行した場合は自動的にバッチが繰り返されるので、何万件あっても押すボタンは1回で済みます。進捗バーが1バッチごとに残り件数を伝えます。
- 削除の途中でやめられますか?
- はい。進捗の横の「中止」を押すと、進行中のバッチが終わった時点で止まります。すでに削除されたぶんはそのまま残り、もう一度実行すれば続きから進みます。
- リビジョンを削除してもデータベースが小さくなりません。
- 行を削除してもテーブルのファイルは縮みません。縮むのは OPTIMIZE を実行したときだけです。削除の後にテーブルの最適化を実行してください。
- 日本語で使えますか?
- はい。日本語の翻訳を同梱しているので、サイトの言語設定が日本語なら管理画面も日本語で表示されます。
- コマンドラインを使わないといけませんか?
- いいえ。すべてツールメニューの下の画面にあります。WP-CLI と ability は、人が見ていなくても整理が進むべきサイトのためにありますが、どれも必須ではありません。
無料・GPL ライセンス。WordPress.org 公式ディレクトリからインストールできます
WordPress.org で無料ダウンロード開発者について
本プラグインは Takahiro Nishii が開発・保守しています。 WordPress サイトの運用・自動化(スクレイピング、REST API 連携、セキュリティ強化)を中心に活動しています。 なぜ2本作って1本に畳んだのかは 開発ストーリーに書きました。