WordPressデータベースメンテナンス:毎週、毎月、四半期ごとに行うべきこと
John Turner
John Turner
ほとんどのWordPressユーザーは、何か問題が発生するまでデータベースを開くことはありません。
WordPressデータベースには、サイトを機能させるすべてのものが保存されています。訪問者が見るコンテンツのすべての部分と、訪問者が見ないすべての設定は、そこにあります。
正常な状態であれば、気にかけることはありません。正常でない場合、その影響はあらゆる場所に現れます。
この記事では、WordPressデータベースメンテナンスの内容、問題を示す兆候、および各作業を処理するツールについて説明します。
これらのタスクはどれも特に難しいものではありませんが、スキップすると時間の経過とともに蓄積されます。2年間無視されたデータベースは、定期的な手入れを受けているデータベースよりも対処がはるかに困難です。
主なポイントは次のとおりです:
- WordPressデータベースは自動的に肥大化します。投稿リビジョン、期限切れの一時データ、自動下書き、孤立したプラグインテーブルが、自動クリーンアップなしで積み重なります。
- ページの読み込み速度の低下や管理画面の遅さは、データベースに注意が必要な一般的な兆候であり、ホスティングプランだけが原因ではありません。
- 必ず、まずバックアップを取ってください。復元ポイントがあれば、潜在的な災害を5分で解決できます。
- 正しい順序は、まずクリーンアップ、次に最適化です。肥大化したデータを削除する前にOPTIMIZE TABLEを実行しても、削除するデータを再編成するだけです。
- 計画的なメンテナンスは、事後的なメンテナンスよりも優れています。毎週の一時データクリア、毎月のテーブル最適化、四半期ごとのプラグイン監査により、問題の蓄積を防ぎます。
- 無料ツールでほとんどの基本作業をカバーできます。WP-Optimize、WP-Sweep、WP-CLIは定期的なクリーンアップを処理します。Duplicator Proは、信頼性の高い自動バックアップのために費用に見合う価値があります。
目次
WordPressデータベースのメンテナンスは必要ですか?
はい、あなたのウェブサイトには一貫したデータベースメンテナンスが必要です。ただし、他のサイトほど頻繁に必要ではないかもしれません。
数ヶ月間何も変更されていない5ページのパンフレットサイトは、ゆっくりと肥大化します。毎日の注文を処理し、多数のプラグインを有効にし、毎週新しいコンテンツを公開しているWooCommerceストアは、まったく異なる状況です。
どちらもメンテナンスが必要です。そのメンテナンスの頻度と深さが異なります。
WordPressは後始末をしません。プラグインがプロセスを実行するたびに、データベースに書き込む可能性があります。保存する下書きごとに、リビジョンレコードが作成されます。プラグインが作成するトランジェントは、通常は自分で期限切れになるはずですが、そうならないことがよくあります。
これらは自動的に削除されません。蓄積されるだけです。
時間が経つと、次のようになります。
- コンテンツを編集するたびに、投稿リビジョンが倍増します。
- 公開されなかったり、適切に破棄されなかったりしたセッションから、自動下書きが積み重なります。
- ゴミ箱に入れられた投稿とコメントは30日後に自動的に削除されますが、忙しいサイトでは、ゴミ箱を頻繁に空にしたり、その間隔を変更したりしない限り、かなりの量が残る可能性があります。
- 期限切れのトランジェントは、その目的を果たした後も、
wp_optionsテーブルに長く残ります。 - プラグインやテーマが削除されると、親がなく機能しない孤立したテーブルやオプションエントリが残されることがよくあります。
データベースは徐々に重くなり、クエリが遅くなり、ページの読み込み時間が長くなり、すべてのリクエストでオーバーヘッドが増加するという影響が現れます。その摩擦は、そうなるまで見過ごされがちです。
WordPressデータベースのメンテナンスが必要な兆候
これらの兆候の中には明白なものもあります。他のものは、誤った原因に帰しやすいです。実際に何が起こっているのかを知ることで、対処しやすくなります。
- 接続が良い場合でも、ページの読み込みが遅くなります。
ホスティングが変更されておらず、トラフィックが急増しておらず、ページが遅くなっている場合は、データベースを確認するのが妥当です。
断片化されたテーブルと最適化されていないクエリは、すべてのページリクエストにオーバーヘッドを追加します。そのオーバーヘッドは、データベースが重くなるにつれて蓄積されます。
- WordPress管理画面の動作が遅く感じます。
投稿、WooCommerce注文、メディアライブラリの各ページは、読み込みごとに大量のデータをデータベースから取得します。管理画面のナビゲーションが著しく遅くなった場合、それはホスティングの問題ではなく、データベースの問題であることがよくあります。
- データベースエラーが表示されます。
「データベース接続を確立できません」は、何かが間違っていることを示す最も明白な兆候です。
テーブル固有のMySQLエラー(通常はWP_DEBUGが有効な場合に表示される)は、テーブルの破損、書き込みの失敗、不正なアップデートによる構造的な問題、またはサーバーの中断など、より具体的な問題を示しています。これらは自然には解決しません。
- データベースが明確な理由なく大幅に増加しました。
データベースサイズを確認したときに、コンテンツ量から予想されるよりも大きい場合は、本来あるべきでないものが蓄積されています。
一時的なデータと投稿リビジョンが最も一般的な原因ですが、プラグイン固有のログテーブルも、ほとんど認識されずに増大する可能性があります。
- プラグインとテーマは、インストールおよび削除されてきました。
多くのプラグインは、インストール時に独自のデータベーステーブルを作成し、削除時にそれらを削除しません。長年にわたって複数のフォームプラグイン、SEOツール、またはメンバーシッププラグインを切り替えてきた場合、それらのテーブルがデータベースに何もせずに残っている可能性は十分にあります。
- データベースは数ヶ月間、あるいは全く触られていません。
長年稼働しているサイトで一度もメンテナンスされていないデータベースには、ほぼ確実に問題のある肥大化があります。目に見える問題がない場合でも、データベースがクリーンであるとは限りません。
WordPressデータベースメンテナンスのヒント
これらはすべて厳密にはデータベースタスクではありませんが、WordPressサイトを健全に保つためのすべての一部であり、ほとんどが何らかの形でデータベースとやり取りします。
サイトに合わせて適切な順序で作業を進めてください。ただし、常にサイト全体のバックアップから開始してください。
WordPressデータベースメンテナンスのヒントを簡単に見てみましょう。
- 自動データベースバックアップの設定:定期的なバックアップをリモート先にスケジュール設定し、メンテナンスタスクを実行する前に常に復元ポイントがあるようにします。
- 不要なデータの削除:投稿リビジョン、自動下書き、ゴミ箱内のコンテンツ、期限切れの一時データ、および孤立したメタデータをクリアして、ソースからデータベースサイズを削減します。
- データベーステーブルの最適化:クリーンアップ後にOPTIMIZE TABLEを実行して、内部ストレージをデフラグし、削除された行によって残されたスペースを解放します。
- データベースクリーンアップのスケジュール設定:手動メンテナンスセッションの間に肥大化が静かに再構築されないように、定期的なクリーンアップタスクを自動化します。
- 利用可能なアップデートの実行:WordPressコア、プラグイン、テーマを最新の状態に保ち、クエリの最適化、スキーマの修正、およびセキュリティパッチを取り込みます。
- セキュリティスキャンを実行:テーマやプラグインファイルだけでなく、データベース自体をスキャンして、挿入されたスクリプト、不正な管理者アカウント、および保存されたコンテンツに隠されたマルウェアを見つけます。
- サイト速度の確認:Query Monitorを使用して、各ページロードで遅いまたは過剰なデータベースクエリを生成しているプラグインを特定します。
- 壊れたリンクのスキャン:訪問者よりも先に、削除された投稿、変更されたスラッグ、または欠落したリダイレクトによって壊れたリンクを検出します。
- 画像の最適化:サーバーに蓄積され、サイトに表示されずにバックアップサイズを増大させる、未使用の画像サイズバリエーションを削除します。
- フォームのテスト:大幅なメンテナンスまたは移行後に、フォームの送信が引き続きデータベースに正しく書き込まれていることを確認します。
- スパムコメントのフィルタリング:キャッチされたスパムがデータベースに無期限に積み重ならないように、自動スパム削除を設定します。
- 不要または非アクティブなプラグインとテーマの削除:使用していないものを削除し、削除時にクリーンアップされなかった残りのデータベーステーブルを確認します。
- キャッシュをクリア: メンテナンス後にサーバーサイドキャッシュ、CDNキャッシュ、オブジェクトキャッシュをフラッシュして、パフォーマンスの改善がテストで実際に表示されるようにします。
自動データベースバックアップの設定
このリストの他のすべてには、復元ポイントなしで何らかのリスクが伴います。
最適化は失敗する可能性があります。クリーンアップツールは意図した以上に削除する可能性があります。アップデートは問題を発生させる可能性があります。
最近のバックアップは、潜在的な災害を軽微な不便に変えます。
手動バックアップの問題は、スキップされることです。次のアップデートの前に実行する予定でも、何か用事ができて、結局アップデートを実行してしまいます。
プロセスを自動化することで、そのギャップがなくなります。スケジュールされたバックアップは、必要なときに常に確実に利用できます。
バックアップの頻度は、コンテンツの変更頻度と一致する必要があります。毎日公開するWordPressサイトは、毎日のバックアップが必要です。月に一度しか変更されないサイトは、週に一度で済む場合があります。
尋ねるべき質問は、「最後のバックアップから復元しなければならなかった場合、どれだけの作業をやり直すことをいとわないか?」です。
ストレージの場所は、頻度と同じくらい重要です。バックアップをサイトと同じサーバーに保存すると、サーバー障害が発生した場合にサイトとバックアップの両方が失われます。
Google Drive、Dropbox、Amazon S3、またはその他のリモート宛先にバックアップをサーバー外に保存してください。
Duplicator Proは、これらのすべてのタスクを処理するバックアッププラグインです。カスタムスケジュールされた自動バックアップを設定でき、1時間ごと、毎日、毎週、または毎月実行できます。

