WordPressの投稿を一括削除する方法|テーマ・プラグイン設定はそのまま残す完全ガイド
WordPressの投稿だけを削除したい!よくあるお悩みと解決方法
WordPressを長年運用していると、「デザインや設定はそのままで、投稿データだけを削除したい」という場面に遭遇することがあります。
こんな時に役立つ一括削除の方法
- 企業ブログを採用サイトに転用:5年分の記事(1,000件以上)を削除して新スタート
- テスト環境の本番移行:開発中のダミー記事を削除してクライアントに納品
- サイトリニューアル:過去のコンテンツを一掃して新しいジャンルで再出発
- 同じデザインで別サイト制作:美容院のサイトデザインを飲食店用に転用
WordPressの管理画面から1つずつ削除すると何時間もかかりますが、データベースを直接操作すれば約1分で完了します。
この方法のメリット
✅ 1,000件の記事も1分で削除
✅ テーマのカスタマイズは完全保持
✅ プラグイン設定もそのまま
✅ ACFなどのカスタムフィールド構成も残る
✅ メニューやウィジェット設定も維持
WordPressデータベースの仕組みを理解しよう
WordPressは投稿データと設定データを別々に管理しています。そのため、投稿データだけを削除しても、サイトの基本構造は影響を受けません。
削除されるデータ
- 通常の投稿記事
- カスタム投稿タイプ(商品、イベントなど)
- カテゴリー・タグ
- カスタムタクソノミー
- 投稿に紐づくカスタムフィールド値
- コメント
残るデータ
- 固定ページ
- メディアファイル
- テーマ設定
- プラグイン設定
- メニュー構成
- ウィジェット配置
- ACFのフィールドグループ設定
事前準備:データベースバックアップは必須
データベース操作にはリスクが伴います。必ずバックアップを取ってから作業を開始してください。
なぜバックアップが重要なのか
データベースの直接操作は「元に戻す」機能がありません。一度実行したら取り消せないため、バックアップが唯一の保険となります。
ステップ1:phpMyAdminにアクセスする
phpMyAdminは、データベースを視覚的に操作できるツールです。各レンタルサーバーの管理画面からアクセスできます。
主要レンタルサーバー別アクセス方法
エックスサーバー
- サーバーパネルにログイン
- 「データベース」セクションの「phpMyAdmin」をクリック
- 左側のリストからデータベース名を選択
ロリポップ
- ユーザー専用ページにログイン
- 「サーバーの管理・設定」→「データベース」
- 「phpMyAdminを開く」ボタンをクリック
さくらインターネット
- コントロールパネルにログイン
- 「Webサイト/データ」→「データベース」
- 「phpMyAdmin」ボタンをクリック
ConoHa WING
- コントロールパネルにログイン
- 「データベース」メニューを選択
- 該当データベースの「phpMyAdmin」をクリック
ステップ2:使用中のデータベースを特定する
データベース名の確認方法
方法1:WordPress管理画面から確認
- 「ツール」→「サイトヘルス」
- 「情報」タブをクリック
- 「データベース」セクションを展開
- 「データベース名」を確認
方法2:wp-config.phpファイルから確認
define('DB_NAME', 'ここにデータベース名が記載');
ステップ3:データベースのバックアップを取る(超重要)
phpMyAdminでバックアップを作成します。この作業は絶対に省略しないでください。
バックアップの手順
- 左側でデータベース名をクリック
- 上部メニューの「エクスポート」をクリック
- そのまま「実行」ボタンをクリック
- SQLファイルがダウンロードされる
バックアップファイルの管理
- ファイルサイズ:数MB以上あることを確認
- ファイル名:日付を追加して保存(例:
database_20240115.sql
) - 保存場所:クラウドストレージなど安全な場所に保管
重要:このファイルがあれば、失敗しても必ず元に戻せます。復元時はデータベースを空にしてからインポートする必要があります。
ステップ4:テーブル接頭辞を確認する
WordPressのテーブルには接頭辞(プレフィックス)が付いています。これを正確に把握することが成功の鍵です。
接頭辞の見分け方
phpMyAdminでデータベースを選択すると、以下のようなテーブルが表示されます:
wp_posts
、wp_postmeta
、wp_terms
→ 接頭辞は「wp_」wp1_posts
、wp1_postmeta
、wp1_terms
→ 接頭辞は「wp1_」wpx_posts
、wpx_postmeta
、wpx_terms
→ 接頭辞は「wpx_」
この接頭辞を必ずメモしてください。
ステップ5:投稿データ削除SQLを実行する
いよいよ投稿データを削除します。慎重に作業を進めてください。
実行手順
- phpMyAdminの上部メニューで「SQL」タブをクリック
- 下記のコードをコピー
- すべての「wp_」を実際の接頭辞に置換
- テキストエリアに貼り付け
- 「実行」ボタンをクリック
文字列置換の詳しい方法
Windowsでの置換
- コードをメモ帳に貼り付け
- 「編集」→「置換」(Ctrl+H)
- 「検索する文字列」:
wp_
- 「置換後の文字列」:実際の接頭辞(例:
wp1_
) - 「すべて置換」をクリック
Macでの置換
- コードをテキストエディットに貼り付け
- 「編集」→「検索」→「検索と置換」(Command+F)
- 検索欄:
wp_
- 置換欄:実際の接頭辞(例:
wp1_
) - 「すべて」ボタンをクリック
投稿データ完全削除コード
-- =====================================================
-- 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管理画面で動作確認
削除作業が完了したら、必ず動作確認を行いましょう。
確認すべき項目チェックリスト
- ダッシュボード
- 「概要」の投稿数が0になっているか
- 投稿関連
- 「投稿」→「投稿一覧」:0件になっているか
- 「投稿」→「カテゴリー」:「未分類」のみか
- 固定ページ
- 「固定ページ」→「固定ページ一覧」:ページが残っているか
- プラグイン設定
- ACFのフィールドグループ:設定が残っているか
- カスタム投稿タイプ:設定が残っているか
- その他プラグイン:設定が維持されているか
新規投稿テスト
最も重要なのは、新しい投稿が正常に作成できるかの確認です。
- 「投稿」→「新規追加」
- タイトルと本文を入力
- カテゴリーは自動的に「未分類」が選択される
- 「公開」ボタンをクリック
- 投稿が正常に表示されるか確認
トラブルシューティング:よくあるエラーと対処法
エラー1:Table ‘wp_posts’ doesn’t exist
原因:テーブル接頭辞が間違っています。
解決方法:
- phpMyAdminでテーブル名を再確認
- コードをメモ帳にコピーし直す
- すべての
wp_
を正しい接頭辞に置換 - 置換後のコードを再実行
確認方法:Ctrl+Fでwp_
を検索し、1つも残っていないことを確認
エラー2:Duplicate entry ‘1’ for key ‘PRIMARY’
原因:デフォルトカテゴリーがすでに存在しています。
解決方法:このエラーは無視して問題ありません。正常に処理されています。
エラー3:管理画面でエラーが表示される
原因:必要なデータまで削除してしまった可能性があります。
解決方法:バックアップから復元します。
正しい復元手順
- phpMyAdminで該当データベースを選択
- 「構造」タブをクリック
- 「すべてチェックする」をクリック
- 「チェックしたものを:」で「削除」を選択
- 確認画面で「はい」をクリック
- 「インポート」タブをクリック
- バックアップファイルを選択
- 「実行」をクリック
作業後の重要な注意事項
セキュリティ対策
- phpMyAdminからログアウト
- 作業完了後は必ずログアウト
- セッションを残さない
- バックアップファイルの管理
- 最低1ヶ月は保管
- パスワード付きZIPで圧縮
- 安全な場所に保存
メディアファイルについて
メディアライブラリの画像や動画は削除されません。これらはwp-content/uploads
フォルダに保存されているためです。
削除されたのは「どの投稿でどの画像を使っていたか」という関連情報のみで、メディアファイル自体は再利用可能です。
まとめ:WordPressの投稿一括削除で効率的なサイト管理を
WordPressの投稿データを一括削除する方法は、正しい手順で行えば安全かつ効率的です。
成功のポイント
- 必ずバックアップを取る
- テーブル接頭辞を正確に置換
- 削除後の動作確認を徹底
この方法により、数時間かかる作業を1分で完了できます。サイトリニューアルや転用時の作業効率が大幅に向上し、クライアントワークでも活用できる実用的なテクニックです。
データベース操作は慎重に行う必要がありますが、この記事の手順に従えば、初心者でも安全に実行できます。ぜひ、WordPressサイト管理の効率化にお役立てください。
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。