WordPressプラグインの削除:管理画面で削除した後に残るDBまで消す方法

WordPressプラグインの削除は管理画面のボタン一つで終わりますが、プラグインが作ったテーブルや設定はデータベースにそのまま残ることがよくあります。このサイトにも、以前削除した広告・コメントの2つのプラグインのテーブル8個とオプション38行が、2026-10-09時点で残っています。
管理画面での削除方法から、残ったショートコード・フォルダ・DBを整理する方法まで順にまとめました。
1️⃣ 管理画面でプラグインを削除する
[プラグイン] > [インストール済みプラグイン]で、まず[無効化]を押してから、同じ行に表示される[削除]を押します。

プラグインに後片付けのコードがあればこのとき一緒に実行され、なければファイルだけが消えてデータは残ります。
2️⃣ 削除してもデータが残る理由
WordPressはプラグインを削除するとき、そのプラグインの[uninstall.php]ファイルか、[register_uninstall_hook]で登録された関数を実行します。データの削除はこのコードに任されているため、コードがない、または一部しか消さないプラグインはテーブルやオプションを残します。
開発者が意図的に残す場合もあり、再インストールしたときに設定をそのまま戻せるようにするためです。Wordfenceのように設定画面にデータも一緒に消す選択肢を用意するプラグインもあり、多言語プラグインのPolylangも同じ選択肢を用意しています。

3️⃣ 残ったデータがサイトに与える影響
残ったオプションのうち[autoload]が有効な行は、ページを開くたびにほかの設定と一緒にメモリへ読み込まれます。このサイトに残っていたwpDiscuzの[wc_options](15KB)とAdvanced Adsの[advanced-ads-ab-module](14KB)がそうした行でした。
ただしこのサイトのautoload合計は約392KBで、そのうち残った行は約39KBなので、体感できるほどの速度差にはなりません。WordPressの[サイトヘルス]画面は、autoload合計が800KBを超えると警告を表示します。
残った23行のautoloadをオフにすると、Advanced Database Cleanerの[オートロードサイズ]が391.52KBから353.36KBに減りました。


普段は問題になりません。キャッシュされたページを受け取る訪問者はPHPを通らないため、autoloadのまとまりを読み込むのは、管理画面・キャッシュ削除直後の最初の訪問・ボットのようにキャッシュを通らないリクエストだけです。こうしたリクエストが一度に集中すると、リクエストの数だけautoloadのまとまりをメモリに展開するため、autoloadが大きいサイトほどサーバー負荷が急に増えます。
autoloadがオフのオプションや残ったテーブルは、そのプラグインがなければ読み込まれないため速度とは関係がなく、データベースの容量とバックアップのサイズが増えるだけです。
4️⃣ 残った痕跡を消す
データベースに手を入れる前に、まず全体をバックアップします。
🔲 ショートコード
プラグインが記事に入れていたショートコードは、プラグインを削除すると角括弧の文字のまま本文に表示されます。記事を一つずつ直すまでは、テーマの[functions.php]に下の1行を入れて、そのショートコードが何も出力しないようにします。
add_shortcode( 'pluginshortcode', '__return_false' );このサイトも表プラグインのショートコードを10個ほど使っていましたが、セキュリティ問題でプラグインを削除したときにショートコードとテーブルを一つずつ整理し、それ以降はショートコードを使っていません。
🔲 プラグインフォルダ
管理画面で消えなかったフォルダは、FTP・cPanel・SSHで[wp-content/plugins]の下から直接削除します。
🔲 DBのテーブル・行(phpMyAdmin)
ほとんどのホスティングがphpMyAdminを提供しています。

残ったテーブルは、[構造]タブでプラグイン名が入ったテーブルを探して削除します。下はYoast SEOを例にした画面です。

オプションのような行は、[検索]でワイルドカード[%]を付けて[%yoast%]のように探します。


[行フィルタ]でもう一度絞り込むと、Yoast SEOだけに関係する行かどうかを確認できます。

行は主に[wp_options]・[wp_postmeta]・[wp_usermeta]に残り、テーブル名の前の[wp_]はサイトによって異なることがあります。名前だけを見て消すと他のプラグインが使う行まで消すことがあるため、どのプラグインのものか確認した行だけを削除します。
5️⃣ DB整理プラグイン
phpMyAdminの代わりに管理画面で整理するなら、Advanced Database Cleanerを使います。このサイトでも使っており、オプションやテーブルごとにどのプラグインのものかを[所属]で表示するため、消してよい行を見分けられます。
[所属]が[まだスキャンされていません]の行は、使われていない行ではなく、持ち主がまだ分からない行です。このサイトでも見慣れない名前の多くが、Kadence Blocks Pro・WP Ghostのように現在有効なプラグインのライセンスや設定で、こうした行を消すとライセンスが外れたり設定が初期化されたりします。
そのため、削除したプラグインの行でもすぐには消さず、まずautoloadをオフにします。値はそのまま残るのでいつでも元に戻せ、数日間サイトに問題がなければそのときに削除します。


WP-Optimizeも無料版で残ったテーブルを削除できます。


🔢 FAQ & おすすめコンテンツ
ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。