2015年3月11日水曜日

ウェブサイト軽量化まとめ

メモです。

http://spritegen.website-performance.org/
背景画像を一枚にまとめるための補助ツール。
画像をまとめ、CSSのポジションを吐いてくれる。


http://www.punypng.com/
画像の質を落とさずに、軽量化してくれる。


imgではHTMLかCSSで必ずwidth、heightを指定。
そうすることで、レイアウトの計算時間を短縮できる。
画像のオリジナルサイズと違う値を指定すると、
当然処理時間がかかる。
ちなみにtableも横縦の大きさを指定しないと計算分重くなる。


ul#global-nav
こういうCSSの指定は丁寧だが、重くなる。
#global-nav
で十分。
入れ子もできる限り避けるほうが良い。
#global-navigation ul li a → .global-navigation


a以外のタグに:hoverを利用すると、IE7とIE8ではレンダリング速度が落ちてしまう。


HEADの中で、CSSは上に固め、JSは下に固める。
レンダリングの順序の理由からこれが望ましい。

FileETag Noneをhttpd.confに差し込む

JSファイルを軽量化する。
JSMin 、 YUI Compressor などのソフトを使う事で、コメントや改行を削除し、軽量化させることができる。

GNU zip (gzip) を利用すると、圧縮した状態でブラウザに渡すことができる。
LoadModule deflate_module modules/mod_deflate.so

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript


イラレやフォトショで画像を吐きだすとき、pngが一番ファイルサイズが大きい気がするけど、pngが最も推奨される最適化されたファイルだそうな。



CSSやJS、画像をキャッシュさせることができる。
LoadModule expires_module modules/mod_expires.so

ExpiresActive on
ExpiresByType image/png "access plus 1 days"
ExpiresByType image/jpeg "access plus 1 days"
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/x-icon "access plus 3 days"
ExpiresByType image/vnd.microsoft.icon "access plus 3 days"
ExpiresByType text/css "access plus 1 days"
ExpiresByType application/x-javascript "access plus 1 days"
ExpiresByType text/javascript "access plus 1 days"
ExpiresByType application/javascript "access plus 1 days"