WordPressデータベースメンテナンス:毎週、毎月、四半期ごとの対応事項
ジョン・ターナー
ジョン・ターナー
ほとんどの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サイトは毎日のバックアップが必要です。月に1回変更するサイトなら週1回のバックアップで十分です。
問うべきは、最後のバックアップから復元する必要が生じた場合、どれだけの作業をやり直す覚悟があるか、ということだ。
保存場所の重要性は頻度と同等です。サイトのバックアップをサイトと同じサーバーに保管すると、サーバー障害が発生した際にサイトとバックアップの両方が失われます。
Google Drive、Dropbox、Amazon S3、またはその他のリモート先でサーバー外にバックアップを保存します。
Duplicator Proは、これらすべてのタスクを処理するバックアッププラグインです。カスタムスケジュールによる自動バックアップを設定でき、1時間ごと、1日ごと、1週間ごと、または1か月ごとに実行できます。

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

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

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

これで、データを失う心配はありません!
不要なデータを削除する
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が存在する場合はURLを更新し、コンテンツが削除されている場合はリンクを削除してください。
画像の最適化
ほとんどのサイト所有者が気づいていないのは、WordPressがアップロードする画像ごとに複数のサイズバリエーションを作成するということです——サムネイル、中サイズ、大サイズ、そしてテーマやプラグインで登録されたカスタムサイズです。
それらのバリエーションの大半は、サイト上のどこにも表示されることはありません。サーバー上にただ存在し、ディスク容量を消費し、バックアップサイズを肥大化させるだけです。
数年間蓄積された画像ライブラリには、何万もの未使用のバリエーションファイルが存在し得る。それらを手作業で仕分けし、安全に削除できるものを判断するのは現実的ではない。
WP Media Cleanupはこれを自動的に処理します。サイト全体をスキャンし、コンテンツ内で実際に参照されている画像バリエーションをマッピングします。

サーバー上に存在するものの、どこにも使用されていないものは削除対象としてフラグが立てられます。元のフルサイズ画像は一切変更されず、プラグインが対象とするのはサイズバリエーションのみです。
EWWW Image OptimizerとSmushは画像最適化を処理し、ファイルをWebP形式に変換できます。WebPは同等の画質でより小さなファイルサイズを実現し、すべての最新ブラウザでサポートされています。
フォームをテストする
フォームは、多くのサイト所有者が認識している以上にデータベースと連携しています。
送信データは保存され、メールは自動送信され、トランザクションは記録されます。大規模なデータベースメンテナンス後は、フォームが正常に動作していることを確認することが重要です。
フロントエンドの動作(フォームはエラーなく送信されるか?)とバックエンドのレコード(プラグインのダッシュボードにエントリーが表示されたか?)の両方をテストしてください。
これらは独立して失敗する可能性があります。フォームは正常に送信されたように見えても、データベースへのエントリ書き込みに失敗する場合があります。
WPFormsとGravity Formsは、カスタムデータベーステーブルにエントリーを保存します。これらのテーブルは時間の経過とともにデータが蓄積され、データベースの他の部分と同様に定期的なクリーンアップが有効です。古いエントリーを定期的にエクスポートしてアーカイブしない場合、データは増え続けることになります。
データベース更新やサイト移行後に発生するフォームの不具合は、積極的に確認しなければ見落としがちです。メンテナンス後のルーチンにフォームテストを追加すれば、実際のユーザーが気づく前に問題を発見できます。
スパムコメントをフィルタリングする
コメント機能が活発なサイトでは、スパムがデータベース肥大化の一因として常に存在します。スパムはデータベースに保存され、誰かが削除するまでそこに残ります。
コアのゴミ箱のデフォルトは30日間ですが、多くのサイトでは15日間などより短い期間を好みます。Akismetのようなプラグインでスパムを捕捉・削除できます。

これにより、手動介入を必要とせずにスパムキューが無限に増加するのを防ぎます。
即時クリーンアップには、コメント画面から一括削除するか、クリーンアッププラグインを使用して一括で削除してください。
不要または使用されていないプラグインとテーマを削除する
非アクティブなプラグインは実行されませんが、その多くは痕跡を残します。インストール時に作成されたデータベーステーブル、設定項目として書き込まれた wp_optionsプラグインを無効化しても、トランジェントは自動的に消えません。
インストール済みのプラグインは年に数回見直しましょう。使用していないものは、単に無効化するだけでなく削除すべきです。