Duplicatorは、Duplicator Cloud、Google Drive、Dropbox、S3、OneDriveを含む10以上のリモートストレージロケーションに接続します。

サイトをロールバックする必要がある場合は、復元ボタンを使用してください。バックアップがクラウド上にあっても、Duplicatorがダウンロードして復元します。

データベースのバックアップは少なくとも週に一度行うことをお勧めします。よりアクティブなサイトでは、新しい顧客の注文やその他の機密データを追跡するために、毎日または毎時間のバックアップが必要になる場合があります。
複数のバックアップスケジュールを設定して、サイト全体をカバーできます。より頻繁なデータベースバックアップを自動化しつつ、サイト全体の一貫したバックアップルーチンも維持してください。

これにより、データの損失を心配する必要がなくなります!
不要なデータの削除
WordPressは、継続的な目的のないデータを蓄積します。通常、データベースサイズを削減する最も効果的な方法は、それらを削除することです。
投稿リビジョンは、コンテンツが多いサイトで最も多くを占めます。WordPressは、投稿を更新するたびに新しいリビジョンを保存しますが、wp-config.phpで設定しない限り、ハードリミットはありません。
自動下書きは、公開されなかったり適切に破棄されなかったりした編集セッション中に、WordPressがバックグラウンドで投稿を保存するときに作成されます。これらは静かに蓄積され、ほとんどレビューされません。
ゴミ箱に入れられた投稿、ページ、コメントは、ゴミ箱に移動してもすぐに消えません。WordPressは、その設定を変更しない限り、デフォルトで30日間そこに保持してから自動的に削除します。
期限切れの一時データは、プラグインがwp_optionsテーブルに保存する一時的なデータエントリです。期限が切れたときに自動的にクリーンアップされるはずですが、常にそうとは限りません。
期限切れの一時的なデータが残存すると、テーブルの肥大化を招き、wp_options をスキャンするクエリの速度が低下します。
無関係なメタデータは、投稿、ユーザー、またはタクソノミータームが削除された後に残されます。wp_postmeta や wp_usermeta のようなテーブルに保存されているメタデータレコードは、親レコードがなくなった後も残ることがよくあります。
目に見えるエラーは発生しませんが、頻繁にクエリされるテーブルに不要な行が追加されます。
WP-Sweep と WP-Optimize はどちらも、データベースから不要なデータを処理および削除するための堅実なツールです。どちらか一方をインストールして、数分でデータベースをクリーンアップできます。

