WordPressの投稿を一括削除する方法|テーマ・プラグイン設定はそのまま残す完全ガイド

WordPressの投稿を一括削除する方法|テーマ・プラグイン設定はそのまま残す完全ガイド

WordPressの投稿だけを削除したい!よくあるお悩みと解決方法

WordPressを長年運用していると、「デザインや設定はそのままで、投稿データだけを削除したい」という場面に遭遇することがあります。

こんな時に役立つ一括削除の方法

  • 企業ブログを採用サイトに転用:5年分の記事(1,000件以上)を削除して新スタート
  • テスト環境の本番移行:開発中のダミー記事を削除してクライアントに納品
  • サイトリニューアル:過去のコンテンツを一掃して新しいジャンルで再出発
  • 同じデザインで別サイト制作:美容院のサイトデザインを飲食店用に転用

WordPressの管理画面から1つずつ削除すると何時間もかかりますが、データベースを直接操作すれば約1分で完了します。

この方法のメリット

1,000件の記事も1分で削除
テーマのカスタマイズは完全保持
プラグイン設定もそのまま
ACFなどのカスタムフィールド構成も残る
メニューやウィジェット設定も維持

WordPressデータベースの仕組みを理解しよう

WordPressは投稿データと設定データを別々に管理しています。そのため、投稿データだけを削除しても、サイトの基本構造は影響を受けません。

削除されるデータ

  • 通常の投稿記事
  • カスタム投稿タイプ(商品、イベントなど)
  • カテゴリー・タグ
  • カスタムタクソノミー
  • 投稿に紐づくカスタムフィールド値
  • コメント

残るデータ

  • 固定ページ
  • メディアファイル
  • テーマ設定
  • プラグイン設定
  • メニュー構成
  • ウィジェット配置
  • ACFのフィールドグループ設定

事前準備:データベースバックアップは必須

データベース操作にはリスクが伴います。必ずバックアップを取ってから作業を開始してください。

なぜバックアップが重要なのか

データベースの直接操作は「元に戻す」機能がありません。一度実行したら取り消せないため、バックアップが唯一の保険となります。

ステップ1:phpMyAdminにアクセスする

phpMyAdminは、データベースを視覚的に操作できるツールです。各レンタルサーバーの管理画面からアクセスできます。

主要レンタルサーバー別アクセス方法

エックスサーバー

  1. サーバーパネルにログイン
  2. 「データベース」セクションの「phpMyAdmin」をクリック
  3. 左側のリストからデータベース名を選択

ロリポップ

  1. ユーザー専用ページにログイン
  2. 「サーバーの管理・設定」→「データベース」
  3. 「phpMyAdminを開く」ボタンをクリック

さくらインターネット

  1. コントロールパネルにログイン
  2. 「Webサイト/データ」→「データベース」
  3. 「phpMyAdmin」ボタンをクリック

ConoHa WING

  1. コントロールパネルにログイン
  2. 「データベース」メニューを選択
  3. 該当データベースの「phpMyAdmin」をクリック

ステップ2:使用中のデータベースを特定する

データベース名の確認方法

方法1:WordPress管理画面から確認

  1. 「ツール」→「サイトヘルス」
  2. 「情報」タブをクリック
  3. 「データベース」セクションを展開
  4. 「データベース名」を確認

方法2:wp-config.phpファイルから確認

define('DB_NAME', 'ここにデータベース名が記載');

ステップ3:データベースのバックアップを取る(超重要)

phpMyAdminでバックアップを作成します。この作業は絶対に省略しないでください。

バックアップの手順

  1. 左側でデータベース名をクリック
  2. 上部メニューの「エクスポート」をクリック
  3. そのまま「実行」ボタンをクリック
  4. SQLファイルがダウンロードされる

