WordPressデータベースの最適化方法:10ステップで高速サイトを実現
John Turner
ジョン・ターナー
現在、WordPressのデータベースはあなたに不利に働いていますが、おそらくそれに気づいていないでしょう。
下書きを保存するたびに、WordPressはリビジョンを作成します。プラグインが一時データを保存するたびに、トランジェントが追加されます。
スパムコメント、削除された投稿、アンインストールされたプラグインからの孤立したメタデータ行はすべて、削除するまでデータベースに残ります。
時間が経つにつれて、すべてが遅くなります。
管理画面の読み込みに時間がかかるようになります。バックアップが大きくなり、復元に時間がかかるようになります。
この記事では、WordPressデータベースを最適化する方法を説明します。保持する価値のあるものと、単なるデッドウェイトであるものを学びます。
主なポイントは次のとおりです:
- 何かを触る前にバックアップしてください。このガイドの各ステップでデータが削除されます。 Duplicatorを使用すると、WordPressが完全にアクセスできなくなった場合でも、ワンクリックで復元できます。
- DB Optimizerは、クリーニングを開始する前に0〜100のヘルススコアを表示します。5つの色分けされた領域(テーブルオーバーヘッド、トランジェント、リビジョン、オートロードサイズ、ゴミ箱アイテム)は、何に注意が必要かを正確に示しているため、推測する必要はありません。
- DB Optimizerを使用している場合は、ほとんどの手動手順をスキップできます。プラグインは、リビジョン、トランジェント、ゴミ箱、テーブルの最適化を一度に処理します。
目次
WordPressデータベースとは?
WordPressデータベースには、ブログ投稿、ウェブページコンテンツ、ユーザー名、パスワードなど、すべての重要なデータが含まれています。
ウェブサイトを作成すると、WordPressはウェブサーバー上にMySQLデータベースを確立します。訪問者があなたのウェブサイトを訪れるたびに、ブラウザはデータベースから情報を取得するためにサーバーにリクエストを送信します。
WordPressデータベースは、オープンソースのデータベース管理システムであるMySQLを使用しています。データをサイトを作成するために連携するさまざまなテーブルに分離します。
WordPressには12個のコアテーブルがあります。それぞれのテーブルに格納されている内容は次のとおりです。
- wp_commentmeta: コメントのメタ情報を格納します
- wp_comments: ブログのコメントを格納します
- wp_links: ブログロールリンクを格納します
- wp_options: 管理設定のオプションを格納します
- wp_postmeta: 投稿のメタ情報を格納します
- wp_posts: ページ、投稿、カスタム投稿タイプのデータを格納します
- wp_terms: タグとカテゴリを格納します
- wp_termmeta: メタデータを格納します
- wp_term_relationships: 投稿、カテゴリ、タグの関係、およびリンクとリンクカテゴリの関係を格納します
- wp_term_taxonomy: wp_termsテーブルで使用されるカテゴリ、リンク、またはタグの説明を格納します
- wp_usermeta: ユーザーのメタ情報を格納します
- wp_users: ユーザーを格納します
これらは、すべてのWordPressデータベースの基本的なテーブルです。プラグインやテーマをインストールすると、追加のテーブルが作成される可能性があります。
データベースを最適化する必要があるのはなぜですか?
時間の経過とともに、データベースには投稿の改訂、スパムコメント、その他の不要なデータが蓄積されます。データベースが重くなるほど、サイトの速度は低下します。
読み込み時間が長いと、オンライン訪問者はすぐにあなたのウェブサイトを離れてしまいます。トラフィックを増やし、ユーザーエクスペリエンスを向上させ、検索エンジンのランキングを改善したい場合は、データベースの最適化を行う時期です。
データベースを最適化するその他の理由をいくつかご紹介します。
- Googleのランキング要因であるため、SEOを改善します
- コンバージョンを増やします
- データベースエラーのリスクを軽減します
- CPUやメモリなどのリソースの使用量を減らし、サーバーへの負荷を軽減します
- スケーラビリティを向上させます
- データベースをバックアップしてセキュリティを強化します
- WordPressのテーマやプラグインが、エラーや速度低下なしにパフォーマンスを発揮し、連携できるようにします
- サーバーリソースのアップグレード費用を回避します
WordPressデータベースの最適化と修復の違いは何ですか?
データベースの最適化とは、WordPressデータベースの効率を改善することであり、ウェブサイトの速度を向上させ、ユーザーエクスペリエンスを向上させることができます。一方、データベースの修復とは、パフォーマンスに影響を与える可能性のある問題やエラーを修正することです。
データベースを情報で満たされた倉庫だと想像してください。データの追加と削除に伴い、倉庫の一部は散らかりますが、他の部分は空になります。
そこでデータベースの最適化が役立ちます。データを整理し、必要なものにアクセスしやすくします。
次に、倉庫の構造が損なわれていると想像してください。壁が崩れたり、屋根が漏れたりしているかもしれません。これは明らかに修理が必要なケースです。同様に、データベースの不具合が原因でサイトで繰り返しエラーが発生している場合は、データベースの修復を行う時期です。
したがって、最適化と修復の両方が不可欠なメンテナンスタスクですが、最適化はバックエンドの円滑な運用を保証します。ただし、修復はデータベースのエラーによって引き起こされる特定の問題に対処します。
WordPressデータベースを最適化する前に何をすべきか
データベースの最適化を開始する前に、バックアップを取ることが重要です。これにより、誤って削除された場合でも簡単にデータベースを復元できます。
Duplicatorは、WordPressデータベースのバックアップに最適なプラグインです。無料版または有料版のどちらでも使用できますが、自動クラウドバックアップのような便利な機能は、アップグレードした場合にのみ利用可能です。

