mod_pagespeed設定値

WordPress

mod_pagespeed の設定に関して良い記事があったのでメモ。

ページが存在しません。 | 株式会社サイバーエージェント
サイバーエージェントは「21世紀を代表する会社を創る」というビジョンを掲げ、インターネット領域で時代の変化に合わせた様々な事業を展開しています。国内トップクラスのインターネット広告代理事業や、新しい未来のテレビ「ABEMA」を提供しています...

mod_pagespeed 自体は .htaccessファイル に以下の様に記述すれば有効になります。

ModPagespeed On

元記事によると、詳細にフィルタを変更できるようです。

私のブログでは、WPXレンタルサーバーを使用しており、mod_pagespeed を利用できるので、以下の設定にて暫く様子を見ようと思います。

ModPagespeed On
ModPagespeedRewriteLevel CoreFilters
ModPagespeedEnableFilters canonicalize_javascript_libraries
ModPagespeedEnableFilters defer_javascript
ModPagespeedEnableFilters insert_dns_prefetch
ModPagespeedEnableFilters insert_image_dimensions
ModPagespeedEnableFilters local_storage_cache
ModPagespeedEnableFilters remove_comments
ModPagespeedEnableFilters remove_quotes
ModPagespeedEnableFilters resize_mobile_images
ModPagespeedEnableFilters trim_urls
ModPagespeedDisableFilters inline_images
ModPagespeedDisableFilters inline_javascript
ModPagespeedCssInlineMaxBytes 1024000

フィルタと概要(元記事から引用)

HTMLの記述方法を最適化するフィルタ

フィルタ名 解説 デフォルト
add_head <head> 要素がない場合は挿入する。 オン
combine_heads <head> 要素が2つ見つかった場合は1つに統合する。
inline_import_to_link CSSの@importsしか行なっていない<style>タグを <link> タグによる読込に書き換える。 オン
move_css_above_scripts CSS要素を<script>タグよりも上に移動する。
move_css_to_head CSS要素を<head>タグ内に移動する。
collapse_whitespace 不要な空白を除去する。(以下のタグ内は行わない: <pre>, <script>, <style>, <textarea>).
elide_attributes HTMLの仕様に従っていない属性は除去する。
extend_cache 最適化を行わなかったCSS、JSおよび画像のキャッシュ保持期間をコンテンツのハッシュ付きURLを付与することで延長する。 オン
extend_cache_css 最適化を行わなかったCSSのキャッシュ保持期間をコンテンツのハッシュ付きURLを付与することで延長する。( extend_cacheで暗黙的に呼び出される。 ) オン
extend_cache_images 最適化を行わなかった画像のキャッシュ保持期間をコンテンツのハッシュ付きURLを付与することで延長する。( extend_cacheで暗黙的に呼び出される。 ) オン
extend_cache_scripts 最適化を行わなかったJSのキャッシュ保持期間をコンテンツのハッシュ付きURLを付与することで延長する。( extend_cacheで暗黙的に呼び出される。 ) オン
extend_cache_pdfs PDFのキャッシュ保持期間をコンテンツのハッシュ付きURLを付与することで延長する。
convert_meta_tags meta タグのうち http-equiv 属性のものをレスポンスヘッダ値に置き換える。 オン
trim_urls URLをベースURLからの相対パスに書き換えることで短くする。
remove_quotes HTMLの各属性の中にある文法上必須でない引用符を除去する。
remove_comments HTML内のコメントを除去する。(ただしインラインのJS/CSSは除く)

JS/CSSのリソースを最適化するもの

フィルタ名 解説 デフォルト
combine_css 複数のCSS要素を1つに結合する。 オン
rewrite_css CSS内のスペースやコメントを除去する。また画像系オプションが有効な場合、CSS内でロードしている画像も書き換えたりキャッシュ延長の対象とする。 オン
fallback_rewrite_css_urls 解析・圧縮できないCSSでもURLに関しては書き換えを行うフォールバックオプション。 オン
rewrite_style_attributes スタイル属性内のCSSもルールに基づき最適化する。
rewrite_style_attributes_with_url スタイル属性内のurlを含むCSSルールも、rewite_cssの設定を適用する。 オン
flatten_css_imports @import句を事前に読み込み1枚のフラットファイルにする。 オン
rewrite_javascript Javascript内の不要な空白やコメントを除去する。 オン
combine_javascript 複数のJavascriptを1枚のファイルにする。
inline_css 小さな外部CSSファイルを、HTML内に埋め込む。 オン
inline_javascript 小さな外部JSファイルをHTML内に埋め込む。 オン
outline_css 巨大なHTML内のCSS記述をキャッシュ可能な外出しファイルにする。
outline_javascript 巨大なHTML内のJS記述をキャッシュ可能な外出しファイルにする。

