以前から Webwait は知っていたが、計測だけであって、「遅い」原因を掴むことはできなかった。
また「遅い」ことを調べていると GTmetrix なるサービスの存在を知った。
WP Super Cache を off にしていた時、Leverage browser caching が F の筆頭で評価は BB でしかもパーセンテージも低かった。
サーバーの .htaccess に
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 6 months" ExpiresByType application/pdf "access plus 6 months" ExpiresByType text/x-javascript "access plus 6 months" ExpiresByType application/x-shockwave-flash "access plus 3 months" ExpiresByType image/x-icon "access plus 1 year" ExpiresDefault "access plus 100 days" </IfModule> ## EXPIRES CACHING ##
を加えると、それは解決した。
再々インストール後今度は css や js のファイル名に付いている ?ver=1.10.2 などがジャマだという。
これも JSやCSSに自動で付与されるバージョン番号を非表示に で解決できた。
この外部リンクも BWP External Links というプラグインで行っているが、このアイコン画像もたかが 1kb ほどで済むのに 49kb もの画像を使っていた。
まだ全ての画像を復元していないが、画像については昔からファイルサイズに気を配っていたが、 画像によっては jpg であっても高サンプリングのモードにしている。
しかしそれでも GTmetrix はアラートを送ってきている。(余計な世話じゃ! たかが 1kb にも満たないセーブでも。)
斯くしてパフォーマンス・レポートは A(95%) B (83%) であるが、 C ランクにあるのは Optimize images と Inline small CSS の二つ。
YSlow では
- Use a Content Delivery Network (CDN)
- Avoid AlphaimageLoader filter
- Use cookie-free domains
- Configure entity tags (ETags)
- Make fewer HTTP requests
が F ランクと E ランクになっている。
多分 wp-include に含まれている jquery.js や jquery-migrate.min.js とか admin-bar.min.css は CDN 化できるのであろう。