wp_options テーブルと自動ロードされたデータをクリーンアップして最適化する方法

公開: 2022-09-28

この記事では、wp_options テーブルと自動ロードされたデータをクリーンアップし、データベースのパフォーマンスを大幅に改善する方法を学びます。 自動ロードされたデータは速度が低下し、Web サイトのパフォーマンスに影響を与える可能性があります。

古い大規模な WordPress サイトでは、自動ロードされた設定が必要以上に大きくなる可能性が非常に高くなります。 これは、以前にさまざまなプラグインやテーマを使用したり、テストしただけの Web サイトの典型でもあります.

クエリまたはデータの自動読み込みが原因で、WordPress サイトの読み込みに通常より時間がかかる場合があります。 データベースのパフォーマンスを向上させているとき、この最も重要なこと、つまり wp_options と自動ロードされたデータをクリーンアップすることを無視することがよくあります。

以下では、基本的に wp_option テーブルとは何か、サイトに含める必要があるデータの量、および wp_options テーブルと自動ロードされたデータをクリーンアップする方法について説明します。

目次

wp_options テーブルとは

WordPress Web サイトの場合、wp_options データベースには次のようなさまざまなデータが保存されます。

  • サイト URL、ホーム URL、デフォルト カテゴリ、管理者メール、時間形式、ページごとの投稿
  • テーマ、ウィジェット、プラグインの設定
  • 一時的にキャッシュされたデータやファイルなど

次のフィールドがテーブルに含まれています

WP OPTIONS テーブルの autoload フィールドは、知っておくべき最も重要な概念です。 このフィールドには YES または NO の値を指定できます。ROWS に YES を指定すると、wp load all オプションを使用して読み込まれたすべての Web ページにデータが自動的に読み込まれ、最終的にサイトの速度が低下します。

自動ロードされたデータとは何ですか?

名前が示すように、自動ロードされたデータは、WordPress Web サイトのページ読み込みの各ページで自動的に読み込まれるデータです。 wp_options データベースに大量の自動ロード データがある場合、WordPress サイトで問題が発生する可能性があります。

すべてのプラグインは理想的にはすべてのページにデータをロードする必要がありますが、自動ロード パラメータはデフォルトで開発者向けに "yes" に設定されています。 wp_options データベースに自動ロードされたデータが多数ある場合、WordPress サイトで問題が発生する可能性があります。

過剰な自動読み込みデータとはどのくらいのデータですか?

これは、300KB から 1MB のサイズである必要があります。 3 ~ 5 MB の範囲またはそれを超える範囲に到達した場合、最適化または自動読み込みから除外できる可能性があります。 また、10 MB を超えるものはすぐに処理する必要があります。

自動ロードされたデータの原因

プラグインまたはテーマの作成者は、独自のテーブルを使用する代わりに wp_options テーブルにデータをロードします。 一部の開発者は、新しいテーブルを作成しないプラグインを好みます。 ただし、WP オプションは、何千もの行を処理するようには設計されていません。

wp オプション テーブルには、WordPress Web サイトから削除されたプラグインまたはテーマのオプションがまだ含まれています。 これにより、不要な自動ロード データのクエリが発生する可能性があります。 自動ロード オプションには利点があるかもしれませんが、有害な場合もあります。 一部のプラグインは、WordPress から非アクティブ化または削除されたときに、自動ロードされたオプションをクリアしません。一部のプラグインは、実際にはすべての設定を自動ロードする必要はありません。

推奨される自動ロード データを超える場合は、wp_options テーブルに自動的にロードされたすべてのデータをクレンジングする必要があります。 さらに、wp_options テーブルのレコード数を減らす努力をすることをお勧めします。 データを削除する前に、必ずデータベースのバックアップを作成してください。 自分でこれを行う自信がない場合は、通常、WordPress 開発者を雇うことをお勧めします。

実際には「NO」に設定する必要があるときに、データがプラグインによって自動ロードされています。

wp_options テーブルで自動ロードされたデータを確認する方法

  • Cyber​​Panel ダッシュボードを開く
  • 右側からWordPressをクリック
  • ワードプレスのリストを選択
  • WordPress リストをクリックすると、デプロイした WordPress Web サイトが表示されます。 データベースを最適化するサイトを選択します。
  • WordPress サイトを選択したら、[データベース] タブをクリックします。
  • データベース名を参照してください。これは、選択した WordPress サイトのデータベースです。 PHPMyAdmin を介してこのデータベースにアクセスし、wp_options テーブルを最適化します。

