web-dev-qa-db-ja.com

wwwを使用しないリダイレクトが2秒以上かかるのはなぜですか?

私のウェブサイトlivingalignment.comの読み込みは非常に遅いです。ドメインとホスティングはすべてGoDaddyを使用しています。 In Pingdom www.livingalignment.comからlivingalignment.comにリダイレクトしていることがわかりました。これには約2秒かかり、合計読み込み時間は10秒です。 livingalignment.comに入力 の場合、約4秒かかります。

これを修正するにはどうすればよいですか?

1
cohen

.htaccessまたはhttpd.confで301リダイレクトルールを探します。

httpd.confで、次のようなルールを探します。

< VirtualHost www.domain.com >
      Redirect 301 / http://domain.com/
< /VirtualHost >

.htaccessで、次のようなルールを探します。

RewriteCond %{HTTP_Host} ^www.domain.com [NC]
RewriteRule (.*) http://domain.com%{REQUEST_URI} [R=301,L]

それらを発言してください。
httpd.confにある場合-service httpd restartを実行してApacheを再起動します

そうは言ったが、これがあなたのウェブサイトが遅い理由だとは思わない。指定したリンクを確認し、さらにドリルダウンすると、次のことがわかります。

enter image description here

firebug などのツールと、使用しているようなサイトまたは this one を使用して実際の問題を見つけることをお勧めします。

5
alfasin

アルファシンが正しく指摘しているように、少なくとも2つの問題があります。 1つ目は、WordPress内からリダイレクトを発行することです。つまり、WPアプリ全体が、そのリダイレクトを返すためだけに起動する必要があります。 2番目の問題は、そうするのに明らかにかなり時間がかかることです。

最初の問題を解決するには、Apacheにリダイレクトを直接生成させる必要があります。次のコードをwwwルートディレクトリの.htaccessファイルに配置することで実行できます。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_Host} !=livingalignment.com [NC]
RewriteRule ^(.*)$ http://livingalignment.com/$1 [R=301,L]

2番目の問題に関して、最初に行うことは、まだ行っていない場合は、APCなどの PHPアクセラレータ をインストールして使用することです。これはany大きいPHPアプリ。また、PHPインタープリターがFastCGIを介して、またはApacheモジュールとして直接実行されていることを確認してください。 PHPを従来のCGIスクリプトとして実行すると非常に遅くなり、高速化の利点のほとんどがなくなります。

キャッシュプラグインのインストールなど、WordPressを高速化するためにできることは他にもあります。すでに W3 Total Cache を使用しているようです。これは十分に評価されているようですので、問題ありません。ただし、インストールするだけでは不十分です。最適なパフォーマンスを得るには、サイトに合わせて設定を調整する必要があります。

他にもできることがたくさんありますが、私は実際には WordPressのパフォーマンスチューニング または 最適化 の専門家ではないので、完全な記述をしようとはしませんそれについてのチュートリアルは、グーグルで提案し、結果を確認することをお勧めします。それらの多くは、少なくとも一目で私に有望に見えました。

1
Ilmari Karonen

うん、@ alfasinが言ったことは正しい。

WordPressパワードWebサイトを使用しており、URLを強制的にwwwおよびHTTPSバージョンにしたい。 ReallySimpleSSLプラグインv2.2.12を使用します。

プラグインはこれらのコードをルート.htaccessに追加します

# BEGIN rlrssslReallySimpleSSL rsssl_version[2.2.12]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_Host}/$1 [R=301,L]
</IfModule>
# END rlrssslReallySimpleSSL

Www以外のバージョンからアクセスしている場合、wwwバージョンへのリダイレクトには2〜5秒かかります。

そして、@ alfasinが上記の提案を追加した後、今のところ何もかかりません。

素晴らしい、私はとても満足しています。

だから、ここに私の.htaccessがあります

# BEGIN rlrssslReallySimpleSSL rsssl_version[2.2.12]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
#RewriteRule ^(.*)$ https://%{HTTP_Host}/$1 [R=301,L] 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
</IfModule>
# END rlrssslReallySimpleSSL
1