pagespeed on;
#######################################################
# File cache settings
######################################
# needs to exist and be writable by nginx
pagespeed FileCacheSizeKb 1024000;
pagespeed FileCacheCleanIntervalMs 3600000;
pagespeed FileCacheInodeLimit 5000000;
pagespeed LRUCacheKbPerProcess 81920;
pagespeed LRUCacheByteLimit 163840;
######################################################
# Mapping domain for HTTPS & Enabling HTTPS Fetch
######################################################
pagespeed LoadFromFileMatch "^https?://www.example.com/" "/home/nginx/domains/example.com/public/";
pagespeed LoadFromFileRuleMatch disallow .*;
pagespeed LoadFromFileRuleMatch allow \.css$;
pagespeed LoadFromFileRuleMatch allow \.jpe?g$;
pagespeed LoadFromFileRuleMatch allow \.png$;
pagespeed LoadFromFileRuleMatch allow \.gif$;
pagespeed LoadFromFileRuleMatch allow \.js$;
pagespeed Domain *.example.com/*;
pagespeed Disallow */amp/*;
#######################################################
# By default, ngx_pagespeed adds an X-PageSpeed header with a value of the version of
# ngx_pagespeed being used. This directive lets you specify the value to use instead:
# pagespeed XHeaderValue "ngx_pagespeed";
#######################################################
# let's speed up PageSpeed by storing it in the super duper fast memcached
# Ensure Memcached server installed http://centminmod.com/memcached.html
# default install for centmin mod is on port 11211, so localhost:11211 is correct
# uncomment - remove hash # in front of below 2 lines to enable
# timeout set at 100 milliseconds
# pagespeed MemcachedThreads 1;
# pagespeed MemcachedServers "localhost:11211";
# pagespeed MemcachedTimeoutUs 100000;
#######################################################
## https://developers.google.com/speed/pagespeed/module/admin#virtual-hosts-and-stats
######################################
# pagespeed UsePerVhostStatistics on;
#######################################################
## 1.7.30.1 beta defaults
######################################
pagespeed PreserveUrlRelativity on;
pagespeed MaxCombinedCssBytes -1;
pagespeed ImageResolutionLimitBytes 16777216;
#pagespeed EnableFilters inline_google_font_css;
#######################################################
## 1.6.29.3 beta defaults
######################################
pagespeed AvoidRenamingIntrospectiveJavascript on;
pagespeed ImageInlineMaxBytes 3072;
pagespeed CssImageInlineMaxBytes 0;
pagespeed MaxInlinedPreviewImagesIndex -1;
pagespeed MinImageSizeLowResolutionBytes 3072;
#######################################################
## ngx_pagespeed filters settings below ##
######################################
# show half the users an optimized site, half the regular site
# change UA-XXXXXXXXXX-1 to your GA unique id
# uncomment - remove hash # in front of below 5 lines to enable
# pagespeed RunExperiment on;
# pagespeed AnalyticsID UA-XXXXXXXXXX-1;
# pagespeed ExperimentVariable 1;
# pagespeed ExperimentSpec "id=1;percent=50;level=CoreFilters;enabled=collapse_whitespace,remove_comments;";
# pagespeed ExperimentSpec "id=2;percent=50";
# Filter settings
# https://developers.google.com/speed/pagespeed/module/filter-attribute-elide
pagespeed EnableFilters elide_attributes;
# https://developers.google.com/speed/pagespeed/module/filter-dedup-inlined-images
pagespeed EnableFilters dedup_inlined_images;
# filters outlined at http://ngxpagespeed.com/ngx_pagespeed_example/
pagespeed RewriteLevel CoreFilters;
pagespeed EnableFilters collapse_whitespace,remove_comments;
# make_google_analytics_async
# https://developers.google.com/speed/docs/mod_pagespeed/filter-make-google-analytics-async
pagespeed EnableFilters make_google_analytics_async;
# make_show_ads_async
# https://developers.google.com/speed/pagespeed/module/filter-make-show-ads-async
pagespeed EnableFilters make_show_ads_async;
# inline_google_font_css
# https://developers.google.com/speed/pagespeed/module/filter-css-inline-google-fonts
pagespeed EnableFilters inline_google_font_css;
# require FetchHttps if using https site
pagespeed FetchHttps enable;
# inline_css
# https://developers.google.com/speed/pagespeed/module/filter-css-inline
# pagespeed EnableFilters inline_css;
# pagespeed CssInlineMaxBytes 2048;
# prioritize_critical_css
# https://developers.google.com/speed/docs/mod_pagespeed/filter-prioritize-critical-css
pagespeed EnableFilters prioritize_critical_css;
#pagespeed CriticalImagesBeaconEnabled false;
# move_css_to_head
# https://developers.google.com/speed/docs/mod_pagespeed/filter-css-to-head
pagespeed EnableFilters move_css_to_head;
# move_css_above_scripts
# https://developers.google.com/speed/docs/mod_pagespeed/filter-css-above-scripts
pagespeed EnableFilters move_css_above_scripts;
# combine_css
# https://developers.google.com/speed/docs/mod_pagespeed/filter-css-combine
pagespeed EnableFilters combine_css;
# Uncomment this if you want to prevent mod_pagespeed from combining files
# (e.g. CSS files) across paths
#
# pagespeed CombineAcrossPaths off;
# combine_javascript
# https://developers.google.com/speed/docs/mod_pagespeed/filter-js-combine
pagespeed EnableFilters combine_javascript;
pagespeed MaxCombinedJsBytes 140000;
#pagespeed EnableFilters defer_javascript;
# extend_cache
# https://developers.google.com/speed/docs/mod_pagespeed/filter-cache-extend
pagespeed EnableFilters extend_cache;
pagespeed ForceCaching on;
# rewrite_css
# https://developers.google.com/speed/docs/mod_pagespeed/filter-css-rewrite
pagespeed EnableFilters rewrite_css;
# rewrite_javascript
# https://developers.google.com/speed/docs/mod_pagespeed/filter-js-minify
pagespeed EnableFilters rewrite_javascript;
# inline_preview_images
# https://developers.google.com/speed/pagespeed/module/filter-inline-preview-images
pagespeed EnableFilters inline_preview_images;
# resize_mobile_images
# https://developers.google.com/speed/pagespeed/module/filter-inline-preview-images#resize_mobile_images
pagespeed EnableFilters resize_mobile_images;
pagespeed MaxInlinedPreviewImagesIndex 6;
pagespeed MinImageSizeLowResolutionBytes 3072;
# lazyload_images
# https://developers.google.com/speed/docs/mod_pagespeed/filter-lazyload-images
# pagespeed EnableFilters lazyload_images;
# pagespeed LazyloadImagesAfterOnload off;
# rewrite_images
# https://developers.google.com/speed/docs/mod_pagespeed/filter-image-optimize
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters inline_images;
pagespeed EnableFilters recompress_images;
pagespeed EnableFilters jpeg_subsampling;
pagespeed EnableFilters convert_png_to_jpeg;
pagespeed EnableFilters resize_images;
pagespeed EnableFilters convert_jpeg_to_webp;
pagespeed EnableFilters convert_to_webp_lossless;
# convert_to_webp_animated
# https://developers.google.com/speed/pagespeed/module/filter-image-optimize#convert_to_webp_animated
pagespeed EnableFilters convert_to_webp_animated;
pagespeed EnableFilters insert_image_dimensions;
# responsive_images, responsive_images_zoom
# https://developers.google.com/speed/pagespeed/module/filter-image-responsive
pagespeed EnableFilters responsive_images;
pagespeed EnableFilters responsive_images_zoom;
# pagespeed DisableFilters rewrite_images;
# pagespeed DisableFilters recompress_images;
# pagespeed DisableFilters convert_png_to_jpeg;
# pagespeed DisableFilters extend_cache_images;
# sprite_images
# https://developers.google.com/speed/docs/mod_pagespeed/filter-image-sprite
pagespeed EnableFilters rewrite_css,sprite_images;
# insert_dns_prefetch
# https://developers.google.com/speed/docs/mod_pagespeed/filter-insert-dns-prefetch
pagespeed EnableFilters insert_dns_prefetch;
# InPlaceResourceOptimization
# https://developers.google.com/speed/pagespeed/module/system#ipro
# Enabled by default as of 1.9.32.1
pagespeed InPlaceResourceOptimization off;
#######################################################
######################################################
# Mapping domain for HTTPS & Enabling HTTPS Fetch
######################################################
pagespeed LoadFromFileMatch "^https?://www.example.com/" "/home/nginx/domains/example.com/public/";
pagespeed LoadFromFileRuleMatch disallow .*;
pagespeed LoadFromFileRuleMatch allow \.css$;
pagespeed LoadFromFileRuleMatch allow \.jpe?g$;
pagespeed LoadFromFileRuleMatch allow \.png$;
pagespeed LoadFromFileRuleMatch allow \.gif$;
pagespeed LoadFromFileRuleMatch allow \.js$;
pagespeed Domain *.example.com/*;
pagespeed Disallow */amp/*;
######################################################
# Mapping domain for HTTPS & Enabling HTTPS Fetch
######################################################
pagespeed LoadFromFileMatch "^https?://www.example.com/" "/home/nginx/domains/example.com/public/";
pagespeed LoadFromFileRuleMatch disallow .*;
pagespeed LoadFromFileRuleMatch allow \.css$;
pagespeed LoadFromFileRuleMatch allow \.jpe?g$;
pagespeed LoadFromFileRuleMatch allow \.png$;
pagespeed LoadFromFileRuleMatch allow \.gif$;
pagespeed LoadFromFileRuleMatch allow \.js$;
pagespeed Domain *.example.com/*;
pagespeed Disallow */amp/*;
#################################
# Setting up CDN Things
#################################
pagespeed Domain *.keycdn.com/*;
pagespeed MapOriginDomain www.example.com origin123.keycdn.com;
pagespeed MapOriginDomain subdomain1.example.com origin345.keycdn.com;
pagespeed MapOriginDomain subdomain2.example.com origin678.keycdn.com;
pagespeed ShardDomain https://origin123.keycdn.com, https://origin456.keycdn.com, https://origin678.keycdn.com;
pagespeed MapRewriteDomain origin123.keycdn.com www.example.com;
pagespeed MapRewriteDomain origin345.keycdn.com subdomain1.example.com;
pagespeed MapRewriteDomain origin678.keycdn.com subdomain2.example.com;
pagespeed LRUCacheKbPerProcess 81920;
pagespeed LRUCacheByteLimit 163840;
pagespeed Disallow */amp/*;
#######################################################
# let's speed up PageSpeed by storing it in the super duper fast memcached
# Ensure Memcached server installed http://centminmod.com/memcached.html
# default install for centmin mod is on port 11211, so localhost:11211 is correct
# uncomment - remove hash # in front of below 2 lines to enable
# timeout set at 100 milliseconds
# pagespeed MemcachedThreads 1;
# pagespeed MemcachedServers "localhost:11211";
# pagespeed MemcachedTimeoutUs 100000;
# make_show_ads_async
# https://developers.google.com/speed/pagespeed/module/filter-make-show-ads-async
pagespeed EnableFilters make_show_ads_async;
# pagespeed EnableFilters inline_css;
pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters move_css_to_head;
pagespeed EnableFilters move_css_above_scripts;
pagespeed EnableFilters combine_css;
pagespeed MaxCombinedJsBytes 140000;
pagespeed ForceCaching on;
# rewrite_images
# https://developers.google.com/speed/docs/mod_pagespeed/filter-image-optimize
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters inline_images;
pagespeed EnableFilters recompress_images;
pagespeed EnableFilters jpeg_subsampling;
pagespeed EnableFilters convert_png_to_jpeg;
pagespeed EnableFilters resize_images;
pagespeed EnableFilters convert_jpeg_to_webp;
pagespeed EnableFilters convert_to_webp_lossless;
Now as per the recommendation of Otto, I have added the following so make sure pagespeed can properly cache and optimize the static files:
pagespeed Disallow */amp/*;
Now when I looked into the basic tutorial about adding cdn into my site, it made me extremely confused. So, should I change the above configs with something like this to make the cdn work?Will this be the right way to do it?
pagespeed Domain *.keycdn.com/*;
pagespeed MapOriginDomain www.example.com origin123.keycdn.com;
pagespeed MapOriginDomain subdomain1.example.com origin345.keycdn.com;
pagespeed MapOriginDomain subdomain2.example.com origin678.keycdn.com;
pagespeed ShardDomain https://origin123.keycdn.com, https://origin456.keycdn.com, https://origin678.keycdn.com;
pagespeed MapRewriteDomain origin123.keycdn.com www.example.com;
pagespeed MapRewriteDomain origin345.keycdn.com subdomain1.example.com;
pagespeed MapRewriteDomain origin678.keycdn.com subdomain2.example.com;
pagespeed FileCacheSizeKb 1024000;
pagespeed FileCacheCleanIntervalMs 3600000;
pagespeed FileCacheInodeLimit 5000000;
#pagespeed LRUCacheKbPerProcess 81920;
#pagespeed LRUCacheByteLimit 163840;# pagespeed EnableFilters inline_css;
pagespeed EnableFilters prioritize_critical_css;
# pagespeed EnableFilters move_css_to_head;
# pagespeed EnableFilters move_css_above_scripts; pagespeed EnableFilters inline_css;
# pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters move_css_to_head;
pagespeed EnableFilters move_css_above_scripts;pagespeed MaxCombinedJsBytes 140000;pagespeed MapOriginDomain www.example.com origin123.keycdn.com;
pagespeed MapOriginDomain subdomain1.example.com origin345.keycdn.com;
pagespeed MapOriginDomain subdomain2.example.com origin678.keycdn.com;pagespeed MapRewriteDomain origin123.keycdn.com www.example.com;
pagespeed MapRewriteDomain origin345.keycdn.com subdomain1.example.com;
pagespeed MapRewriteDomain origin678.keycdn.com subdomain2.example.com;pagespeed MapRewriteDomain www-mysite.cdn.com www.yourdomain.com;
pagespeed MapRewriteDomain sub-mysite.cdn.com sub.yourdomain.com;
pagespeed EnableFilters rewrite_domains;
# Set CORS headers for .pagespeed. urls CORS
pagespeed AddResourceHeader "access-control-allow-origin" "*";
# non .pagespeed. CORS
add_header "access-control-allow-origin" "*";
pagespeed MapOriginDomain www.mydomain.com origin.mydomain.com; # alternatively you could use loopback fetching.
pagespeed AddResourceHeader "access-control-allow-origin" "*";
add_header "access-control-allow-origin" "*";
pagespeed EnableFilters rewrite_domains;
pagespeed ShardDomain https://origin123.keycdn.com, https://origin456.keycdn.com, https://origin678.keycdn.com;
pagespeed MapRewriteDomain origin123.keycdn.com www.example.com;
pagespeed MapRewriteDomain origin345.keycdn.com subdomain1.example.com;
pagespeed MapRewriteDomain origin678.keycdn.com subdomain2.example.com;Hi Otto, so in short you want me to add the following in my pagespeed.conf file right?pagespeed AddResourceHeader "access-control-allow-origin" "*";
add_header "access-control-allow-origin" "*";
pagespeed EnableFilters rewrite_domains;
pagespeed ShardDomain https://origin123.keycdn.com, https://origin456.keycdn.com, https://origin678.keycdn.com;
pagespeed MapRewriteDomain origin123.keycdn.com www.example.com;
pagespeed MapRewriteDomain origin345.keycdn.com subdomain1.example.com;
pagespeed MapRewriteDomain origin678.keycdn.com subdomain2.example.com;
Hi actually I don't want to edit the nginx vhost config file. As I said earlier I have my main domain and sub domain for which I need to add the CDN.
I want the configuration needs to be done inside INR pagespeed config file.
I really don't understand what clarification you are asking to me. Sorry if I sound confused.
--
You received this message because you are subscribed to a topic in the Google Groups "ngx-pagespeed-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ngx-pagespeed-discuss/lteBtIQkb2Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ngx-pagespeed-di...@googlegroups.com.
Visit this group at https://groups.google.com/group/ngx-pagespeed-discuss.
For more options, visit https://groups.google.com/d/optout.
Sincerely,
Saumya Majumder
Engineer, Author & Tech Reviewer
Web: www.isaumya.com
Email: saumy...@gmail.com
Confidentiality Notice: The information contained in this email and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged. If any reader of this communication is not the intended recipient, unauthorized use, disclosure or copying is strictly prohibited, and may be unlawful. If you have received this communication in error, please immediately notify the sender by return email, and delete the original message and all copies from your system. Thank you.
Hi actually I don't want to edit the nginx vhost config file. As I said earlier I have my main domain and sub domain for which I need to add the CDN.
I want the configuration needs to be done inside INR pagespeed config file.
Hi Josh,Thanks a lot for your in depth answer and I am really sorry my post was confusion to you.
Let me know if this is what you wanted me to do.
I'm also glad to know that the amp issue is going to be resolved in the next version. I had to explicitly disable it as it was throwing too many errors in google webmaster.
Regarding the MemCache thing, actually I am running my site on a single VPS. So, there is no multiple server working here. From what I read is memecache is highly efficient if you want using it in conjunction with several server, which is not the case for me. It is just a single VPS. Also as I run centminmod to setup my servers, it has a very easy option to enable redis on any server. But current the redis support is still a thing you guys working on (Github Issue #777) so after the redis support is enabled, I will enable redis on my server. That is why memcache is disabled for now.
Now coming to the Google AdSense async question. Yes I do use AdSense on my site (only for the blog section) and I has seen this settings to works in a good way for old codes as well as the new codes.
Though right now I use all the adsense new codes (async version) on my site but I still kept this settings enabled as I felt that it makes the async process even more good. It may be just my thought though :P
--------------------------------Regarding the CSS thing, I am a bit confused with your reply. So do you want me to keep prioritize the critical css enabled while turning of the rest or turn on the res and disable the critical css feature? I mean do you want me to do this:# pagespeed EnableFilters inline_css;
pagespeed EnableFilters prioritize_critical_css;
# pagespeed EnableFilters move_css_to_head;
# pagespeed EnableFilters move_css_above_scripts;or this:pagespeed EnableFilters inline_css;
# pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters move_css_to_head;
pagespeed EnableFilters move_css_above_scripts;which one is more beneficial?
-------------------------------------------------------------------Now about the following part:pagespeed MaxCombinedJsBytes 140000;
it is a bit funny. The reason I added it because I was searching web for the best possible pagespeed config for my site and I saw someone has taken this approach, so I thought it might help my site as well. Hence I added it. Is it something bad? Should I remove it or increase the size? Please suggest.
------------------------------------------------------------------OK. I will disable force caching but keep the extend cache enabled. I hope thats what you want me to do.
------------------------------------------------------------------regarding the rewrite_image thing. I know that rewrite_image is the parent of all. But initially when I was configuring my pagespeed and just enabled rewrite_image but nothing else I saw that none of my image is getting converted to webp. Be it jpg or png or gif. So I added them all.
Now my question is as my site is runs over HTTPS, I have enabled HTTP 2.0 technology on my server. So, in that case is sharding still going to help my site performance? As I'm already using HTTP 2?
http {
pagespeed ProcessScriptVariables on;
server {
set $disable_filters "";
set $domain_shards "shard1,shard2,shard3..."
if ($http2) {
set $disable_filters "filter1,filter2";
set $domain_shards "";
}
pagespeed DisableFilters "$disable_filters";
pagespeed ShardDomain domain_to_shard "$domain_shards";
}
}
pagespeed EnableFilters rewrite_domains;
pagespeed MapRewriteDomain cdn.isaumya.com www.isaumya.com;pagespeed AddResourceHeader "access-control-allow-origin" "*";pagespeed EnableFilters rewrite_domains;
pagespeed MapRewriteDomain cdn.isaumya.com www.isaumya.com;but if you visit my site and check the source code you will see that all the static resources are still using the https://www.isaumya.com and not https://cdn.isaumya.comWhy is this happening? Is this because this is a wordpress site?
Also as you suggested I tried adding :pagespeed AddResourceHeader "access-control-allow-origin" "*";but it throws error everytime I run npreload.
Do you have any idea why is this happening?
npreload is the command to restart the nginx after modifying the pagespeed config. Currently I'm sleeping bit I'll definately try the https thing tomorrow morning and post the error I'm getting when I add that directive.
--
You received this message because you are subscribed to a topic in the Google Groups "ngx-pagespeed-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ngx-pagespeed-discuss/lteBtIQkb2Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ngx-pagespeed-di...@googlegroups.com.
Visit this group at https://groups.google.com/group/ngx-pagespeed-discuss.
For more options, visit https://groups.google.com/d/optout.
[username@server ~]# nano /usr/local/nginx/conf/pagespeed.conf
[username@server ~]# npreload
Reloading nginx configuration (via systemctl): [ OK ]
Reload service php-fpm donepagespeed AddResourceHeader "access-control-allow-origin" "*";[username@server ~]# nano /usr/local/nginx/conf/pagespeed.conf
[username@server ~]# npreload
Reloading nginx configuration (via systemctl): Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[FAILED]
Reload service php-fpm done<img width="150" height="150" src="https://cdn.isaumya.com/wp-content/uploads/2015/09/xpremade-image-08.png.pagespeed.ic.anj2_W-qmt.webp" class="et_bloom_image_slideup et_bloom_image" alt="premade-image-08" srcset="https://www.isaumya.com/wp-content/uploads/2015/09/premade-image-08.png 150w, https://www.isaumya.com/wp-content/uploads/2015/09/premade-image-08-75x75.png 75w, https://www.isaumya.com/wp-content/uploads/2015/09/premade-image-08-65x65.png 65w" sizes="(max-width: 150px) 100vw, 150px">pagespeed AddResourceHeader "access-control-allow-origin" "*";....
Hope this helps you to clear your confusion.
Also adding the https:// in the MapRewriteDomain direct worked perfectly. But I just saw one minor issue (not sure if this is an issue with pagespeed itself or not). The problem is pagespeed is not doing it's magic or adding the cdn for the image tag inside srcset.
....
Is this a pagespeed bug? is there a way to fix it now or is it going to be a part of next pagespeed release and I have to wait for that?
But in the backend (inside wp-admin) wordpress uses load-script.php to load most of its JS files. Now the problem is that this load-script.php is getting treated as a static file and getting parsed through CDN and breaking the wp-admin functionality.Is there a way to mention inside pagespeed.conf that it doesn't treat load-script.php or any other php file (though it has static behaviour) as static file and hence do not rewrite domain? Is it possible?
pagespeed Disallow "*/load-script.php*";
pagespeed AddResourceHeader "access-control-allow-origin" "*";pagespeed Disallow "*/load-scripts.php*";
So should I add this patch manually to my pagespeed now?
--
You received this message because you are subscribed to a topic in the Google Groups "ngx-pagespeed-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ngx-pagespeed-discuss/lteBtIQkb2Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ngx-pagespeed-di...@googlegroups.com.
Visit this group at https://groups.google.com/group/ngx-pagespeed-discuss.
For more options, visit https://groups.google.com/d/optout.
So should I add this patch manually to my pagespeed now?
WOW! What risks are we talking about with this srcset patch? If this srcset patch has risks associated with it then I'll wait for the final build. Please let me know.
--
You received this message because you are subscribed to the Google Groups "ngx-pagespeed-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ngx-pagespeed-di...@googlegroups.com.
pagespeed EnableFilters rewrite_css;
pagespeed EnableFilters fallback_rewrite_css_urls;
pagespeed EnableFilters fallback_rewrite_css_urls;
pagespeed EnableFilters fallback_rewrite_css_urls;
--
You received this message because you are subscribed to the Google Groups "ngx-pagespeed-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ngx-pagespeed-di...@googlegroups.com.