気軽に行えることではありませんが、状況によっては、WordPressサイトのコメントの一括削除が必要になることがあります。
その時に問題になるのが、デフォルトの方法では非常に手間がかかり、何百、何千もコメントがたまっている場合には、削除自体が不可能かもしれないということ。
WordPressサイトでコメントを一括削除する方法について動画での解説もご用意しています
そんな状況に陥り、この記事に辿り着いたあなたに朗報です。WordPressサイトのコメントは、効率的に削除することができます。この記事では、一般的な削除方法、プラグインを使用した削除方法、そしてデータベースに変更を加えて削除する方法をご紹介します。
コメントの一括削除が必要になる事例
すべてのコメントの削除が必要になる理由はさまざまですが、以下のような場合はすぐに実行したいものです。
- サイトを白紙の状態からやり直したい、またはサイト全体を再利用したい。
- 過去のコメントを削除して、コメント機能を無効にしたい。
- テストサイトが仮のコメントで溢れていて、本番サイト稼働前に削除したい。
- スパムコメントが多数あるのに、Akismetなどのアンチスパムプラグインが適切に検出してくれない(この場合は、全てのコメントを削除する前に、CleanTalkやAntispam Beeなどの代替プラグインを試してみるのが得策)。
- ネガティブキャンペーンなどの標的にされ、何百もの悪意あるコメントで埋め尽くされている。
上記で挙げた例では、コメントの削除後にプラスαの操作も行うことになります。例えば、スパムによってサイトがダウンした場合は、Captchaの設定や、代替コメントプラグインの使用などで、ボットを排除するための対策を実装するのが賢明です。
誹謗中傷などにより、サイトが攻撃を受けた場合は、Auto Comment Moderationプラグインを使用して、悪意のある言動を検出することも可能です。また、「コメント」タブでIPアドレスを確認して、「設定」>「ディスカッション」の「コメントブラックリスト」に追加すれば、そのユーザーのコメント投稿を禁止することも。
また、Disable Commentsプラグインでコメントを無効にすることもできます。
コメントを一括削除する前に
状況によっては、早急に削除が必要になることもあります。例えば、スパムリンクはSEOに大きな影響を与える可能性があり、スパムコメントの流入を速やかに遮断したいと思うのは当然のことです。
しかし、実行する前に、サイトやデータベースのバックアップをお忘れなく(特にデータベースを編集するなどの高度な作業を行う場合)。
データベースは、誤って操作すればサイトを壊してしまう可能性があり、慎重に扱わなければなりません。バックアップさえ作成しておけば、最悪の事態が発生しても、簡単に復元可能です。また、誤って残しておきたいコメントを削除してしまい、バックアップの復元やデータベースの復元が必要になる可能性もゼロではありません。
いずれにせよ、サイトに大きな変更を加える前には、必ずバックアップを取っておきましょう。
方法1. WordPressデータベースのバックアップを作成する
WordPressサイトのコメントは、サイトのファイルではなく、データベースのエントリ「wp_comments」と「wp_commentmeta」に格納されています。したがって、サイト全体をバックアップするのではなく、データベースをエクスポートすればOKです。
Kinstaを含め、ほとんどのサーバー/ホスティングサービスがphpMyAdminを採用しており、これがデフォルトでインストールされています。Kinsta以外のサーバーを利用している場合は、cPanelでphpMyAdminにアクセスするのが一般的です。手順とログイン認証情報については、ご利用中のサーバーに直接確認してください。
Kinstaを利用されている場合、MyKinstaにログイン後、「サイト」>(サイト名)>「情報」に移動して、「データベースへのアクセス」セクションにある「phpMyAdminを開く」をクリックすると、phpMyAdminにアクセスできます。ログイン承認情報は、「データベースへのアクセス」セクションで確認することができます。
phpMyAdminにログイン後、画面上部にある 「Export」タブを開きます。次の画面で「Export method:(エクスポート方法)」の「Quick」を選択し、「Go」をクリックすると、SQLファイルをダウンロードできます。
または、MyKinstaでバックアップを作成して、フォルダ内のSQLファイルを保存するという手もあります。
方法2. WordPressサイト全体のバックアップを作成する
サイト全体のバックアップは必須というわけではありませんが、サイトの外部バックアップを取って損をすることはありません。ただし、サイトのファイルのバックアップだけでなく、データベース(SQLファイル)を含む完全なバックアップを作成してください。
Kinstaでは、サイトのバックアップを簡単に作成することができます。MyKinstaにログインし、「サイト」>「(サイト名)」>「バックアップ」に移動します。「ダウンロード」タブを選択して、「今すぐバックアップを作成」ボタンをクリックします。処理が完了すると、「バックアップファイルをダウンロードする」ボタンが出現します。これをクリックすれば完了です。
Kinsta以外を利用されている場合、サーバーによってはバックアップ機能がありますが、そうでなければプラグインを使用してください。
UpdraftPlusは、人気の無料バックアッププラグインです。「プラグイン」>「新規追加」からダウンロードし、「設定」>「UpdraftPlus Backups」に移動します。
操作は非常に簡単で、「Backup / Restore」タブの「Backup Now」ボタンをクリックするだけです。「Include your database in the backup(データベースもバックアップする)」に必ずチェックを入れてください。また、今回の場合、「Include your files in the backup(ファイルもバックアップする)」はチェックを外しても問題ありません。
その後、「Existing backups」までスクロールダウンして、作成したバックアップを確認してください。「Backup data (click to download)」のボタンをクリックすると、ファイルがPCに保存されます。
これで、下準備完了です。早速WordPressサイトのコメントを一括削除していきましょう。
WordPressサイトのコメントを一括削除するには(4つの方法)
WordPressのコメントを一括削除する方法はいくつかあります。
WordPressデフォルトのツールを使用して削除することもできますが、効率的とは言えません。ワンクリックで一括削除できるプラグインを使うのが1番簡単です。また、データベースに直接アクセスする手もありますが、これはやや高度な手法になります。
それぞれの方法をご紹介していきますので、自分に合った方法を選択してください。
WordPressの管理画面で削除
コメントの削除機能は、WordPressに組み込まれているため、必ずしもプラグインの使用やデータベースへのアクセスが必要になるわけではありません。初めて実行する場合は、少し慣れが必要になるかもしれませんが、基本的に投稿や固定ページを一括編集するのと同じ手順です。
WordPressの管理画面で「コメント」に移動します。コメント一覧の上にあるチェックボックスにチェックを入れて、すべてのコメントを選択します。次に、「一括操作」のドロップダウンメニューから「ゴミ箱へ移動」を選択して、「適用」をクリックします。
ただし、一度に20件までのコメントしか削除することができないため、すべてを削除するにはこの操作を繰り返します。
WordPressでは、通常30日後にゴミ箱が空になります。すべてのコメントを今すぐ完全に削除するには、「ゴミ箱」タブ(「コメント」という見出しのすぐ下にあるリンク)に移動して、「ゴミ箱を空にする」ボタンをクリックすればOKです。
この方法は、数ページだけ処理するのであれば問題ありませんが、数百、数千のコメントを削除する場合には手間がかかります。
大量のコメントが残っている場合には、プラグインを使用する方が賢明です。
プラグインを使用して削除
プラグインを利用すれば、大量のコメントを1ページずつ手動で削除することなく、瞬時に一括削除することができます。コメントをすべて削除して、サイトを再構成する場合に適した方法です。
コメント削除に役立つプラグインは多数ありますが、まずお勧めしたいのは、WP Bulk Deleteです。
このプラグインは、投稿からタクソノミーの項目まで、あらゆるものを一括削除することができます。今回は、コメントを削除する方法を見ていきます。
「プラグイン」>「新規追加」でプラグインをインストール・有効化して、サイドバーに出現する「WP Bulk Delete」をクリックします。「Delete Comments」に移動して、削除処理を設定します。
「Comment Status:」で「Approved Comments(承認されたコメント)」はもちろん、削除したいコメントすべてにチェックを入れてください(「Pending Comments(承認待ちのコメント)、「Spam Comments(スパムコメント)」、「Trash Comments(ゴミ箱内のコメント」)。また、残しておきたいコメントがある場合は、「Comment Date(コメントの日時)」セクションで、期間を指定してコメントを削除することも。このセクションで設定を行わない場合は、すべてのコメントが削除されます。
準備ができたら、「Delete Comments」をクリックして完了です。
Delete All Comments of WordPressも優れたプラグインで、すべてのコメント(または特定のカテゴリーのすべてのコメント)をワンクリックで一括削除することができます。フリーミアムの機能はなく、セットアップも瞬時に完了します。
プラグインをインストール・有効化したら、「ツール」>「Delete Comments」に移動し、「Delete Now」をクリックします。
たったこれだけです。どのプラグインを選んでも、数分でコメントを削除することができます。
phpMyAdminを使用して削除
WordPressデフォルトの一括操作がうまく機能しない、でもプラグインも使用したくない、またはプラグインが動作しない場合(例えばコメントが多すぎて一括削除しようとするとサイトがロックされてしまうなど)は、データベースに直接アクセスしましょう。
ただし、先ほども触れましたが、初心者向けとは言えない、やや高度な作業になります。また、実行前に必ずデータベースのバックアップを取りましょう。バックアップさえ取っておけば、安心して操作が行えます。
まずは、利用しているサーバーがデータベースへのアクセスを提供しているかどうか、どのコントロールパネルを使用しているか、そしてログイン認証情報を確認してください。データベースへのアクセスが許可されていない可能性もあります。データベースにアクセスできない場合は、別の方法でコメントを削除してください。
一つの選択肢がcPanelです。「データベース」セクションからphpMyAdminにアクセスします。Kinstaを利用している場合、コントロールパネルのMyKinstaからphpMyAdminに直接ログインすることができます。「サイト」>(サイト名)>「情報」に移動し、「データベースへのアクセス」セクションの「phpMyAdminを開く」をクリックします。
phpMyAdminの画面左側に、データベーステーブルの一覧が表示されます。サイトと同じ名前のテーブルを開き、リストの中から「wp_comments」と「wp_commentmeta」を見つけます(テーブル接頭辞が「wp_」でない場合は、commentsとcommentmetaが名前に入ったテーブルを選択)。
ボックスにチェックを入れてテーブルを選択し、画面下部の「With Selected:」ドロップダウンから「Empty」に変更します。なお、「Drop」を選択するとテーブルが削除されてしまうため、必ず「Empty」を選択してください。
これで、テーブル内のすべてのデータがクリアされ、WordPressサイトのすべてのコメントを完全に削除することができます。
MySQLクエリを使用して削除(データベースの編集)
中〜上級者向けですが、ビジュアルインターフェースよりもコマンドラインの使用に慣れている方、またはphpMyAdminが使用できない方には、これが1番シンプルな方法です。
ただし、コマンドライン経由でサーバーに接続する機能が必要になります(一部許可していないサーバーも)。Kinstaを利用されている場合は、MySQL Workbenchで、サイトのMySQLデータベースにアクセス可能です。
使用しているサーバーに問い合わせて、アクセス方法を確認してください。アクセスに必要なユーザー名、パスワード、接続ポートなどの情報を提供してくれるはずです。
データベースには、macOSやLinuxのターミナルを使ってアクセスすることができます。Windowsの場合は、Windows Terminal、またはサードパーティツールを使用するのが一般的です。また、OSを問わず、MySQL Workbenchのようなツールも使用できます。
ターミナル(例えば、MySQL Shellのインストール後)、または外部ツールを使用して必要情報を入力したら、以下のコマンドを実行するだけです。
TRUNCATE `wp_commentmeta`;
TRUNCATE `wp_comments`;
すると、phpMyAdminでテーブルを空にするのと同じように、すべてのコメントが削除されます。
まとめ
WordPressサイトですべてのコメントを削除するのは、気の遠くなる作業。特に何千もの不要なコメントがたまっている場合、WordPressに組み込まれている一括操作機能は非効率的です。
そんな時には、コメントの一括削除プラグインを使ってみてください。それでもうまくいかない場合は、phpMyAdminでコメントテーブルを空にしてみてください。最終手段として、コマンドラインを使用して、データベースに直接変更を加える方法もあります。
コメントが削除できたら、対策として、コメント欄からスパムボットを排除するプラグインや、不要なメッセージを自動で削除するプラグインを導入すれば、今後このような作業を再度行う必要はなくなるはずです。また、コメントを無効化してしまうのも手です。
今回のような状況に陥った時、バックエンドへのアクセスが許可されていないサーバーを利用していると厄介です。Kinstaのホスティングプランなら、データベースへのアクセスが簡単で、サイトを完全に管理することができます。