データベース名を見た後

  • 左側からデータベースをクリックします
  • PHPMYADMINを選択
  • 左側からデータベース名をクリックします
  • 左側のメニューから wp_options を選択します
  • トップメニューからSQLを選択
  • 次の SQL クエリを追加し、[GO] をクリックします。
 SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';

ここでは、autoload の合計サイズが KB 単位で表示されます。3000KB を超える場合 (2MB を超えることを意味します)、データベースの最適化を検討する時期です。

より長いクエリを追加して、最初の 10 エントリをサイズ別にチェックすることもできます

SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes' UNION SELECT 'autoloaded data count', count(*) FROM wp_options WHERE autoload='yes' UNION (SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 10)

上記のクエリ結果は、画像でわかるように上位のキーを示しています。

長さの上位 10 個の値を一覧表示するために使用できる SQL コマンドは次のとおりです。

 SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 1

option_name rewrite_rules の最大の長さが 9153 であることがわかるように、この値を最適化または削除できるかどうかを確認できます。

wp_options テーブルをクリーンアップする方法

以前と同様に、phpMyAdmin にログインする必要があります。 左側でデータベースをクリックし、[SQL] タブをクリックします。 次に、次のコマンドを入力して「Go」を押します。

 SELECT * FROM `wp_options` WHERE `autoload` = 'yes'

WordPress サイトで wp_ 以外のプレフィックスを使用している場合は、上記のクエリを変更する必要がある場合があります。 wp オプション テーブルのオートロード データのセット全体がこの方法で表示されます。

残ったテーブルをクリーンアップする方法があるかもしれないので、常にプラグイン開発者のドキュメントを読んでください。 そのシナリオでは、プラグインを再インストールし、その自動クリーンアップ オプションを選択してから、適切に削除する方が安全で簡単な場合があります。 ただし、テーブルを手動でクリアする方法を示します。

行をスクロールすると、サイトで使用されなくなった、またはインストールされていないさまざまなプラグインに気付きます。 これを例として使用するだけですが、この例では、多くのステータス行が表示されました。 問題の Web サイトでは、ステータスは使用されなくなりました。

このコマンドを使用します

SELECT * FROM `wp_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%status%'
  • ファイル名の最後の単語を変更することができます。たとえば、ステータスを電子メールに変更してクリアできます

トランジェントをクリアする

wp_options テーブルは、オブジェクト キャッシュを使用していない限り、WordPress が一時的なレコードを保持する場所です。 多くの場合、これらには有効期限があり、時間の経過とともに消えます。 ただし、常にそうであるとは限りません。 私たちが確認したいくつかのデータベースでは、何千もの古い一時的な記録が見つかりました。 また、トランジェントが常に自動的にロードされるとは限らないことに注意することも重要です。 自動ロードされた一時データがあるかどうかを判断するには、次のようなクエリを実行できます。

 SELECT * FROM `wp_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%transient%'

同様に、削除クエリを使用して、不要になった一時的なものをクリアできます。

サイトをチェック

さらに、テーブルからエントリを削除する前に、データベース全体のバックアップを作成してみてください。 データベース コンテンツを削除した後、フロント エンドで Web サイトをテストすることも同様に重要です。 Web サイトが正常に動作し、プラグインやテーマの機能を妨げていないことを確認してください。 wp_options テーブルから削除したエントリの数に応じて、サイトが実際に読み込まれるペースは異なります。 クリーニングのために数百のレコードを削除する必要がありますが、大きな違いはないかもしれません。 ただし、何百万ものエントリが削除されると、Web サイトの読み込みが大幅に遅くなります。

結論

クエリまたはデータの自動読み込みが原因で、WordPress サイトの読み込みに通常より時間がかかる場合があります。 余分なデータや自動ロードされたデータをクリアするために使用したさまざまな方法とコマンドがありました。 wp_tables と自動ロードされたファイルをクリアすると、データベースのパフォーマンスを向上させることができます。