LitespeedWebサーバーを実行している共有ホストでMagento1.6.2.0を使用しており、ページの読み込みを高速化する方法の調査を開始しました。現在、Pingdomを使用してリクエストを確認していますが、wwwなしでURLを入力すると、最初から1秒も失われているようです。ブラウザはwwwページにリダイレクトします、それはそれがとても時間がかかるということだけです。これは私が修正できるものですか?Magentoのbase-urlを変更してwwwを含めないようにすることができると思いますが、代わりにwwwurlに移動するときに同じ遅延が発生すると思います。
1 に答える
私はあなたが与えたリンクを調べました、そして私が前に付けられたURLへの302リダイレクトを受け取る前に私は確かに約1秒の遅れを見ますwww.
。完全に偶然ではありませんが、実際のページのHTMLもロードに非常に長い時間(約1.7秒)かかります。
これは、大規模なWebアプリケーションではかなり一般的な問題です。リダイレクトのような単純な応答でも返すには、アプリケーション全体をロードして起動コードを実行する必要があります。これを、その1つのアプリケーション用に最適化されていないそれほど高速ではない共有Webサーバーと組み合わせると、ページの読み込み時間が非常に遅くなる可能性があります。これはMagentoに固有のものではありません。私自身もMediaWikiで同じ効果を見てきましたが、他のアプリケーションでも同じ効果が得られると思います。
明らかな解決策は、リダイレクトを回避することです。すべてのURLが正しいホスト名を持っていることを確認する限り、間違ったホスト名による余分な遅延は表示されません。Magento自体がおそらく独自のURLに対してこれを処理しますが、Magento URLにリンクする他のコード(または静的ページ)がある場合は、それらが正しいホスト名を使用していることを確認してください。
また、 Googleウェブマスターツール(および他の検索エンジン用の同様のツール)にサインアップして、そこで優先ドメインを構成し( [サイトの構成]→[設定]www.
の下にあります)、Googleがインデックスを作成するサイトへのリンクを自動的に追加するようにすることもできます。
一般的に、Magentoの起動時間を短縮することもできます(そしてそうすべきです)。これにより、リダイレクトだけでなく、他のすべてのページの読み込みも高速化されます。私はMagentoに精通していないため、これについて詳細なアドバイスを提供することはできませんが、大規模なPHPアプリケーションの明らかな最初のステップは、APCなどのPHPアクセラレーターを使用していることを確認することです。
最後に、訪問者を正しいホスト名にリダイレクトする最も速い方法は、Magentoをまったく呼び出さずに、Webサーバーにリダイレクトを直接送信させることです。これを行う方法の詳細は、使用しているサーバーソフトウェアによって異なりますが、LiteSpeedはApacheのmod_rewriteと同じ構文をサポートしているようです。したがって、メインファイルに次の行を追加するだけでこれを行うことができます。RewriteRule
.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.mmmspeciosa\.com$ [NC]
RewriteRule ^(.*)$ http://www.mmmspeciosa.com/$1 [R=301,L]
(ちなみに、ここでは、Magentoが使用しているように見えるHTTP 302一時リダイレクトの代わりに、HTTP 301永続リダイレクトを使用しています。これはHTTP標準に従ってより適切であるだけでなく、検索エンジンでより適切に機能します。リダイレクトのソースではなくターゲットURLにインデックスを付けるための指標としての301リダイレクト。このリダイレクトタイプがMagentoで構成できない場合は、バグと見なします。構成できる場合は、301に設定する必要があります。)