Duplicatorをインストールしたら、新しいバックアップを作成します。動的タグを使用して名前を付け、保存場所を選択してください。

バックアップセクションで、データベースのみを選択します。ただし、WordPressサイト全体をバックアップしたり、カスタムバックアップファイルを作成したりすることもできます。

バックアップの構築を完了します。これで、自由にデータベースの最適化を続けることができます!
いつでもデータベースを復元できることを忘れないでください。バックアップがローカルに保存されている場合は、Duplicatorのバックアップログに移動し、復元ボタンをクリックします。

データベースのエラーがWordPressダッシュボードへのアクセスをブロックする可能性があると思われる場合は、必ず災害復旧ポイントを設定してください。完全なバックアップの横にある復旧アイコンをクリックします。

次に、復旧リンクをコピーします。

何かあった場合は、このリンクをブラウザウィンドウに貼り付けます。これにより、サイトが以前のバージョンに即座にロールバックされます。
WordPress データベースを最適化する方法
これで、データベースの最適化の準備が整いました!開始するための主な手順は次のとおりです。
- データベース最適化プラグインをインストールする: DB Optimizerを使用して、ヘルススコアを取得し、リビジョン、トランジェント、テーブルオーバーヘッドを1か所でクリーンアップします。この手順を実行すると、以下のほとんどの手動手順をスキップできます。
- データベースを手動で最適化する: phpMyAdminを使用して、プラグインなしでホスティングコントロールパネルから直接テーブル最適化を実行します。
- WordPressの自動データベース最適化を使用する: wp-config.phpを介してWordPressの組み込み修復ツールを有効にし、テーブルをネイティブに修復および最適化します。
- ゴミ箱を空にする: ゴミ箱フォルダにある投稿やページを完全に削除して、データベーススペースを占有しないようにします。
- 投稿リビジョンを削除:投稿の保存や更新のたびにwp_postsに蓄積される古い下書きコピーを制限または削除します
- スパムコメントを削除:WordPressが自動削除する最大30日間wp_commentsに残るフラグ付きスパムをクリアします
- 未使用タグを削除:phpMyAdminでSQLクエリを使用して、関連投稿のない孤立したタグを削除します
- ピンバックとトラックバックを削除:人気サイトのデータベースに溜まるサーバー通知を無効化し、一括削除します
- 期限切れの一時データ(トランジェント)を削除:WordPressが期限切れとマークしても実際には削除されない一時的なプラグインデータをクリアします
- 肥大化を招くプラグインを削除:データベースに過剰なデータを書き込むリソース消費の激しいプラグインを特定してアンインストールします
1. WordPressデータベース最適化プラグインをインストールする
データベースを手動で最適化するには、時間と技術的な経験が必要です。このプロセスを自動化するには、DB Optimizerのようなプラグインをインストールできます。

DB Optimizerは、データベースに蓄積されているデータを可視化します。最初に表示されるのは、0から100までの健全性スコアです。

5つのカラーコード化された進捗バーが、テーブルオーバーヘッド、トランジェント、リビジョン、オートロードサイズ、ゴミ箱アイテムなど、最も重要な領域のスコアを内訳表示します。
スコアを向上させるには、クリーンアップタブに移動します。クリーニングが必要なものをすべて選択し、最適化を実行します。

次に、テーブルタブを開きます。DB Optimizerは、大きなオーバーヘッドを持つデータベーステーブルをハイライト表示します。それらを一括または個別に最適化します。

その後、データベースは自動的に最適化されます。DB Optimizerが実行してくれたので、次のステップに進む必要はありません!
2.データベースを手動で最適化する
データベースを最適化するもう1つの方法は、データベースマネージャーであるphpMyAdminを使用することです。これにより、最適化プロセスをより細かく制御できます。
まず、ウェブホスティングプロバイダーのコントロールパネルにサインインします。通常、cPanelダッシュボードでphpMyAdminにアクセスできます。