画像ファイルを最適化するもの

フィルタ名 解説 デフォルト
rewrite_images 画像の最適化、再エンコード、不要なピクセルの除去を行う。また、小さな画像はインライン化する。 オン
convert_jpeg_to_progressive 巨大なjpegファイルをプログレッシブファイルに変更する。 オン
convert_png_to_jpeg gifやpngファイルをjpegにする。
convert_jpeg_to_webp ブラウザがサポートしている場合、jpegをwebpに変換して提供する。
insert_image_dimensions <img> タグに width と height 属性がない場合は追加する。
inline_images 小さな画像の読み込みをdata: urls方式に置き換えます。( rewrite_imagesで暗黙的に呼び出される。 ) オン
recompress_images 画像を再圧縮し、不要なメタデータを削除し、gifの場合はpngに変換します。( rewrite_imagesで暗黙的に呼び出される。 ) オン
recompress_jpeg jpegファイルを再圧縮しメタデータを削除する。( recompress_imagesで暗黙的に呼び出される。 ) オン
recompress_png pngファイルを再圧縮しメタデータを削除する。( recompress_imagesで暗黙的に呼び出される。 ) オン
recompress_webp webpファイルを再圧縮しメタデータを削除する。( recompress_imagesで暗黙的に呼び出される。 ) オン
convert_gif_to_png gifファイルをpngに変換して最適化する。( recompress_imagesで暗黙的に呼び出される。 ) オン
strip_image_color_profile 画像内のカラープロファイルを除去する。( recompress_imagesで暗黙的に呼び出される。 ) オン
strip_image_meta_data 画像内のEXIFメタデータを除去する。( recompress_imagesで暗黙的に呼び出される。 ) オン
jpeg_sampling jpegのカラーサンプリングを4:2:0にする。( recompress_imagesで暗黙的に呼び出される。 ) オン
resize_images <img> タグの width と height 属性値に比べ画像が大きい場合は縮小する。( rewrite_imagesで暗黙的に呼び出される。 ) オン
inline_preview_images ロード完了後にオリジナル画像に置き換わるプレースホルダーとして、インラインの低クオリティ画像を作成・使用する。
resize_mobile_images inline_preview_images と似た動作をするが、モバイルブラウザにのみ小さい画像を提供する。
sprite_images バックグラウンド画像を結合して一つのスプライト画像にする。
local_storage_cache インライン化されたリソースをHTML5のローカルストレージにキャッシュする。

その他

速度改善に直接関係ない、あるいはWEBアプリのJS動作への影響が大きいフィルタ

フィルタ名 解説
defer_javascript JavaScriptの実行をHTMLページがロード完了するまで遅延させる。
lazyload_images クライアントの表示領域にはいるまで画像をロードしない。
insert_dns_prefetch DNSの解決速度を上げるため <link rel=”dns-prefetch” href=”//www.example.com”> タグを挿入する。
make_google_analytics_async Google Analyticsの同期タグがあった場合非同期タグに書き換える。
rewrite_domains pagespeed.conf で指定されていないmod_pagespeed外のコンテンツのドメインを書き換える。
pedantic <script> と <style> タグにデフォルト属性が書かれておらず、かつページがHTML5でない場合、属性を追加する。このフィルタはpagespeedがHTML4のバリデーションを壊さないためにある。
add_instrumentation 計測用JavaScriptを追加しレイテンシを測定、かつサーバに結果を送り返す。
insert_ga Google AnalyticsのJSタグを各ページに挿入する。
canonicalize_javascript_libraries Javascriptライブラリの読み込みをJavascriptホスティングサービスのものに変更する。

コメント