削除後は、phpMyAdminまたはAdvanced Database Cleanerを使用して残存テーブルを確認してください。テーブルに関連付けられた有効なプラグインがない場合、通常は削除可能です。ただし、特にテーブル名がすぐに判別できない場合は、削除前に必ず内容を確認してください。
テーマについても同様です。WordPressは少なくとも1つのフォールバックテーマ(デフォルトのTwenty-Somethingテーマで問題ありません)を必要としますが、それ以外のものは削除可能です。

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

オブジェクトキャッシュ(Redis、Memcached)はデータベースクエリの結果をメモリに保存します。これらが正確でなくなったクエリ結果を保持している可能性があるため、これらもクリアしてください。
一部のデータベースの改善は、キャッシュがクリアされるまでパフォーマンス指標に反映されません。最適化直後にキャッシュをクリアせずに速度テストを実行すると、誤解を招く結果が生じる可能性があります。
メンテナンス手順の最終ステップとしてキャッシュのクリアを行い、その後テストを実施してください。
WordPressデータベースメンテナンスツール
以下の各ツールはそれぞれ異なる目的を果たします。一部機能は重複しますが、完全に同じものはありません。最適な組み合わせは、ご自身の習熟度と達成したい目標によって異なります。
デュプリケーター

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

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

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

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

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

Duplicator Proは、バックアップと同じアーカイブ形式を使用してサイトの移行も処理します。バックアップに既に使用している場合、別途ツールを用意する必要なく移行もカバーされます。
これはメンテナンス体制の基盤であり、単なるオプションではないと考えてください。ミスから回復できると分かっているなら、他の作業はすべて容易になります。
データベースクリーンアッププラグイン
WP-Optimizeは最も一般的なクリーンアップ作業をカバーします:投稿の改訂版、自動下書き、スパムコメント、期限切れのトランジェント、テーブル最適化。スケジュール機能をサポートしているため、定期的に自動実行するように設定できます。

ほとんどのサイトにとって、これは良い出発点です。多くの設定を必要とせず、日常的なデータベースのクリーンアップの大半を処理します。
高度なデータベースクリーナーは、削除されたプラグインの残存テーブルを特定するのに特に有用です。各テーブルを関連するプラグインにマッピングするため、現在もアクティブなものと孤立したものを確認できます。

WP-Optimizeの広範なクリーンアップでは不十分な場合に使用してください。
WP-Sweepにはスケジュール機能は含まれていませんが、手動でのクリーンアップ作業をシンプルに行いたい場合には、十分に役目を果たします。

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

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

完全なデータベースのエクスポートを行うには、[エクスポート]タブを使用し、SQL形式を選択し、必要なテーブルを選択してファイルをダウンロードしてください。

phpMyAdminは中級ユーザーに最適です。SQLクエリタブでは確認プロンプトなしでデータを即時変更または削除できるため、SQL記述に慣れていない場合はクエリタブではなくインターフェースオプションを使用してください。
WordPress組み込み修復ツール
WordPressには組み込みのデータベース修復ツールが搭載されており、データベースエラーが発生した際にphpMyAdminを開かずに素早く診断したい場合に便利です。
有効化するには、以下を追加してください define('WP_ALLOW_REPAIR', true); wp-config.php ファイルに追加し、その後 yourdomain.com/wp-admin/maint/repair.php.
2つのオプションが表示されます:「データベースの修復」はデータベーステーブルの構造上の問題を修正します。「データベースの修復と最適化」は同じ処理を行い、その後最適化を実行します。

