質問
- WPblogでのキャシュ設定内容について.htaccess
-
本文:
以前に以下の質問をさせて頂きました。
https://secure.netowl.jp/bbs/detail.cgi?td=2494
そして、
ベストアンサーに選択させて頂いたように
FTPで.htaccessをアップロードしました。
その際に、
.htaccessの内容は以下に記述した通りなのですが、
間違いないでしょうか?
また、
アップロード先ディレクトリは、
/wp-content内にアップロードすればそれ以下のディレクトリにも適用されると思いましたが、
さらに、
/wp-content/theme内
と
/wp-content/upload内
の3箇所に同じ.htaccessをアップロードしました。
,htaccess内の記述は以下です。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 14 days"
ExpiresByType image/gif "access plus 14 days"
ExpiresByType image/png "access plus 14 days"
ExpiresByType video/x-flv "access plus 14 days"
ExpiresByType text/css "access 14 day"
ExpiresByType application/javascript "access 14 day"
</IfModule>
問題はありませんでしょうか?
一応、ブログは表示されていますが、
そこまで、速くなった感じではありません。
GTMatrixとGooglePageInsightにて測定しました。
もし、このまま.htaccessを配置しておいても問題はないのでしょうか?
度重なる質問で恐れ入りますが、
何卒ご教授の程よろしくお願い申しあげます。
- 緊急度:緊急投稿者:universeさん投稿時間:2016/06/24 04:12
回答 No.4863
-
本文:
答えにはなりませんが
http://www.wpblog.jp/
WPblogでインストールしたWordPressには、専用の高速システムを採用しており、アクセスから表示までの高速化を図っています。
公式のトップにはこう書いてあります。
XdomainのWordPress機能のトップページにも似たような記述があるため、WPblogが高速化されているかどうかを実感したかったらWordPress専用ではないサーバに自分でWordPressをインストールして比較するしかないと思います。
どういう高速化がされているのかをはっきりさせたいのであれば、ここではなく直接運営側にメールで問い合わせるしかないでしょう。
PHPもWordPressも月1かそれ以上の頻度でパッチが出ます。
それをいつネットオウルが適応するのかは別問題ですが、プラグインの更新というのは当然それらパッチが出た後になります。
更新が滞っているプラグインはいつか使えなくなります。
今現在問題なく動いていてもある日突然エラーが出る可能性があるわけです。
かといってバージョンアップをしないと乗っ取りや改ざんの被害に遭う確率が増えるわけですから、プラグインの使用数はなるたけ少ない方が面倒が少なくなると思います。
ブラウザによっては閲覧者のブラウザ設定によってブラウザを閉じるときにキャッシュを破棄することもできるわけですから、どこかのサイトの測定値と実際に閲覧した時とが同じになるとは限りません。
問題が出たらそれを修正するか撤去すればいいだけです。
1回いろいろ設定したらあとは何も気にすることなく記事内容の更新だけに専念したいというのは無理だと思います。 - 投稿者:kashaさん 投稿時間:2016/06/24 07:29
質問者からのコメント
kashaさん、
ご回答ありがとうございます。
なるほどです。
特に一番初めと最後の部分には納得です。
ただ、
.htaccess
を設置しても問題はないですよね?
以下の記述内容に変更しようと思っています。
AddType image/x-icon .ico
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
#DeflateCompressionLevel 4
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 216000 seconds"
</ifModule>
FileETag none
<FilesMatch "^(wp-config\.php|wp-mail\.php|install\.php|\.ht)">
order allow,deny
deny from all
</FilesMatch>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(html?|xml|xsl|js|css|jpe?g|png|gif|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
もしくは、
記述しないほうが良いのでしょうか…。
回答 No.4864
-
本文:
> 一応、ブログは表示されていますが、
> そこまで、速くなった感じではありません。
だからさ、キャッシュというのは、『1回目の読み込みの時には決して速くはならない』のですよ。
速くなるのは、『1回目の読み込んだ結果を2回目以降は「読み込まない」ことで速くなる』のです。
自分のサイトのページであれば、すでに何回も読み込んでいるだろうし、ブラウザがすでにキャッシュしているので、そこに新たなキャッシュ設定をしても速くはなりません。
この設定が効果があるのは、
「ブラウザのデフォールトのキャッシュ期間が、比較的短く」て、「その期間ほど頻繁にはサイトを訪れず」、「上の設定期間よりは頻繁に訪れる」ユーザーに限ります。
wpblogの場合は、サーバーがさらにキャッシュしているので、さらに指定の効果は薄れます。
3日に一回くらい訪れるユーザーであれば、多分速くなったと感じるかもしれない。月に1回位しか訪れないユーザーにはほとんど意味が無い。毎日訪れるユーザーだと、効果が有る人と無い人にわかれるだろう。
それと、上の設定が効くのは、『静的なファイルだけ』で、wpblogが遅く感じるとしたら、余計なプラグインが多いとか、別の理由であることが多いですよ。
まあ、Googleの判定には効果があると思いますけれどね。
- 投稿者:ジョバンニさん 投稿時間:2016/06/24 08:44
質問者からのコメント
ジョバンニさん、
ご回答誠にありがとうございます。
たしかに、おっしゃる通りだと思います。
記述内容としては、間違いはないでしょうか?
以下のように変更しようかと考えています。
AddType image/x-icon .ico
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
#DeflateCompressionLevel 4
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 216000 seconds"
</ifModule>
FileETag none
<FilesMatch "^(wp-config\.php|wp-mail\.php|install\.php|\.ht)">
order allow,deny
deny from all
</FilesMatch>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(html?|xml|xsl|js|css|jpe?g|png|gif|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
しかし、
たしかに、本当にほとんどはGoogleの判定のみに効果があるのだとは承知していますが…。
記述内容としの誤りはないでしょうか?
何卒ご教授の程お願い申し上げます。
度々本当に申し訳ありません。
m(__)m m(__)m m(__)m。
回答 No.4871
この回答がベストアンサーです
> 記述内容としては、間違いはないでしょうか?
エラーになっていないのなら、「記述としては間違いない」ですけれど、
wpblog では deflate は使えないし、
( <IfModule mod_deflate.c>で括ってあるので、間違いではない。)
<FilesMatch も、自分が締め出されてもいいなら、間違いではないかな...
> 記述しないほうが良いのでしょうか…。
まあ、その辺を気にするなら、
>>
さらに、
/wp-content/theme内
と
/wp-content/upload内
<<
のあたりの無駄、... 環境にもよるけれど、数ms 遅くなるのでは? ... を気にした方がいいような。
速度を気にするなら、まず、きちんと測定することを考えた方がいいですよ。Firefoxなら、firebugで、Chromeならデベロッパーツール、IEなら、開発者ツールでどのファイルに何msかかっているかが測定できるし、もし1ページの読み込みに100件ものファイル読み込みをしているようなら、読み込むファイルの『数』を減らすことを考えた方がいい。
(小さな画像をたくさん使っているなら、spriteの技法を使って一つのファイルに纏めてしまうとか)
ブラウザのキャッシュが残っている場合でも、「ファイルが更新されたかのチェック」だけでも1件当り30msくらいかかるので、そんなのが30件もあれば、それだけで1秒余分に掛かる計算になる。
まぁ、twitterとか、google analitics とか、広告とかが時間を食っていることが往々にしてあるから、「本当に必要なのか」考え直した方がよほど速くなりますよ。
質問者からのコメント
ジョバンニさん、いつもご回答ありがとうございます。
>wpblog では deflate は使えないし、
( <IfModule mod_deflate.c>で括ってあるので、間違いではない。)
↑
という事は、記述しても無意味ということですね!!
><FilesMatch も、自分が締め出されてもいいなら、間違いではないかな...
↑
この意味がわからないのですが、締め出されてもいいというのは???
<FilesMatch はWPblogにおいては、/wp-content/より上層のディレクトリはWPblogにて管理されているので、
記述はしないほうが良いということで間違いないでしょうか?
度々本当にすみません。m(__)m
もうこれでダメなら諦めて素直にそのまま使用しようと思います。
.