phpMyAdminで、データベースタブをクリックします。次に、データベース名を選択します。
これで、データベーステーブルのリストが表示されるはずです。一番下までスクロールして、すべて選択をクリックします。選択した項目でドロップダウンメニューを展開し、テーブルを最適化を選択します。

phpMyAdminは、データベーステーブルを最適化するSQLクエリを自動的に作成します。

データベースクエリを使用することで、ウェブサイトのパフォーマンスが向上します。データベースのサイズが減少し、ページの読み込み時間が短縮されます。
3. WordPress自動データベース最適化を使用する
WordPressにはデータベースを最適化するための組み込みの方法があります。wp-config.phpファイルにこのSQLコマンドを追加するだけです。
define( 'WP_ALLOW_REPAIR', true );
次に、このリンクを使用してWordPressの最適化ツールを開きます。
http://www.yourwebsite.com/wp-admin/maint/repair.php
このページで、WordPressにデータベースの修復と最適化を許可できます。

完了したら、追加したコードをwp-config.phpファイルから削除してください。
4.ゴミ箱を空にする
古い投稿などの項目を削除すると、完全に削除されるのではなく、ゴミ箱フォルダに移動されます。その結果、データベースが時間とともに肥大化する可能性があります。
WordPressは30日後にファイルを完全に削除します。しかし、データベースを最適化するために、ゴミ箱フォルダをより頻繁に空にしたい場合があります。
wp-config.phpファイルに、次のコードを追加します。
define( 'EMPTY_TRASH_DAYS', 7 );
これにより、保持期間が7日に変更されます。ただし、この数値をニーズに合った任意の期間に変更できます。
5.投稿の改訂を削除する
ブログを運営している場合、SEOランキングを向上させるために古い投稿を常にリビジョンしている可能性があります。これらの投稿リビジョンがデータベースのスペースを占めていることに気づいていないかもしれません。
この問題を解決するには、データベースで許可されるリビジョンの数を減らすことができます。wp-config.phpファイルに移動し、次の行を追加します。
define( 'WP_POST_REVISIONS', 2 );
これにより、サイトの各投稿に対して2つの投稿リビジョンのみが保持されます。
必要であれば、このコードを使用してリビジョンを完全に無効にすることができます。
define( 'WP_POST_REVISIONS', false );
これにより、古い投稿リビジョンにアクセスできなくなることに注意してください。したがって、将来それらが必要になるかどうかを検討してください。
6.スパムコメントを削除する
スパムをブロックしないと、WordPressウェブサイトがスパムコメントで溢れる可能性があります。他のファイルと同様に、スパムコメントは30日後に削除されます。この間、wp_commentsデータベーステーブルに数百の不要な行が追加される可能性があります。
スパムコメントの受信を停止する良い方法は、スパムブロッカープラグインをインストールすることです。Akismetは、500万以上の有効なインストールがある人気のオプションです。

Akismetをインストールすると、サイトがスパムコメントから自動的に保護されます。これらはスパムキューに送信されます。

Akismetにスパムを削除させることもできます。これにより、スパムが表示されることはありません。

それ以外の場合、スパムコメントは15日後に削除されます。スパムコメントをより頻繁にクリアしたい場合は、 スパムを空にするをクリックしてください。

これにより、データベースの肥大化が軽減されます。
7.未使用のタグを削除する
タグは、ウェブサイトのコンテンツを整理するための優れたツールです。サイト上のトピックをグループ化し、ユーザーを関連する記事に誘導するのに役立ちます。
時間の経過とともに、特定のタグの使用を停止する場合があります。それらがデータベースでどれだけのスペースを占めているかに気づかないことさえあるかもしれません。
それらを削除するには、phpMyAdminを使用してデータベースに接続します。次に、このSQLクエリを実行します。
SELECT * FROM wp_terms wterms INNER JOIN wp_term_taxonomy wttax ON wterms.term_id = wttax.term_id WHERE wttax.taxonomy = 'post_tag' AND wttax.count =0;
wp_よりも異なるプレフィックスがある場合は、このコマンドを更新してください。
次に、これらのコマンドを実行して、未使用のタグをすべて一度に削除します。
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
8.ピンバックとトラックバックを削除する
外部ウェブサイトへのリンクを含む投稿を公開すると、サーバー通知が送信されます。これはピンバックと呼ばれます。トラックバックは似ていますが、手動で送信される点が異なります。
人気のあるウェブサイトを運営している場合、データベースに数千のピンバックとトラックバックがある可能性があります。あなたのコンテンツにリンクしているサイトが多すぎると、不要なデータベーススペースを占有する可能性があります。
幸いなことに、ピンバックとトラックバックを無効にすることができます。ダッシュボードで 設定 » ディスカッションを見つけます。 デフォルトの投稿設定の最初の2つのオプションのチェックを外します。