開発者向け 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 内部でテーブル全体を再構築します。毎日実行したり、小さな変更のたびに実行したりすると、意味のあるパフォーマンス向上なしに書き込みオーバーヘッドが発生します。
月に一度、あるいは大規模な掃除の後であれば十分です。
- 重要な変更にはステージング環境を使用してください。
大規模なクリーンアップ作業、WooCommerceのようなデータベースを多用するプラグインの更新、URL構造の変更を行う場合は、まずステージング環境でテストしてください。未テストの変更を本番環境に直接適用することは、防げる問題が発生する原因となります。
ほとんどのマネージドホストにはステージング環境が含まれています。もし含まれていない場合、Duplicator Proで作成できます。
- ソースでキャップポストの改訂を行う。
修正を後から片付けるのではなく、WordPressが最初に保存する回数を制限しましょう。
追加 define('WP_POST_REVISIONS', 5); wp-config.php ファイルにこの設定を追加すると、WordPress は投稿ごとに最大 5 つのリビジョンを保持し、古いリビジョンは自動的に破棄するようになります。
これは既存の改訂版を削除するものではありませんが、同じペースでの蓄積を継続させないようにします。
- データベース効率のための監査プラグイン
すべてのプラグインがデータベースのパフォーマンスを考慮して作成されているわけではありません。ページ読み込みのたびに過剰なクエリを生成するものもあれば、その機能に見合わないほど頻繁にデータベースへの書き込みを行うものもあります。
クエリモニターはこれを可視化します。各ページで実行されるクエリ、その所要時間、およびそれらを生成したプラグインやテーマを表示します。
プラグインが常に遅いクエリや過剰なクエリの原因となっている場合、その設定を変更するか、あるいはプラグイン自体を置き換えることで対処する価値があります。
- 基本的なメンテナンス記録を保管してください。
ログがあれば、パターンを見つけやすくなり、スケジュールされたタスクが実際に実行されていることを確認でき、問題が発生する前に何が変更されたかを理解しやすくなります。複雑である必要はなく、単純なテキストファイルやプロジェクト管理ツール内のメモでも十分です。
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 内の cap の修正は define('WP_POST_REVISIONS', 5);スパム削除の定期的なスケジュールを維持し、不要なデータベース書き込みを行うプラグインを監査する。
クリーンアップ後もデータベースが予想以上に大きい場合は、プラグイン固有のテーブルで必要以上のデータを記録していないか確認してください。一部の分析プラグインやフォームビルダーはデフォルトで詳細なログを保存しており、それらのテーブルは時間の経過とともに大幅に肥大化する可能性があります。
WordPressのメンテナンス費用は?
範囲は広く、ほぼ完全に自分でどこまで行うかによって決まります。無料プラグインでメンテナンスを処理する場合、時間以外のコストはかかりません。Duplicator Proのような有料ツールは年間わずかな費用がかかりますが、バックアップ、移行、復元をカバーしており、無料ツールでは通常実現できない機能を提供します。
WP EngineやKinstaなどのプロバイダーによるマネージドWordPressホスティングは、月額約20~35ドルで、自動バックアップ、セキュリティスキャン、更新管理がパッケージに含まれています。
継続的なメンテナンスのためにフリーランスや代理店を雇う場合、サイトの規模や範囲に応じて月額50ドルから数百ドルの範囲で費用がかかります。
エラーメッセージを待ってはいけない
データベースのメンテナンスは複雑ではありませんが、一貫性が求められます。
定期的に手入れされているサイトは、本格的な修復作業が必要になるような複合的な問題が蓄積することは稀だ。一方、何年も放置されたサイトは事情が異なる。
操作の順序が重要だ:まずバックアップ、次にクリーンアップ、最後に最適化。クリーンアップ前に最適化を実行すると労力が無駄になる。バックアップなしでどちらかを実行するのは不必要なリスクだ。
このリストのすべての項目が、すべてのサイトに当てはまるわけではありません。チェックリストを活用して、ご自身の状況に該当する項目を特定し、それらを中心にスケジュールを組み立ててください。すべての項目を必須事項として扱うのではなく、柔軟に対応しましょう。
始めるべき場所があるとすれば、それはバックアップです。信頼できる復元ポイントがあれば、他のあらゆるメンテナンスタスクが安全になり、何か問題が発生した際の被害を最小限に抑える唯一の手段となります。それが更新の失敗であれ、移行作業の失敗であれ、テーブルの破損であれ、です。
Duplicator Proは、スケジュールされた自動バックアップを処理し、コピーをクラウドに保存し、数分で復元します。必要な時に確実に機能するメンテナンス環境の基盤となるソリューションです。
ここにいる間、私はあなたがこれらの関連するWordPressガイドを気に入ると思います: