[2015年度版]WEBサイトの高速化
まずはサイトのページスピードを下記のサイトで確認しましょう。
<script async>
オプションを使うことで非同期にJSを読み込めるページ下部にあるような画像は最初から読み込む必要がないので、「その表示領域(スクロール領域)に入ったら画像を表示する」という指定を行い、遅延読み込みにする。おすすめはjQueryのLazy Loadです。
画像をBase64に変換するツール(data URI scheme)-シングスブログ
gzipで圧縮するファイルは画像以外の、HTML・CSS・JSなどのテキスト形式のファイルです。 ホスティング環境により対応できるサイトとそうでないサイトが変わるかと思います。
gZip通信かどうかを確認するサイトGIDZipTest
gzipをすべてのファイルに適用するには、サーバー側でモジュールを使用します。Apacheの場合は以下の記事を参考にしてください。 http://oxynotes.com/?p=6519
CSSやJS、画像などの内容が頻繁に変更されないファイルに関してはキャッシュを効かせることで、ダウンロードを省略でき、高速化することができます。 やり方としてはApacheのモジュールを使ったりすることで設定できます。
Cache-Control は、サーバキャッシュやリクエスト方法を定義する項目です。
<Files ~ ".(gif|jpe?g|png|ico|js|css|gz)$">
Header set Cache-Control "max-age=2592000"
</Files>
※2592000は30日なので、86400/日
下記の仕様でサンプルを作成してみました。
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 30 minutes"
ExpiresByType text/html "access plus 1 days"
ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
</ifModule>
wordpressの高速化についても基本は同じですね。