WPMLのパフォーマンス問題の切り分け – 管理画面の遅延、翻訳ダッシュボードのタイムアウト、フロントエンドの遅延
WPMLのパフォーマンス問題(管理画面のページの遅延、フロントエンドの動作の遅さ、翻訳ダッシュボードのタイムアウト)は、ほぼ常にいくつかの一般的な要因のいずれかに起因します。問題がWPML自体にあると判断する前に確認すべき順序で、これらの要因について説明します。
-
遅延箇所の確認
- フロントエンドが遅く、管理画面は正常 → おそらくフルページキャッシュの設定、またはフロントエンドの負荷が高いプラグインが原因です。
- 管理画面が遅く、フロントエンドは正常 → おそらく
wp_optionsのautoloadの肥大化、管理画面専用の重いプラグイン、またはサーバーの能力不足が原因です。 - 翻訳ダッシュボードのみが特に遅い → おそらくダッシュボードのクエリに含まれる投稿の数が多く、PHPのメモリまたは実行時間が不足していることが原因です。
- 翻訳操作が遅い → おそらく翻訳サービスへの接続が原因です。WPML > サポートの通信ログを確認してください(どのログがどの症状に対応するかについては、ログを参照してください)。
-
サーバーリソースの確認
WPML > サポートを開きます。上部の警告パネルでは、PHPメモリがWPMLの推奨する256MBを下回っている場合に警告が表示されます。より大きなカタログを持つサイトでは、512MB以上が必要です。
その他のサーバーリソースに関する症状は以下のとおりです。
- データベースクエリの遅延。 多くの翻訳を持つ大規模なサイトでは、SSDベースのデータベースサーバー、十分な
innodb_buffer_pool_size、およびwp_icl_translationsテーブルのインデックス(これらはWPMLによって追加されるため、手動での介入が必要になることはまれです)が有効です。 - PHPの実行時間。
max_execution_timeが60秒未満でダッシュボードがタイムアウトする場合は、この値を増やしてください。 - CPU。 共有ホスティングプランでは、多くの場合、厳しいCPU制限が設けられています。制限がかけられていないか、ホスティングプロバイダーに確認してください。
- データベースクエリの遅延。 多くの翻訳を持つ大規模なサイトでは、SSDベースのデータベースサーバー、十分な
-
オブジェクトキャッシュ
オブジェクトキャッシュがないWordPressでは、リクエストのたびにWPMLの多くの設定がデータベースから読み込まれます。オブジェクトキャッシュとしてRedisまたはMemcachedを追加してください(ほとんどのマネージドWordPressホスティングで提供されています。提供されていない場合は、Redis Object CacheまたはWP Redisプラグインで有効にできます)。
通常、これにより大きな改善が見られます。以前はデータベースへのアクセスが必要だった設定が、メモリから提供されるようになります。
-
フルページキャッシュ
フルページキャッシュ(WP Rocket、W3 Total Cache、ホスティングプロバイダーのエッジキャッシュ)は、フロントエンドの速度において最も大きなパフォーマンス向上をもたらします。
すでに導入しているにもかかわらずページが遅く感じる場合は、キャッシュが言語ごとのURLを正しく処理しているか確認してください。WPMLのURL構造(ディレクトリとしての言語、サブドメインとしての言語、またはドメインとしての言語のいずれか)では、キャッシュがURLごとに異なる必要があります。ほとんどのキャッシュはこれを自動的に行いますが、フランス語版が英語のキャッシュから提供されていないか、またはその逆になっていないかを確認する価値があります。
-
競合している、または遅いプラグイン
サイトにはプラグインが蓄積されます。その中にはよく構築されているものもあれば、そうでないものもあります。遅いプラグインを見つけるには、以下の手順を実行します。
- Query Monitor(デバッグプラグイン)をインストールします。
- 遅いページを再読み込みします。
- Queries by Componentを確認します。最も負荷の高いクエリを実行しているプラグインが疑わしいと言えます。
プラグインが原因である場合は、それを置き換えるか、遅延の原因となっているそのプラグインの機能を無効にしてください。
-
サイトではなく翻訳サービスの遅延
翻訳ジョブが遅く感じる一方で、サイト自体は正常である場合、ボトルネックはサイトとWPMLの翻訳インフラストラクチャの間にあります。
WPML > サポート > 通信ログを確認してください。ログにはすべてのAPI呼び出しのレイテンシが表示されます。個々の呼び出しに何秒もかかっている場合、問題はサイトではなく接続(ネットワークパス、DNS、またはホスティングプロバイダーのアウトバウンド制限)にあります。代わりにWPML自体のキャッシュが原因である場合は、安全なトラブルシューティングツールにWPMLのキャッシュをクリアが含まれています。パフォーマンスの調査にサポートの確認が必要な場合は、サポートとのデバッグ情報の共有を通じて、これまでに確認した情報をまとめて送信してください。