Webサイトの高速化のヒントを教えてくれるGoogleのPageSpeed Insightsでこのサイトを調べてみたところ、以下のような指摘がありました。
コンテンツの有効期限が指定されていないので、クライアントがキャッシュできず毎回読みに来ちゃうよ、という指摘です。
調べてみたところWordPressのレベルではなくApacheでmod_expiresというのを使えば指定したファイル(タイプ)の有効期限を設定できるようなので以下の様に設定しました。
$ cat /var/www/html/.htaccess ExpiresActive On ExpiresByType text/css "access plus 1 weeks" ExpiresByType image/gif "access plus 1 weeks" ExpiresByType image/jpeg "access plus 1 weeks" ExpiresByType image/png "access plus 1 weeks" ExpiresByType application/x-javascript "access plus 1 weeks" (以下略)
このままではExpiresActiveというのが解釈できないよ、というエラーが出てしまったのでmod_expiresを以下のコマンドで有効化しました。(Debian以外だとやり方は変わってきます)
$ sudo a2enmod expires Enabling module expires. To activate the new configuration, you need to run: service apache2 restart $ sudo service apache2 restart
結果、指摘がなくなりました。TwitterやGoogleが配信しているファイルは管轄外なのでどうしようもありません。
関連ページ:
DebianでApacheのモジュールを有効化/非有効化する – yusuke.blog