「自動読み込みオプションはパフォーマンスに影響を与える可能性があります」を解消した話

  • 2025年2月21日
  • 2025年2月21日
  • 私事

サイトヘルスチェック問題の経緯

本サイトのWORDPRESSのサイトヘルスチェックで以下のメッセージが出てから数年困っていました。

「自動読み込みオプションはパフォーマンスに影響を与える可能性があります」
パフォーマンス
自動読み込みオプションはプラグインやテーマの設定で、WordPress でページを読み込むたびに自動的にプラグインやテーマが読み込まれます。自動読み込みオプションが多すぎると、サイトの動作が遅くなることがあります。 このサイトには options テーブル内に 821個の自動読み込みオプション (サイズ: 2 MB) があります。データベース内で自動読み込みオプションを確認し、サイトで必要なくなったオプションを削除できます。

ググっても、ChatGPT4oに聞いてもこれという解決策はなく、検索でみつけた「WP-Optimizeプラグインで解消出来た」のはtransit切れだけで根本は解消できず…

あきらめて、しばらく我慢して放置していました。

Deep Research登場、月3万円の価値

ChatGPTにDeep Researchが出たので、月額200$(3万円)課金して使い始めて2週間ほどしたころ、その凄さに感動していました。
「あれ?サイトヘルスの自動読み込みオプション問題もイケるんじゃね?」ということで早速調べたところ解消できました!
ChatGPTのDeep Research+o3-mini-high最高!

以下、GPTのくれたアドバイスを記載します。
わからないことは聞いて解消できました。

Verとプラグイン情報は以下の通りです。どのプラグインを今使い続けているかは後々重要になります。
結論として、今はこれだけですが、いろいろ試したプラグインで消したもののゴミが残っていたのです。

WordPress 6.7.2 (THE THOR CHILD テーマ)
PHP 8.2.22
・プラグイン
Auto Amazon Links
BackWPup
Classic Widgets 
Contact Form 7
EWWW Image Optimizer
XML Sitemap Generator for Google

不要なオプション解決方法

【Step 1: データベースのバックアップを取得する】

XSERVERのサーバーパネルにアクセスし、IDとパスワードでログインします。
メニューから「MySQL設定」または「MySQL管理」を選び、対象のデータベース名(通常「wp_」で始まる名前)を確認します。
MySQL管理画面内にある「phpMyAdmin」へのリンクをクリックして、phpMyAdminを起動します。
phpMyAdminが開いたら、バックアップを取得してください。(エクスポート機能を利用)

※ここでphpMyAdminのIDとパスがわかりませんでしたので、別途AI(Perplexuty)に質問した回答は3案あり、最も簡単な下記の方法で解決できました。私はXSERVERを使っています。

サーバーパネルを経由した認証情報の取得手順
エックスサーバーの管理画面から直接MySQL認証情報を確認する方法が最も簡便な手段である。サーバーパネルにログイン後、「WordPress簡単インストール」セクション内のインストール済みアプリケーション一覧にアクセスすると、各WordPressインスタンスに対応するデータベース認証情報が表示される。
具体的な手順としては、管理画面左ナビゲーションの「サーバー管理」を選択後、対象ドメインを指定して「WordPress簡単インストール」画面に遷移する。ここで「MySQLユーザー名」と「MySQLパスワード」の項目が確認可能で、パスワード欄がマスクされている場合は隣接する可視化アイコン(瞳マーク)をクリックすることで平文表示が可能となる。公式マニュアルでは開発者向けメニューを有効化した上でサーバー情報画面から同等の情報を取得する方法も記載されている。
この方法の利点はGUI操作のみで完結すること、パスワードの即時再表示が可能な点にある。ただし、複数ドメインを管理している場合、対象サイトの正しい選択が必須となる。誤ったドメインを選択すると異なる認証情報が表示されるため、操作前のドメイン確認が重要となる。

【Step 2: 大容量のautoloadオプションを特定する】

phpMyAdminの左側のメニューから、バックアップ対象のデータベース(例:wp_database)をクリックします。
テーブル一覧から「wp_options」テーブルを選択してクリックします。
上部の「SQL」タブをクリックし、SQLクエリ入力画面を表示します。
以下のクエリを入力し、「実行」ボタンをクリックしてください:


SELECT option_name, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = ‘yes’
ORDER BY size DESC
LIMIT 10;

実行結果から、サイズが大きいオプション名を確認し、どのプラグインやテーマに関連しているかを判断します。
なお、クエリ入力画面で最初から1行入力されていることがありますが不要なので、削除してください。

大容量のautoloadオプションを特定
大容量のautoloadオプションを特定した結果

【Step 3: 不要なオプションの削除またはautoload無効化】

実行結果で確認したオプション名をもとに、そのデータが不要かどうか(例:アンインストール済みプラグインの設定、古いトランジェントなど)を判断します。

私の場合、最も大きくて、完全に不要なのはamazon_auto_linkのエラーログでした。これは迷わずノータイムで削除。

他は判断する必要があります。

表示されたoptionで消して問題のないものをChatGPT 03-mini-highに聞きました。私の場合は以下の通りでした。

絶対に削除しないこと

 rewrite_rules、wp_user_roles

注意して判断

 amazon_auto_links、amazon_auto_links_templates、widget_custom_html(使用している場合は保持)

不要の可能性が高い

・aioseop_options(All in One SEO Packが使われていない場合)
・rank-math-options-titles/rank-math-options-general(Rank Mathを使っていない場合)
・ppress_settings_data(ProfilePress等を使っていない場合)
・sm_options(ソーシャルメディア関連のプラグインを使っていない場合)

実際に削除する前に、各オプションがどのプラグインや機能に属しているかを再確認し、不要なものであることを十分に確認してください。もし不明な場合は「autoload」を無効(’no’に変更)する方法を試すと、影響を抑えながらパフォーマンスの改善が期待できます。

不要なものの削除方法は以下のように表示されましたが、GUIで削除ボタンを押すだけでできました。

【オプションを削除する場合】
a. 再び「SQL」タブをクリックし、以下のクエリを入力します。(対象のオプション名は実際の名称に置き換えてください)

DELETE FROM wp_options
WHERE option_name = ‘対象のオプション名’;

b. 「実行」ボタンをクリックして削除を実行します。

【autoloadを無効化する場合】
a. 「SQL」タブに下記のクエリを入力します。

UPDATE wp_options
SET autoload = ‘no’
WHERE option_name = ‘対象のオプション名’;

b. 「実行」ボタンをクリックして変更を実行します。

【Step 4: キャッシュのクリアとサイト確認】

WordPress管理画面にログインします。
使用しているキャッシュプラグイン(例:WP Fastest Cache、W3 Total Cacheなど)の設定画面に移動し、「キャッシュ削除」または「全キャッシュクリア」ボタンをクリックしてキャッシュをクリアします。
再度、WordPress管理画面の「ツール」→「サイトヘルス」で警告が解消されているかを確認します。

【Step 5: 定期的なメンテナンスの設定】

今後のために、WP-OptimizeやTransient Cleanerなどのプラグインをインストールします。
プラグインの設定画面(通常「設定」メニュー内、または独自のメニューが作られる)で、定期実行スケジュール(例:毎日や毎週)を設定し、自動で不要なオプションやトランジェントをクリーンアップできるようにします。

お読みいただき、ありがとうございました。
記事をお読みいただいた方に最適化された広告です。

NO IMAGE
最新情報をチェックしよう!