バックアップファイルの管理

  • ファイルサイズ:数MB以上あることを確認
  • ファイル名:日付を追加して保存(例:database_20240115.sql
  • 保存場所:クラウドストレージなど安全な場所に保管

重要:このファイルがあれば、失敗しても必ず元に戻せます。復元時はデータベースを空にしてからインポートする必要があります。

ステップ4:テーブル接頭辞を確認する

WordPressのテーブルには接頭辞(プレフィックス)が付いています。これを正確に把握することが成功の鍵です。

接頭辞の見分け方

phpMyAdminでデータベースを選択すると、以下のようなテーブルが表示されます:

  • wp_postswp_postmetawp_terms → 接頭辞は「wp_
  • wp1_postswp1_postmetawp1_terms → 接頭辞は「wp1_
  • wpx_postswpx_postmetawpx_terms → 接頭辞は「wpx_

この接頭辞を必ずメモしてください。

ステップ5:投稿データ削除SQLを実行する

いよいよ投稿データを削除します。慎重に作業を進めてください。

実行手順

  1. phpMyAdminの上部メニューで「SQL」タブをクリック
  2. 下記のコードをコピー
  3. すべての「wp_」を実際の接頭辞に置換
  4. テキストエリアに貼り付け
  5. 「実行」ボタンをクリック

文字列置換の詳しい方法

Windowsでの置換

  1. コードをメモ帳に貼り付け
  2. 「編集」→「置換」(Ctrl+H)
  3. 「検索する文字列」:wp_
  4. 「置換後の文字列」:実際の接頭辞(例:wp1_
  5. 「すべて置換」をクリック

Macでの置換

  1. コードをテキストエディットに貼り付け
  2. 「編集」→「検索」→「検索と置換」(Command+F)
  3. 検索欄:wp_
  4. 置換欄:実際の接頭辞(例:wp1_
  5. 「すべて」ボタンをクリック

投稿データ完全削除コード

-- =====================================================
-- WordPress 投稿データの完全削除
-- 実行前に必ず「wp_」を正しい接頭辞に置換してください
-- =====================================================

-- 1. すべての投稿を削除(固定ページとメディアは残す)
DELETE FROM wp_posts 
WHERE post_type NOT IN (
    'page', 'attachment', 'nav_menu_item', 'custom_css', 
    'customize_changeset', 'wp_block', 'wp_template', 
    'wp_template_part', 'wp_global_styles', 'wp_navigation'
);

-- 2. カスタムフィールドを削除
DELETE FROM wp_postmeta 
WHERE post_id NOT IN (SELECT ID FROM wp_posts);

-- 3. 投稿との関連付けを削除
DELETE FROM wp_term_relationships 
WHERE object_id NOT IN (SELECT ID FROM wp_posts);

-- 4. カテゴリー・タグ・カスタム分類を削除
DELETE FROM wp_term_taxonomy 
WHERE taxonomy NOT IN ('nav_menu', 'link_category');

-- 5. 使われなくなった分類名を削除
DELETE FROM wp_terms 
WHERE term_id NOT IN (SELECT term_id FROM wp_term_taxonomy);

-- 6. 分類の追加情報を削除
DELETE FROM wp_termmeta 
WHERE term_id NOT IN (SELECT term_id FROM wp_terms);

-- 7. コメントを削除
DELETE FROM wp_comments 
WHERE comment_post_ID NOT IN (SELECT ID FROM wp_posts);

-- 8. コメントの追加情報を削除
DELETE FROM wp_commentmeta 
WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);

-- 9. デフォルトカテゴリーを再作成
INSERT INTO wp_terms (term_id, name, slug, term_group) 
VALUES (1, '未分類', 'uncategorized', 0)
ON DUPLICATE KEY UPDATE name = '未分類';

INSERT INTO wp_term_taxonomy (term_id, taxonomy, description, parent, count) 
VALUES (1, 'category', '', 0, 0)
ON DUPLICATE KEY UPDATE taxonomy = 'category';

-- 10. 設定を更新
UPDATE wp_options SET option_value = '1' WHERE option_name = 'default_category';

-- 11. ID番号をリセット
ALTER TABLE wp_posts AUTO_INCREMENT = 1;
ALTER TABLE wp_postmeta AUTO_INCREMENT = 1;
ALTER TABLE wp_terms AUTO_INCREMENT = 1;
ALTER TABLE wp_term_taxonomy AUTO_INCREMENT = 1;
ALTER TABLE wp_term_relationships AUTO_INCREMENT = 1;
ALTER TABLE wp_termmeta AUTO_INCREMENT = 1;
ALTER TABLE wp_comments AUTO_INCREMENT = 1;
ALTER TABLE wp_commentmeta AUTO_INCREMENT = 1;

実行後、「クエリが正常に実行されました」と表示されれば成功です。

ステップ6:WordPress管理画面で動作確認

削除作業が完了したら、必ず動作確認を行いましょう。

確認すべき項目チェックリスト

  1. ダッシュボード
    • 「概要」の投稿数が0になっているか
  2. 投稿関連
    • 「投稿」→「投稿一覧」:0件になっているか
    • 「投稿」→「カテゴリー」:「未分類」のみか
  3. 固定ページ
    • 「固定ページ」→「固定ページ一覧」:ページが残っているか
  4. プラグイン設定
    • ACFのフィールドグループ:設定が残っているか
    • カスタム投稿タイプ:設定が残っているか
    • その他プラグイン:設定が維持されているか

新規投稿テスト

最も重要なのは、新しい投稿が正常に作成できるかの確認です。

  1. 「投稿」→「新規追加」
  2. タイトルと本文を入力
  3. カテゴリーは自動的に「未分類」が選択される
  4. 「公開」ボタンをクリック
  5. 投稿が正常に表示されるか確認

トラブルシューティング:よくあるエラーと対処法

エラー1:Table ‘wp_posts’ doesn’t exist

原因:テーブル接頭辞が間違っています。

解決方法

  1. phpMyAdminでテーブル名を再確認
  2. コードをメモ帳にコピーし直す
  3. すべてのwp_を正しい接頭辞に置換
  4. 置換後のコードを再実行

確認方法:Ctrl+Fでwp_を検索し、1つも残っていないことを確認

エラー2:Duplicate entry ‘1’ for key ‘PRIMARY’

原因:デフォルトカテゴリーがすでに存在しています。

解決方法:このエラーは無視して問題ありません。正常に処理されています。

エラー3:管理画面でエラーが表示される

原因:必要なデータまで削除してしまった可能性があります。

解決方法:バックアップから復元します。

正しい復元手順

  1. phpMyAdminで該当データベースを選択
  2. 「構造」タブをクリック
  3. 「すべてチェックする」をクリック
  4. 「チェックしたものを:」で「削除」を選択
  5. 確認画面で「はい」をクリック
  6. 「インポート」タブをクリック
  7. バックアップファイルを選択
  8. 「実行」をクリック

作業後の重要な注意事項

セキュリティ対策

  1. phpMyAdminからログアウト
    • 作業完了後は必ずログアウト
    • セッションを残さない
  2. バックアップファイルの管理
    • 最低1ヶ月は保管
    • パスワード付きZIPで圧縮
    • 安全な場所に保存

メディアファイルについて

メディアライブラリの画像や動画は削除されません。これらはwp-content/uploadsフォルダに保存されているためです。

削除されたのは「どの投稿でどの画像を使っていたか」という関連情報のみで、メディアファイル自体は再利用可能です。

まとめ:WordPressの投稿一括削除で効率的なサイト管理を

WordPressの投稿データを一括削除する方法は、正しい手順で行えば安全かつ効率的です。

成功のポイント

  1. 必ずバックアップを取る
  2. テーブル接頭辞を正確に置換
  3. 削除後の動作確認を徹底

この方法により、数時間かかる作業を1分で完了できます。サイトリニューアルや転用時の作業効率が大幅に向上し、クライアントワークでも活用できる実用的なテクニックです。

データベース操作は慎重に行う必要がありますが、この記事の手順に従えば、初心者でも安全に実行できます。ぜひ、WordPressサイト管理の効率化にお役立てください。

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事