データベースにすでに多くのトラックバックとピンバックがある場合は、一括で削除できます。このコマンドを実行するだけです。
UPDATE wp_posts SET ping_status= “closed”;
これでデータベースが少し最適化されました!
9.期限切れの一時データを削除する
トランジェントは、WordPressコアおよびプラグインがwp_optionsテーブルに保存する一時データです。自動的に期限切れになるはずですが、WordPressは期限切れになっても削除しません。
期限切れとマークされたまま残り、スペースを占有し、wp_optionsにアクセスするすべてのクエリを遅くします。
DB Optimizerで、トランジェントとキャッシュセクションを開きます。期限切れのトランジェントの数とその占有スペースが表示されます。「クリーン」ボタンを押します。

これで、データベースを肥大化させる期限切れの一時データはなくなります!
10.肥大化を引き起こすプラグインを削除する
特定のWordPressプラグインは、データベースに多くのデータを保存します。新しくインストールするプラグインごとにデータベースに追加されますが、プラグインによっては他のものより重いものがあります。
データベースを肥大化させる可能性のあるプラグインをいくつかご紹介します。
- スパム対策プラグイン
- セキュリティプラグイン
- 分析プラグイン
- 関連記事を表示するプラグイン
- リンク追跡プラグイン
特定のプラグインが多くのデータベースストレージを使用していることに気づいた場合は、削除を検討してください。プラグインの使用を減らすべきかどうか不明な場合は、WordPressプラグインは多すぎるとどれくらいかガイドをお読みください。
WordPressデータベースの最適化に関するFAQ
WordPressデータベースを最適化するにはどうすればよいですか?
WordPressのデータベースは、ゴミ箱を空にすることで最適化できます。また、投稿の改訂、スパムコメント、未使用のタグ、期限切れの一時データ、ピンバック、トラックバック、リソースを大量に消費するプラグインを削除することも良い考えです。データベースクリーンアッププラグインを使用して、データベースから不要なデータを削除することもできます。
WordPressデータベースのサイズを縮小するにはどうすればよいですか?
WordPressデータベースのサイズを縮小するには、WP-Optimizeのようなプラグインをインストールできます。または、phpMyAdminにログインして、データベースのすべてのテーブルを最適化します。投稿の改訂、ゴミ箱に入れられたコメント、その他の不要なデータを手動で削除することもできます。
WordPressデータベースはどのくらいの頻度で最適化する必要がありますか?
アクティブなブログや定期的にプラグインを更新しているサイトでは、毎月のデータベース最適化が良い基準となります。週に複数回投稿したり、WooCommerceを実行したりする場合は、週次のクリーンアップスケジュールを設定する価値があります。重要なのは、各クリーンアップをバックアップとペアにすることです。これにより、問題が発生した場合に復元ポイントが確保されます。
WordPressのデータベースが大きすぎるかどうかはどうすればわかりますか?
注目すべき2つのベンチマーク:800 KBを超える自動ロードデータはパフォーマンスの赤信号であり、10 MBを超えるwp_optionsテーブルは通常、トランジェントまたはプラグイン設定の肥大化を意味します。DB Optimizerは、これらの両方の指標をヘルススコアダッシュボードに表示します。どちらかが赤信号の場合は、そこから始めるのが良いでしょう。
プラグインなしでWordPressデータベースを最適化できますか?
はい。phpMyAdminとWordPressの組み込み修復ツールは、どちらも追加のプラグインなしで機能します。WP-CLIは、サーバーへのSSHアクセスがある場合のもう1つのオプションです。手動の方法は、時折のメンテナンスには問題なく機能しますが、DB Optimizerのようなプラグインは、定期的なクリーンアップにはより高速です。
データベースはクリーンになりました — その状態を維持しましょう
データベースが抱えていた不要なデータを削除しました。サイトの稼働期間によっては、数千ものリビジョン行、期限切れのトランジェント、スパムコメント、孤立したプラグインテーブルなどが含まれる可能性があります。
作業はここで終わりではありません。ゴミが蓄積する前にキャッチするために、定期的なメンテナンススケジュールを設定してください。重要なデータを失うことがないように、最適化の各ラウンドをバックアップと組み合わせてください。
150万以上のWordPressのプロフェッショナルが、まさにその目的のためにDuplicatorを使用しています。データベースをバックアップし、コピーをクラウドストレージに自動的に保存し、WordPressが完全にアクセス不能な場合でもワンクリックで復元します。
DB OptimizerはDuplicator ProおよびEliteプランに含まれています。これにより、バックアップとクリーンアップのワークフローが同じ場所で実行されます。
せっかくなので、これらの追加のWordPressチュートリアルもご覧ください。