Skip to content

Pagespeed

Overview: https://www.modpagespeed.com/

Nginx installation: https://modpagespeed.com/doc/build_ngx_pagespeed_from_source

Filters: https://www.modpagespeed.com/doc/config_filters#level

Nginx

# Primary domain for images
server {
  server_name domain.com;
}

Examples for ImageRecompressionQuality = 50 % on JPG files: 517 800 --> 156 949. The image quality on the site is poor.

# Separate domain for images
server {

  server_name i.domain.com;

  # ENABLE
  pagespeed on;

  # Cache directory path
  pagespeed FileCachePath /tmpfs/ngx_pagespeed_cache/i.domain.com/;

  # Maximum cache size: 1 GB
  pagespeed FileCacheSizeKb 1024000;

  # Cache cleanup interval: 7 days
  pagespeed FileCacheCleanIntervalMs 650000000;

  pagespeed EnableFilters rewrite_images;
  pagespeed ImageRecompressionQuality 50;
  ...
}

Verification

Add /?PageSpeedFilters=+debug to the URL.

Inspect the resulting page source:

<!--
mod_pagespeed on
Filters:
ah  Add Head
cw  Collapse Whitespace
cc  Combine Css
jc  Combine Javascript
gp  Convert Gif to Png
jp  Convert Jpeg to Progressive
jw  Convert Jpeg To Webp
mc  Convert Meta Tags
pj  Convert Png to Jpeg
ws  When converting images to WebP, prefer lossless conversions
db  Debug
ec  Cache Extend Css
ei  Cache Extend Images
es  Cache Extend Scripts
fc  Fallback Rewrite Css 
if  Flatten CSS Imports
hw  Flushes html
ci  Inline Css
ii  Inline Images
il  Inline @import to Link
ji  Inline Javascript
js  Jpeg Subsampling
rj  Recompress Jpeg
rp  Recompress Png
rw  Recompress Webp
rc  Remove Comments
ri  Resize Images
cf  Rewrite Css
jm  Rewrite External Javascript
jj  Rewrite Inline Javascript
cu  Rewrite Style Attributes With Url
cp  Strip Image Color Profiles
md  Strip Image Meta Data

Options:
AvoidRenamingIntrospectiveJavascript (aris) True
EnableRewriting (e) 1
FileCacheCleanIntervalMs (afcci) 1800000
FileCacheInodeLimit (afcl) 500000
FileCacheSizeKb (afc) 712000
RewriteLevel (l) Core Filters

#NumFlushes            2
#EndDocument after     36321us
#Total Parse duration  10397us
#Total Render duration 26180us
#Total Idle duration   3704us
Critical Images:
    https://i.domain.com/2015/05_13/11_46/files_topic_2_774.png
    https://i.domain.com/2015/05_13/11_49/files_topic_2_776.png
    https://i.domain.com/2015/05_13/11_50/files_topic_2_777.png
    https://i.domain.com/2015/05_13/11_52/files_topic_2_778.png
    https://i.domain.com/2015/05_13/11_52/files_topic_2_779.png
    https://i.domain.com/2015/05_13/11_53/files_topic_2_780.png
    https://i.domain.com/2015/05_19/00_37/files_topic_1_808.png
    https://i.domain.com/2015/06_01/19_42/files_topic_1_819.png
    https://i.domain.com/2015/09_18/17_37/files_topic_3_1195.png
    https://i.domain.com/2017/05_30/11_17/files_topic_3_3273.jpg
    https://i.domain.com/2017/09_01/15_18/files_topic_1_3375.jpg
The following filters were disabled for this request:
    SupportNoscript
-->