データベーステーブルの最適化
データベーステーブルから行が削除されると、MySQL はそのスペースをすぐに再利用しません。テーブルの内部構造にギャップが残ります。これは時間の経過とともに蓄積されるオーバーヘッドです。
OPTIMIZE TABLE を実行すると、解放されたスペースが再利用され、テーブルサイズが縮小し、クエリパフォーマンスが向上します。
最適化はいくつかの方法で実行できます。phpMyAdmin を使用する場合は、テーブルを選択し、ドロップダウンから テーブルの最適化 を選択します。

ターミナルに慣れている場合は、WP-CLI を使用して wp db optimize を実行します。より初心者向けのクリーンアップには、WP-Optimize のようなメンテナンスプラグインをインストールします。
データベースクリーンアップのスケジュール設定
一度限りのクリーンアップは一時的に状況を改善しますが、定期的なスケジュールがないと、肥大化は再び発生し、さらに悪化します。
スケジュールされたクリーンアップにより、メンテナンスが大規模なプロジェクトになる前にデータベースを維持できます。
期限切れの一時データを毎週クリアし、投稿の改訂と自動下書きを毎月パージし、データベースサイズとプラグインテーブルを四半期ごとに完全にレビューします。
これらの間隔は普遍的なものではありません(トラフィックの多い WooCommerce ストアは、シンプルなブログよりも頻繁な注意が必要な場合があります)が、ほとんどのサイトにとって実行可能な出発点となります。
WP-Optimize と Advanced Database Cleaner はどちらもスケジュールされたクリーンアップをサポートしています。タスクを一度設定し、頻度を設定すれば、プラグインが自動的に処理します。

スケジュールを定期的にレビューしてください。過去 1 年間で大幅に成長したサイトは、最初に設定したときよりも頻繁なメンテナンスが必要になる場合があります。
利用可能なアップデートの実行
WordPress コア、プラグイン、テーマのアップデートには、クエリの最適化、スキーマの更新、セキュリティパッチ、バグ修正などのデータベース関連の変更が含まれることがよくあります。アップデートをスキップすると、既知の問題が引き継がれます。

アップデート前にバックアップしてください。これはすべてのアップデートに当てはまりますが、特にデータベースと密接に関連するプラグインには重要です。WooCommerce、メンバーシッププラグイン、フォームビルダーなどのツールは、アップデートでデータベーススキーマの変更が含まれることがよくあります。

WordPress コアの場合、マイナーリリース(セキュリティおよびメンテナンスアップデート)の自動アップデートを有効にすることは、一般的に安全であり、既知の脆弱性への露出期間を短縮します。
メジャーリリースは、特にデータベースに大きな依存関係を持つプラグインを実行している場合は、適用前にレビューする価値があります。
サイトが十分に大きくまたは複雑で、悪いアップデートが実際に混乱を引き起こす可能性がある場合は、まずステージング環境でアップデートをテストしてください。何も壊れていないことを確認したら、本番環境に適用してください。
アップデートをテストする準備ができたら、サイトの完全なバックアップを作成し、Duplicatorでダウンロードします。バックアップをステージング環境にドラッグアンドドロップして、サイトを即座に複製し、安全にアップデートを評価してください。

セキュリティスキャンの実行
悪意のあるコードは、常にテーマファイルやプラグインに存在するとは限りません。多くの場合、データベースに格納されます。投稿コンテンツ、ウィジェット設定、またはwp_optionsテーブルに挿入されます。
ファイルをスキャンするだけのセキュリティスキャンでは、これは完全に検出されません。
データベースを認識するスキャンは、投稿コンテンツに挿入されたスクリプト、不正な管理者アカウント、コアオプション値の予期しない変更、および格納データ内の既知のマルウェア署名を探します。
WordfenceとSucuriは、データベースセキュリティスキャンを備えた有名なセキュリティプラグインです。どちらも定期的なメンテナンスに適した選択肢です。

スキャンで何かが見つかった場合、次のステップはそれを削除するだけではありません。それは、それがどのようにしてそこに入ったのかを理解することです。挿入を許可した脆弱性は、まだ開いている可能性があります。侵入口を閉じずに悪意のあるコンテンツを削除すると、それが再び現れる可能性があります。
セキュリティスキャンは探偵のような仕事です。それはすでに起こったことを特定します。それ自体では将来の侵入を防ぐことはできません。
サイト速度の確認
データベースの健全性は、ロード時間に直接影響します。最適化されていないテーブル、過剰なクエリを生成するプラグイン、キャッシュされていないデータベース呼び出しはすべて、ページの提供にかかる時間を増加させます。
時間が経つにつれて遅くなったサイトは、多くの場合、それに寄与するデータベースの問題を抱えています。
Google PageSpeed InsightsとGTmetrixは、ロード時間の外部ビューを提供し、特定の問題をフラグ付けします。

データベース固有の診断には、Query Monitorの方が役立ちます。これは、WordPressプラグインで、各ページロードで実行されるデータベースクエリ、各クエリにかかる時間、およびどのプラグインまたはテーマがそれを担当しているかを示します。

単一のプラグインが各ページリクエストで多数の遅いクエリを生成している場合、それは調査する価値があります。一部のプラグインは単に非効率的ですが、他のプラグインはデータベース負荷を軽減する設定オプションを持っています。
壊れたリンクのスキャン
壊れたリンクはデータベースに直接損傷を与えませんが、削除された投稿、変更されたスラッグ、リダイレクトが設定されなかった移動されたページなどのデータベース操作の結果であることがよくあります。
リンクチェックを含むコンテンツ監査は、定期的なサイトメンテナンスの一部であるべきです。
(プラグインの)Broken Link Checkerと(デスクトップクローラーの)Screaming Frogの両方がこれを処理します。
内部の壊れたリンクの場合、適切な修正は通常、ソースでリンクを更新するか、古いURLから新しいURLへのリダイレクトを追加することです。これはBroken Link Checkerで行うことができます。

外部の壊れたリンクについては、新しいURLが存在する場合は更新するか、コンテンツがなくなった場合はリンクを削除してください。
画像の最適化
ほとんどのサイトオーナーが気づいていないのは、WordPressがアップロードするすべての画像に対して、サムネイル、中、大、およびテーマやプラグインによって登録されたカスタムサイズなど、複数のサイズのバリエーションを作成することです。
これらのバリエーションのほとんどは、サイト上のどこにも表示されません。サーバーに置かれたまま、ディスク容量を消費し、バックアップサイズを肥大化させます。
数年間蓄積された画像ライブラリには、数万もの未使用のバリエーションファイルが存在する可能性があります。削除しても安全なものを特定するために手動で仕分けるのは現実的ではありません。
WP Media Cleanupはこれを自動的に処理します。サイト全体をスキャンして、どの画像バリエーションが実際にコンテンツで参照されているかをマッピングします。

