WordPressデータベースクリーンアップ:ジャンクを削除するための初心者ガイド
John Turner
ジョン・ターナー
投稿を編集するたびに、WordPressはリビジョンを保存します。プラグインがタスクを実行するたびに、期限切れの一時データが残る可能性があります。
ほとんどのサイト所有者は、何かがおかしいと感じるまでそれに気づきません。wp-adminの読み込みが遅くなったり、バックアップに時間がかかったり、移行が途中でタイムアウトしたりします。
その時点では、データベースはすでにあなたに不利に働いています。
このチュートリアルでは、WordPressデータベースのクリーニング方法を説明します。データベースの健全性を評価し、ジャンクを安全に削除し、テーブルを最適化し、クリーニングが実際に機能したことを確認します。
私は3年間公開されていたサイトでこのプロセスを実行しました。200MB以上の回復可能なスペースがあり、そのほとんどは私が触れることを考えたこともなかった投稿リビジョンによるものでした。
主なポイントは次のとおりです:
- DB Optimizerは、リビジョン、スパム、期限切れの一時データ、および削除前にプレビュー手順付きのテーブル最適化をすべて1か所で処理します。
- クリーニング前のバックアップは必須です。一部のプラグインは、クリーニングツールにとってジャンクのように見える方法で設定データを保存します。サーバー外に保存された検証済みバックアップがない場合、何かが壊れた場合の復旧パスはありません。
- 健全性スコアは問題の場所を示します。オートロードサイズは、wp-adminのパフォーマンス低下の最も一般的な原因であり、リビジョンや一時データの数には表示されません。クリーニングする前にダッシュボードタブを確認してください。
- 健全性スコアをチェックし、特に主要なプラグインのインストールまたは削除後にスコアが低下したときにクリーニングする月次の習慣を身につけましょう。
目次
WordPressデータベースをクリーニングする理由
ほとんどのデータベースジャンクは、ウェブサイトに影響を与え始めるまで見えません。データベースに注意が必要な警告サインをいくつか紹介します。
wp-adminが遅くなる
すべてのデータベースクエリは、必要以上に多くの行をふるいにかける必要があります。アクティブな公開サイトでは、投稿リビジョンテーブルは1年以内に数千行に膨れ上がることがあります。管理パネルは通常、最初にその影響を感じる場所です。
バックアップが大きくなる
バックアップサイズはデータベースサイズに直接関連しています。50MBのブロートをクリーンアップすると、将来のすべてのバックアップからその分が削減されます。時間の経過とともに、転送時間とクラウドストレージコストの両方で積み重なります。
移行がより危険になる
肥大化したデータベースは、バックアップと転送に時間がかかります。転送時間が長くなると、移行中にタイムアウトや接続エラーにさらされる可能性が高くなります。
肥大化したデータベースでは1時間以上かかった移行が、クリーンなデータベースでは数分で完了するのを見たことがあります。
オートロードデータはすべてのページリクエストでロードされます
一部のプラグインは、オートロードを有効にしてデータをwp_optionsテーブルに書き込みます。WordPressは、プラグインが現在必要としているかどうかにかかわらず、すべてのデータをすべてのページリクエストでロードします。
これはリビジョン数には表示されませんが、サイトの応答時間には表示されます。
肥大化は積み重なる
肥大化は、管理可能なレベルで停滞してそこに留まるわけではありません。投稿の編集、受信したコメント、有効化されたプラグインごとに成長します。6か月前は問題なかったデータベースが、今日では深刻な問題になる可能性があります。
WordPressデータベースをクリーンアップする方法
バックアップから検証まで、データベースをクリーンアップする全プロセスを以下に示します。
実行する内容は以下の通りです。
- ステップ1:Duplicatorでサイトをバックアップする:何も触る前に、クラウドストレージに検証済みのバックアップを作成して保存します。クリーンアップが何かを壊した場合、これが唯一の復旧パスです。
- ステップ2:DB Optimizerをインストールする:クリーンアップツールを配置するか、プランにバンドルされている場合はDuplicator Proからアクセスします。
- ステップ3:データベースの健全性スコアを確認する:0〜100のスコアを5つのカテゴリで読み取り、肥大化がどこにあるかを把握します。
- ステップ4:保持設定を調整する:クリーンアップでキャッチされるのを防ぐために最近作成されたデータを保護するしきい値を設定します。デフォルトの7日間のウィンドウは、ほとんどのサイトにとって良い出発点です。
- ステップ5:クリーンアップを実行する:リビジョン、スパム、トランジェント、その他のジャンクをバルクで削除します。各削除の前にプレビュー手順があり、確認なしに何も削除されません。
- ステップ6:データベーステーブルを最適化する:削除後に残った断片化されたスペースを回復します。
- ステップ7:クリーンアップが機能したことを確認する:健全性スコアが改善されたことを確認し、削除前後のデータベースサイズを確認し、完了と見なす前にライブサイトをスポットチェックします。
ステップ1:データベースのバックアップ
プラグインがアクティブに使用していたものを削除した場合、復旧方法は動作中のバックアップのみです。そのため、これは最初のステップであり、後から考えるものではありません。
Duplicatorは、150万人以上のサイトオーナーが使用しているWordPressのバックアップおよび移行プラグインです。無料版はサイト全体のバックアップを処理し、WordPressプラグインディレクトリから直接入手できます。

まだDuplicator Proを使用していない場合は、今すぐ無料版をインストールしてください。このステップはこれで完了します。
このチュートリアルでは後でDB Optimizerを使用します。これはDuplicator Proに含まれているため、アップグレードする価値があります。ただし、Duplicator Liteで作業したい場合は、DB Optimizerをスタンドアロンプラグインとして入手することもできます。
WordPressサイトにDuplicatorをインストールしてアクティブ化します。バックアップを作成するには、バックアップに移動し、新規追加をクリックします。

サーバー外のどこかにコピーを保存することをお勧めします。Duplicator Proには、ネイティブのDuplicatorクラウドストレージ、Amazon S3、Google Drive、Dropboxなどが組み込まれています。

サーバーがダウンしたり破損したりした場合、同じサーバーにあるバックアップは役に立ちません。クラウドコピーがあれば、Duplicator Pro を使用すると、ワンクリックでクラウドストレージから直接復元できます。
フルサイトプリセットを選択します。これには、ウェブサイト上のすべてのものが含まれます。

バックアップの構築を完了します。クラウドストレージを選択した場合、Duplicator はファイルを自動的にそこにアップロードします。バックアップをローカルに保存した場合は、両方のファイルをダウンロードしてください。

ステップ2:DB Optimizerのインストール
DB Optimizer は Duplicator 専用のデータベースクリーンアッププラグインです。リビジョン、トランジェント、スパム、孤立したキャッシュデータ、テーブルの最適化を処理します。

DB Optimizer で得られるものはこちらです:
- 0〜100 のデータベースヘルススコア
- Duplicator と統合されたクリーンアップ前のバックアップ
- 一括データベースクリーンアップ
- テーブルオーバーヘッド、トランジェント、リビジョン、オートロードサイズ、ゴミ箱アイテムを削除します
- 個別のデータベーステーブルのクリーンアップと修復
- 最近のデータを削除しないようにするためのカスタム保持期間
このプラグインは、Duplicator Pro または Elite プランに無料で含まれています。また、$29/年のスタンドアロンプラグインとしても利用できます。
プラグインを入手したら、Duplicator アカウントからダウンロードしてください。WordPress で新しいプラグインとしてアップロードし、アクティブ化します。
ステップ3:データベースの健全性スコアを確認する
DB Optimizer を開きます。すぐにデータベースヘルススコアが表示されます。これは 0 から 100 までの数値で、色分けされています。

緑はデータベースの状態が良いことを意味します。オレンジまたは赤は、対処する価値のある意味のある肥大化があることを意味します。
スコアは 5 つのカテゴリに分類されます:
- テーブルオーバーヘッド:行が削除された後に残った断片化されたスペース
- トランジェント:プラグインが保存したがクリーンアップしなかった期限切れのキャッシュ値
- リビジョン:すべての編集セッションからの投稿やページの保存バージョン
- オートロードサイズ:WordPress が必要かどうかに関わらず、すべてのページリクエストで読み込むデータ
- ゴミ箱アイテム:ゴミ箱フォルダにある投稿、ページ、コメント
私のテストサイトは最初の実行で 61 点でした。WordPress のデフォルトの無制限リビジョンストレージによる 3 年間の投稿編集があったため、ほとんどの問題はリビジョンにありました。それがわかったので、どこに焦点を当てるべきかが正確にわかりました。
クリーンアップを実行する前に、スコアが低いカテゴリに注意してください。これにより、クリーンアップで何を優先するかを決定できます。
ステップ4:保持設定を調整する
クリーンアップを実行する前に、保持しきい値を設定します。これは、DB Optimizer が最近作成または編集したものを削除しないようにするためのセーフガードです。
DB Optimizer 内の設定エリアにあります。デフォルトは 7 日です。過去 7 日以内に作成されたリビジョン、下書き、またはトランジェントは、クリーンアップステップで何を選択しても、変更されません。

主に公開コンテンツで安定した本番サイトを実行している場合は、3〜5 日に短縮できます。アクティブな下書きや頻繁に改訂されるコンテンツがあるサイトの場合は、7 日に維持するか、それ以上に増やしてください。
0 に設定することは推奨しません。これによりセーフティネットが完全に削除され、サイトが完全に休止していない限り、使用中のデータをキャッチするリスクがあります。
ステップ5:データベースをクリーンアップする
次にクリーンアップタブに移動します。ここでデータ削除が行われます。

DB Optimizerは削除可能なアイテムを3つのグループに整理します。何かをクリックする前に、各カテゴリの横に表示されているアイテム数と回復可能なスペースを確認してください。これにより、何が削除されようとしているのかが正確にわかります。
これらのカテゴリにわたって評価が表示されます。
- 投稿と固定ページ:投稿リビジョン、自動保存下書き、ゴミ箱に移動された投稿
- コメント:スパムコメント、ゴミ箱に移動されたコメント、ピンバック、トラックバック
- 一時ファイルとキャッシュ:期限切れの一時ファイル、oEmbedキャッシュ
すべて選択ボタンをクリックしてから選択したアイテムをクリーンアップをクリックします。各アイテムの横にある個別のクリーンアップボタンを使用することもできます。

クリーンアップを実行すると、DB Optimizerは削除されるものを正確にプレビュー表示します。実行前に確認してください。

このプレビュー手順が、SQLクエリを手動で実行するよりもこのツールを推奨する理由です。コミットする前にリストを確認できます。
ステップ6:データベーステーブルを最適化する
クリーンアップは行を削除します。この手順は、それらの削除によって残されたスペースを回復します。
ハードドライブのデフラグのようなものだと考えてください。データはなくなりましたが、データベースにはまだその行があった場所に断片化されたギャップがあります。テーブルの最適化は、これらのギャップを閉じ、クエリをより効率的にします。
テーブルタブを開きます。DB Optimizerは各テーブルの名前、サイズ、オーバーヘッドを表示します。

オーバーヘッドが大きいテーブルの最適化をクリックします。一括でクリーンアップするために、オーバーヘッドのあるすべてのテーブルを最適化をクリックすることもできます。
ほとんどのテーブルでは、プロセスは迅速に実行されます。完了後、オーバーヘッド列は0またはそれに近い値を示すはずです。
ステップ7:クリーニングが機能したことを確認する
ダッシュボードタブに戻り、ヘルススコアを更新します。開始時よりも高くなっているはずです。
どのくらい高くなるかは、データベースがどれだけ肥大化していたかによります。3年間管理されていないリビジョンがあるサイトは、メンテナンスされていたサイトよりも大きなジャンプが見られるでしょう。
統計パネルに表示されているデータベースの合計サイズを確認します。開始前に記録したものと比較してください。その差は実際に回復されたストレージです。
次に、サイトをスポットチェックします。フロントエンドにアクセスし、wp-adminにログインし、いくつかの投稿を開き、クリーンアップ中にアクティブだったプラグインをいくつか確認してください。
壊れているものがないか確認します:コンテンツの欠落、プラグインのエラー、リセットされた設定など。
問題が発生した場合は、闇雲にトラブルシューティングしないでください。ステップ1で作成したDuplicatorバックアップを復元し、そこから診断を開始してください。

クリーンアップが成功したにもかかわらずヘルススコアがほとんど動かなかった場合は、特にオートロードサイズカテゴリを確認してください。オートロードスコアが高いということは、プラグインがWordPressにすべてのページリクエストで大量のデータをロードするように強制していることを意味します。
これはプラグインの設定の問題であり、クリーンアップで削除されるものではありません。下のトラブルシューティングセクションを参照してください。
データベースはどのくらいの頻度でクリーニングすべきですか?
ヘルススコアは警告灯のようなものだと考えてください。常に監視する必要はありませんが、定期的にチェックすることで、問題が深刻化する前に発見できます。
ほとんどのサイトでは、月に一度のチェックで十分です。スコアが許容範囲を下回ったらクリーンアップしてください。70前後が妥当な目標値です。
クリーンアップ後、サイトの状態が良好であれば、ほとんど問題なく1ヶ月持ちます。
毎日更新があり、コメントの量が多く、プラグインの変更が頻繁なアクティブなサイトでは、2週間に一度のチェックが必要になる場合があります。忙しいサイトでは、リビジョンとトランジェントのカテゴリがより速く蓄積されます。
トラフィックの少ないサイトや更新がまれなサイトでは、問題なく四半期ごとのチェックに延長できます。
カレンダーに定期的なリマインダーを追加してください。バックアップの確認やプラグインの更新と同じルーチンに組み込みましょう。慣れれば5分程度で終わります。
また、主要なプラグインのインストールまたはアンインストール後には、簡単な健全性スコアチェックを実行してください。新しいプラグインはオートロードデータを追加する可能性があり、プラグインのアンインストールではデータベーステーブルが常にクリーンアップされるわけではありません。
早期に発見する方が、数ヶ月後に掘り起こすよりも簡単です。
トラブルシューティング:クリーンアップが期待どおりに進まない場合
ほとんどのクリーンアップは問題なく実行されます。うまくいかなかった場合の対処法を以下に示します。
クリーンアップ後も健全性スコアが改善しない
すべてのクリーンアップ手順を実行しても、スコアはほとんど動きませんでした。原因はほぼ常にオートロードサイズです。
オートロードデータとは、プラグインがwp_optionsテーブルに保存し、WordPressにすべてのページリクエストでロードするように指示する情報です。リビジョンやトランジェントのカテゴリには表示されず、別個に存在し、クリーンアップでは処理されません。
ダッシュボードタブのオートロードサイズインジケータを確認してください。赤色またはスコアが低い場合は、それがボトルネックです。
どのプラグインが最も貢献しているかを特定するには、「WordPress autoload bloat」とプラグイン名を組み合わせて検索するか、Query Monitorのようなツールを使用してwp_optionsを直接検査してください。
修正は通常、プラグイン自体の設定にあります。一部のプラグインでは特定のデータのオートロードを無効にできますが、他のプラグインは置き換える必要があります。
クリーンアップ後にサイトが破損した
クリーンアップを完了した後、何かが機能しなくなりました。ウィジェットが消えた、プラグインがエラーを発生させた、または設定がデフォルトにリセットされた。
これは、プラグインが設定データをトランジェントとして保存したり、クリーンアップツールにとってジャンクのように見える方法で保存したりする場合に発生します。これはプラグインの悪い動作ですが、存在します。
ステップ1で作成したDuplicatorバックアップを復元してください。まず問題を回避しようとしないでください。完全な復元により、数分で既知の正常な状態に戻ることができます。
復元したら、保持しきい値を14日または30日に引き上げて、もう一度クリーンアップを実行してください。その広いセーフティネットは、より最近のデータを保護し、通常は問題を特定します。
投稿リビジョンが戻ってくる
リビジョンをクリーンアップしても、1週間後にはカウントが元に戻っています。これは予期される動作です。クリーンアップは既存のスタックを削除しますが、WordPressは編集ごとに新しいリビジョンを保存し続けます。
クリーンアップの修正は、ソースに対処しない限り一時的なものです。この行をwp-config.phpファイルに追加してください:
define('WP_POST_REVISIONS', 3);
これにより、今後の投稿あたりのリビジョンストレージは3に制限されます。次回のクリーンアップでは削除するものが大幅に少なくなります。この数は調整できますが、ほとんどのサイトでは3で十分であり、頻繁にコンテンツリビジョンがあるサイトでは10が妥当です。
クリーンアップ後もwp-adminが遅い
クリーンアップは正常に実行され、ヘルススコアは改善しましたが、管理画面は依然として遅く感じられます。
データベースサイズは要因の1つです。ダッシュボードタブでオートロードサイズが低スコアの場合、肥大化したwp_optionsテーブルがWordPressのすべてのリクエストで不要なデータをロードしていることになり、管理画面のパフォーマンスに直接影響します。
もう1つの一般的な原因は、データベースとは全く関係ありません。管理画面で多くのプラグインが実行されている、ホスティングが遅い、またはテーマがバックエンドで重いアセットをロードしていることです。クリーンアップ後にオートロードサイズスコアが正常であれば、データベースはボトルネックではなく、他の場所を探す必要があります。
よくある質問(FAQ)
投稿リビジョンを削除しても安全ですか?
はい、ただし1つの注意点があります。リビジョンは、投稿を以前のバージョンにロールバックする必要がある場合にのみ役立ちます。投稿が公開され、それに満足したら、それらのリビジョンは役に立ちません。DB Optimizerのリテンションしきい値はデフォルトで過去7日間に作成されたものを保護するため、最近編集されたコンテンツは触られません。
データベースをクリーンアップするとウェブサイトは速くなりますか?
可能性がありますが、改善はデータベースの肥大化の度合いとボトルネックの場所によって異なります。最も一貫した改善が見られるのはwp-adminの応答時間とバックアップ速度です。フロントエンドのパフォーマンスは、キャッシュ、ホスティングインフラストラクチャ、および画像最適化に依存します。クリーンなデータベースはパフォーマンスの1つの負担を取り除きますが、残りの作業を代替するものではありません。
データベースをクリーンアップする前にバックアップする必要がありますか?
はい。データベースのクリーンアップは行を永久に削除します。プラグインがクリーンアップツールにとってジャンクのように見える形式で設定データを保存していた場合、復元するためのバックアップなしで何かを壊してしまう可能性があります。Duplicator Proは数分でフルサイトバックアップを作成し、何か問題が発生した場合にリモート復元のためにクラウドストレージに直接保存できます。
データベースのクリーンアップと最適化の違いは何ですか?
クリーンアップは不要な行(リビジョン、スパムコメント、期限切れの一時データ、自動保存下書き)を削除します。最適化は、それらの行が削除された後に残った断片化されたスペースを再利用します。これはドライブのデフラグに相当します。DB Optimizerは両方を処理します。クリーンアップタブでクリーンアップを行い、次にテーブルタブでテーブルを最適化します。まずクリーンアップを行い、次に最適化してください。
プラグインなしでデータベースをクリーンアップできますか?
はい。phpMyAdminを使用するとデータベースに対して直接SQLクエリを実行でき、WP-CLIには一時データの削除コマンドが組み込まれています。どちらの方法も機能しますが、削除前にプレビューを表示する機能はありません。phpMyAdminで1つのクエリを間違えると、データは失われます。DB Optimizerのようなプラグインは、SQLクエリにはない確認ステップを追加します。本番データベースを操作している場合、そのプレビューは非常に価値があります。
一時データとは何ですか?また、削除しても安全ですか?
トランジェントは、プラグインがデータベースに保存する一時的なキャッシュ値です。WordPressは有効期限が切れたときに自動的に削除するはずですが、遅延削除を使用しています。スケジュールではなく、何かが要求したときにのみ削除します。つまり、有効期限切れのトランジェントは時間とともに蓄積され、手動で実行しない限りクリーンアップされません。DB Optimizerの保持しきい値は、アクティブな(有効期限切れでない)トランジェントはそのままにして、既に有効期限が切れたもののみを削除します。
計画なしではきれいなデータベースは維持できません
大変な作業は終わりました。バックアップは検証され、サーバー外に保存され、ジャンクは削除され、テーブルは最適化され、ヘルススコアは緑に戻りました。
その作業を台無しにするのは、怠慢ではなく、通常のサイトアクティビティです。
追加するプラグインごとに何かがデータベースに書き込まれます。公開および改訂する投稿ごとに、改訂スタックに追加されます。アンインストールするプラグインごとに、テーブルが残る可能性があります。
データベースは自然にはきれいなままではありませんが、再び手に負えなくなるのを防ぐためにそれほど多くのことは必要ありません。
月に一度ヘルススコアを確認し、低下したらクリーンアップします。大幅なプラグインのインストールまたは削除の後、何が変わったかを確認するために簡単なチェックを実行します。これらの2つの習慣は、問題になる前にほとんどの蓄積をキャッチします。
動作中のバックアップなしのデータベースクリーンアップは、サイトの破損からワンクリックの距離にあります。DB Optimizerのプレビュー手順はリスクを軽減しますが、排除するわけではありません。それが防ぐことができない唯一のシナリオは、重要なデータを本来あるべきでない場所に保存したプラグインです。
Duplicator Proは、クリーンアップ前のバックアップと、問題が発生した場合の復元の両方を処理します。150万人以上のWordPressの専門家がDuplicatorを使用してサイトを保護しており、クラウドストレージの統合により、バックアップはサーバー外にあり、必要になったときにワンクリックで復元できます。
この投稿がWordPressデータベースのクリーンアップに役立ったなら、これらの他のリソースも気に入るはずです。