サーバー上に存在してもどこにも使用されていないものは、削除対象としてフラグが立てられます。元のフルサイズの画像は決して変更されず、プラグインはサイズバリエーションのみを対象とします。
EWWW Image OptimizerとSmushは画像の最適化を処理し、ファイルをWebPに変換できます。WebPは同等の品質でファイルサイズを小さくし、すべてのモダンブラウザでサポートされています。
フォームのテスト
フォームは、ほとんどのサイトオーナーが思っている以上にデータベースとやり取りします。
送信内容は保存され、メールがトリガーされ、トランザクションが記録されます。大幅なデータベースメンテナンスの後には、フォームが期待どおりに機能するかどうかを確認する価値があります。
フロントエンドの動作(フォームはエラーなく送信されますか?)とバックエンドの記録(エントリはプラグインのダッシュボードに表示されましたか?)の両方をテストしてください。
これらは独立して失敗する可能性があります。フォームは正常に送信されたように見えても、データベースへのエントリの書き込みに失敗する可能性があります。
WPFormsとGravity Formsは、カスタムデータベーステーブルにエントリを保存します。これらのテーブルは時間とともにデータを蓄積し、データベースの他の部分と同様の定期的なクリーンアップの恩恵を受けます。古いエントリを定期的にエクスポートしてアーカイブしていない場合、それらは成長し続けます。
データベースの更新またはサイトの移行の後に壊れたフォームは、積極的にチェックしていないと見逃しやすいです。メンテナンス後のルーチンにフォームテストを追加することで、実際のユーザーが行う前にこれらを検出できます。
スパムコメントのフィルタリング
アクティブなコメントセクションがあるサイトでは、スパムはデータベースの肥大化のより一貫した原因の1つです。スパムはデータベースに保存され、誰かがクリアするまでそこに留まります。
コアのゴミ箱のデフォルトは30日ですが、多くのサイトでは15日など、より短い期間を好みます。Akismetのようなプラグインでスパムをキャッチして削除できます。

これにより、手動介入なしにスパムキューが無限に増大するのを防ぎます。
即時クリーンアップのために、コメント画面から一括削除するか、クリーンアッププラグインを使用して一度に削除します。
不要または非アクティブなプラグインとテーマの削除
非アクティブなプラグインは実行されませんが、多くは痕跡を残します。インストール中に作成されたデータベーステーブル、wp_optionsに書き込まれたオプションエントリ、およびトランジェントは、プラグインを非アクティブ化しても自動的に削除されません。
インストールされているプラグインは年に数回確認しましょう。アクティブに使用していないものは、無効化するだけでなく削除してください。

削除後、phpMyAdminまたはAdvanced Database Cleanerを使用して、残りのテーブルがないか確認してください。アクティブなプラグインに関連付けられていないテーブルは通常削除できますが、特にテーブル名がすぐに認識できない場合は、削除前に確認してください。
テーマも同様です。WordPressには少なくとも1つのフォールバックテーマ(デフォルトのTwenty-SomethingテーマでOK)が必要ですが、それ以上のものは削除できます。

未使用のテーマはプラグインのようにデータベースを肥大化させることはありませんが、サーバー上の不要なコードであり、更新されていない場合は潜在的なセキュリティリスクとなります。
フォームエントリ、WooCommerceの注文、会員記録など、重要なデータを保存するプラグインを削除する前に、まずそのデータをエクスポートしてください。エクスポートせずにプラグインを削除すると、データも一緒に削除されます。
キャッシュのクリア
データベースのメンテナンス後、キャッシュされたコンテンツはサイトのメンテナンス前の状態を反映している場合があります。期限切れのトランジェントをクリアしたりコンテンツを更新したりする前にキャッシュされたページは、キャッシュが更新されるまで古いバージョンを提供し続けます。
サーバーサイドキャッシュ(WP Rocket、W3 Total Cache、LiteSpeed Cache、またはホストが提供するもの)と、CDNキャッシュ(使用している場合)の両方をクリアしてください。

オブジェクトキャッシュ(Redis、Memcached)は、データベースクエリの結果をメモリに保存します。これらもクリアしてください。これらは、もはや正確ではないクエリ結果を保持している可能性があります。
一部のデータベースの改善は、キャッシュがクリアされるまでパフォーマンスメトリックに表示されません。キャッシュをクリアせずに最適化直後にスピードテストを実行すると、誤解を招く結果が得られる可能性があります。
キャッシュのクリアをメンテナンスルーチンの最後のステップにし、テストしてください。
WordPressデータベースメンテナンスツール
以下の各ツールは異なる目的を果たします。一部は重複しますが、どれも冗長ではありません。適切な組み合わせは、あなたの快適レベルと達成しようとしていることに依存します。
Duplicator

データベースを変更するメンテナンスタスクを実行する前に、復元ポイントが必要です。Duplicator Proはそのための適切なツールであり、このリストの他の何よりもまず設定すべき最初のものです。
Duplicator Proは、データベースとファイルを単一のポータブルアーカイブに含む、完全なサイトバックアップを作成します。プリセットを使用してデータベースのみのバックアップを作成することもできます。

スケジュールされたバックアップは、設定した頻度(毎時、毎日、毎週、毎月、またはカスタム間隔)で自動的に実行されます。

Duplicatorは、ネイティブのDuplicator Cloud、Google Drive、Dropbox、Amazon S3、OneDrive、FTPなどのリモート宛先にデータを送信できます。

バックアップはサーバー外に保存されるため、サーバーの障害が発生しても復元ポイントが失われることはありません。
復元プロセスは実用的です。初心者でも管理ダッシュボードから復元ボタンをクリックできます。

Duplicatorは独自のインストーラーを通じて復元を処理します。これはWordPress自体が読み込まれていない場合でも機能します。サイト全体がダウンしている場合は、バックアップファイルをサーバーに直接アップロードしてデータを復元してください。

Duplicator Proは、バックアップと同じアーカイブ形式を使用してサイト移行も処理します。すでにバックアップに使用している場合は、別のツールを必要とせずに移行もカバーされます。
これはオプションの追加機能ではなく、あらゆるメンテナンス設定の基盤と考えてください。間違いから復旧できるとわかっていれば、他のすべてがより簡単になります。
データベースクリーンアッププラグイン
WP-Optimizeは、投稿リビジョン、自動下書き、スパムコメント、期限切れの一時データ、テーブル最適化など、最も一般的なクリーンアップタスクを処理します。スケジューリングをサポートしているため、定期的に自動実行するように設定できます。

ほとんどのサイトにとって、これは良い出発点です。あまり設定せずに、日常的なデータベースクリーンアップの大部分を処理します。
Advanced Database Cleanerは、削除されたプラグインの残りのテーブルを特定するのに特に役立ちます。各テーブルを関連するプラグインにマッピングするため、何がアクティブで何が孤立しているかを確認できます。

WP-Optimizeの広範なクリーンアップが十分に具体的でない場合に使用してください。
WP-Sweepにはスケジューリング機能はありませんが、手動クリーンアップセッションのための簡単なツールが必要な場合は、仕事をこなします。

データベースをデフォルト設定に完全にリセットする必要がある場合は、Database Reset Proをお勧めします。この無料プラグインは、パスワードを削除せずにデータベースを即座にロールバックします。開発に最適です。

phpMyAdmin
phpMyAdminはMySQLのWebベースインターフェイスであり、ほとんどのcPanelおよびPleskホスティング環境に含まれています。データベースへの直接アクセスを提供します。
phpMyAdminを使用すると、テーブルの内容を閲覧したり、テーブルの状態を確認したり、SQLクエリを実行したり、特定のテーブルをエクスポートしたり、修復および最適化を実行したりできます。
最適化するには、操作したいテーブルを選択し、テーブルリストの下部にあるドロップダウンを開き、Optimize tableを選択します。

データベース全体をエクスポートするには、Exportタブを使用し、SQL形式を選択し、目的のテーブルを選択して、ファイルをダウンロードします。

phpMyAdminは、中級ユーザーに最適です。SQLクエリタブは、確認プロンプトなしでデータを即座に変更または削除できるため、SQLの記述に慣れていない場合は、クエリタブではなくインターフェイスオプションを使用してください。
WordPress組み込み修復ツール
WordPressには、データベースエラーが発生していてphpMyAdminを開かずに簡単な診断を行いたい場合に便利な、組み込みのデータベース修復ツールが含まれています。
アクティブ化するには、wp-config.phpファイルにdefine('WP_ALLOW_REPAIR', true); を追加してから、yourdomain.com/wp-admin/maint/repair.phpにアクセスします。
2つのオプションが表示されます。Repair Databaseはデータベーステーブルの構造的な問題を修正し、Repair and Optimize Databaseは同じことを行い、その後最適化を実行します。

開発者のためのWP-CLI
WP-CLI は、管理画面を使わずに WordPress を管理するためのコマンドラインツールです。開発者にとっては、プラグインの UI よりも高速で柔軟性があり、サーバーの cron ジョブによる自動化にも適しています。
データベースメンテナンスに最も役立つコマンド:
wp db optimize: すべてのデータベーステーブルを最適化しますwp db repair: データベースの修復ルーチンを実行しますwp db export/wp db import: SQL ファイルとしてデータベース全体のバックアップをエクスポートまたはインポートしますwp transient delete --all: すべての一時データを一度に削除しますwp post delete $(wp post list --post_status=trash --format=ids): ゴミ箱内のすべての投稿を 1 つのコマンドで削除します
複数のサイトの定期的なメンテナンスのために、WP-CLI コマンドをスクリプト化し、手動介入なしで実行するようにスケジュールできます。
ほとんどのマネージド WordPress ホスティングは、WP-CLI の SSH アクセスを提供しています。ホストがそれをサポートしているか不明な場合は、ドキュメントを確認するか、サポートに問い合わせてください。
WordPressデータベース最適化のベストプラクティス
- 最適化する前に必ずバックアップしてください。
これは、リスクがあるように見えるときだけでなく、常に当てはまります。最適化タスクが問題を引き起こすことはめったにありませんが、「めったに」は「決してない」ではありません。Duplicator を使用するとバックアップは数分で完了しますが、バックアップなしで復旧するには数時間かかる場合があります。
- クリーンアップの後で最適化し、その前ではありません。
投稿リビジョン、期限切れの一時データ、孤立したメタデータでいっぱいのデータベースに対して OPTIMIZE TABLE を実行しても、削除しようとしているデータを再編成するだけです。
まず不要なデータを削除し、次に残ったデータをデフラグします。間違った順序で実行すると時間の無駄になり、不要な書き込み負荷が発生します。
- 常に最適化しないでください。
InnoDB テーブル (ほとんどの最新の WordPress インストールではデフォルト) の場合、OPTIMIZE TABLE は内部的にテーブル全体を再構築します。毎日またはマイナーな変更のたびに実行すると、意味のあるパフォーマンス向上がないまま書き込みオーバーヘッドが発生します。
月に 1 回、または大幅なクリーンアップセッションの後で十分です。
- 大幅な変更にはステージング環境を使用してください。
大規模なクリーンアップ、WooCommerce のようなデータベース負荷の高いプラグインの更新、または URL 構造の変更を行う場合は、まずステージングでテストしてください。テストされていない変更をライブの運用サイトに直接適用すると、予防可能な問題が発生します。
ほとんどのマネージドホスティングにはステージング環境が含まれています。お使いのホスティングに含まれていない場合は、Duplicator Pro で作成できます。
- 投稿リビジョンをソースで制限します。
リビジョンを事後的にクリーンアップするのではなく、WordPress が最初に保存する数を制限します。
define('WP_POST_REVISIONS', 5); を wp-config.php ファイルに追加すると、WordPress は投稿ごとに最大 5 つのリビジョンを保持し、古いものは自動的に破棄するようになります。
これにより既存のリビジョンは削除されませんが、蓄積が同じ速度で続くのを停止します。
- プラグインのデータベース効率を監査します。
すべてのプラグインがデータベースパフォーマンスを考慮して記述されているわけではありません。一部のプラグインは、すべてのページ読み込みで過剰な数のクエリを生成します。他のプラグインは、その機能 warrantsよりもはるかに多くのデータをデータベースに書き込みます。
Query Monitor はこれを可視化します。各ページで実行されるクエリ、その所要時間、およびどのプラグインまたはテーマによって生成されたかを示します。
プラグインが常に遅いクエリまたは過剰なクエリの原因となっている場合、その設定を通じて、またはプラグインを置き換えることによって対処する価値があります。
- 基本的なメンテナンスログを保持してください。
ログがあると、パターンを特定し、スケジュールされたタスクが実際に実行されていることを確認し、問題が発生する前に何が変更されたかを理解しやすくなります。詳細である必要はありません。単純なテキストファイルやプロジェクト管理ツールのメモで十分です。
WordPressデータベースメンテナンス完全チェックリスト
これを厳格なルールセットとしてではなく、参照として使用してください。サイトの実際の活動に基づいて調整してください。
静的サイトには、このリストのすべての項目が必要なわけではありません。毎日注文がある WooCommerce ストアは、おそらくここに記載されている以上のものが必要でしょう。
毎週
- 期限切れの一時ファイルをクリアする
- スパムコメントを空にする(または自動削除が設定されていることを確認する)
- プラグイン、テーマ、WordPress コアの利用可能なアップデートを確認する
毎月
- 自動バックアップが実行されたことを確認し、最近のものをテストする
- 定義した制限を超えた投稿リビジョンを削除する
- 自動下書きとゴミ箱内のコンテンツを削除する
- データベーステーブルを最適化します。
- セキュリティスキャンを実行する
- サーバーサイドおよび CDN キャッシュをクリアする
- 主要なフォームをテストする(送信とエントリのログ記録)
四半期ごと
- 非アクティブなプラグインとテーマを監査および削除する。残りのデータベーステーブルがないか確認する
- 壊れたリンクをスキャンする
- サイトの速度をチェックし、Query Monitor で遅いクエリを確認する
- phpMyAdmin またはホスティングダッシュボードでデータベースサイズを確認する
- Google Search Console でサイトマップを送信または確認する
- 画像ライブラリをスキャンして、孤立または最適化されていないファイルを確認する
必要に応じて
- 破損したテーブルを修復する
- アップデートまたは移行の失敗後にバックアップを復元する
- メジャーアップデートまたはサイト移行前の完全なデータベースエクスポート
よくある質問(FAQ)
データベースの最適化はコンテンツを削除しますか?
いいえ。OPTIMIZE TABLE を実行すると、テーブルの内部ストレージ構造が再編成され、断片化されたスペースが回収されます。テーブルに保存されているデータには影響しません。投稿、ページ、コメント、設定は影響を受けません。
リビジョンの削除、スパムのクリア、ゴミ箱コンテンツの削除などのクリーンアップタスクは、個別の操作であり、明示的に開始した場合にのみ実行されます。削除されるものを制御できます。
データベーステーブルの最適化と修復の違いは何ですか?
最適化は、正常に機能しているテーブルに対する定期的なメンテナンスです。内部ストレージの断片化を解消し、削除された行によって残されたオーバーヘッドを回収します。修復は、破損または構造的に破損したテーブル、つまりエラーを返したり、正しく読み書きに失敗したりするテーブルに対するものです。
正常なテーブルではパフォーマンスのために最適化し、特定のテーブルに関連するエラーが発生している場合は修復します。破損したテーブルで最適化を実行しても、根本的な問題は解決しません。
WordPressデータベースクリーナーとして最適なものは何ですか?
ほとんどのサイトでは、WP-Optimizeが投稿リビジョン、期限切れの一時データ、スパムコメント、自動保存、テーブルの最適化、スケジューリングなどの一般的なタスクをうまく処理します。ほとんどの定期的なクリーンアップを、あまり設定せずにカバーします。
より詳細な設定が必要な場合、特に削除されたプラグインの残りのテーブルを特定して削除する場合は、Advanced Database Cleanerが適しています。
コマンドラインでの作業を好む開発者は、プラグインをまったくインストールせずにWP-CLIですべてを処理できます。
WordPressデータベースのサイズを削減するにはどうすればよいですか?
最大の要因から始めます:投稿リビジョン、期限切れの一時データ、スパムコメント、自動保存。クリーンアッププラグインでそれらを削除し、次にOPTIMIZE TABLEを実行して解放されたスペースを回収します。今後、wp-config.phpでリビジョンをdefine('WP_POST_REVISIONS', 5);で制限し、定期的なスパムクリアのスケジュールを維持し、不要なデータベース書き込みがないかプラグインを監査してください。
クリーンアップ後もデータベースが予想よりも大きい場合は、プラグイン固有のテーブルが必要以上に多くのデータを記録していないか確認してください。一部のアナリティクスプラグインやフォームビルダーは、デフォルトで詳細なログを保存しており、それらのテーブルは時間とともに大幅に増加する可能性があります。
WordPressのメンテナンスにはいくらかかりますか?
範囲は広く、ほとんど完全に自分でどれだけやりたいかによって異なります。無料のプラグインでメンテナンスを処理する場合、時間以外は費用はかかりません。Duplicator Proのようなプレミアムツールは、わずかな年間費用を追加しますが、無料ツールでは通常一致しない方法でバックアップ、移行、復元をカバーします。
WP EngineやKinstaなどのプロバイダーによるマネージドWordPressホスティングは、月額約$20〜$35で、パッケージの一部として自動バックアップ、セキュリティスキャン、アップデート管理が含まれています。
フリーランサーまたはエージェンシーに継続的なメンテナンスを依頼する場合、スコープとサイトのサイズに応じて、月額$50から数百ドルまで幅があります。
エラーメッセージを待たないでください
データベースメンテナンスは複雑ではありませんが、一貫性が必要です。
定期的に手入れされているサイトは、回復作業となるような複合的な問題を抱えることはめったにありません。長年放置されてきたサイトは状況が異なります。
操作の順序は重要です。まずバックアップ、次にクリーンアップ、そして最適化です。クリーンアップの前に最適化を実行しても労力の無駄です。バックアップなしでどちらかを実行することは、不必要なリスクです。
このリストのすべてのタスクがすべてのサイトに適用されるわけではありません。このチェックリストを使用して、ご自身の状況に関連するものを特定し、すべての項目を必須として扱うのではなく、それに基づいてスケジュールを構築してください。
始めるべき場所があるとすれば、それはバックアップです。信頼できる復元ポイントがあれば、他のすべてのメンテナンス作業がより安全になり、アップデートの失敗、移行の失敗、テーブルの破損など、問題が発生した場合の損害を限定する唯一のものです。
Duplicator Proは、スケジュールされた自動バックアップを処理し、コピーをクラウドに保存し、数分で復元します。これは、必要なときに実際に機能するメンテナンス設定の基盤です。
せっかくなので、これらの関連WordPressガイドも気に入っていただけると思います。