SG Optimizer - Version 5.6.2

Version Description

Download this release

Release Info

Developer sstoqnov
Plugin Icon 128x128 SG Optimizer
Version 5.6.2
Comparing to
See all releases

Code changes from version 5.6.1 to 5.6.2

core/Combinator/Js_Combinator.php CHANGED
@@ -16,6 +16,12 @@ class Js_Combinator extends Abstract_Combinator {
16
  * @var array Array containing all excluded inline content.
17
  */
18
  private $excluded_inline_content = array(
 
 
 
 
 
 
19
  'window.opener.location.href="',
20
  'var __CONFIG__',
21
  'var DTGS_NONCE_FRONTEND',
16
  * @var array Array containing all excluded inline content.
17
  */
18
  private $excluded_inline_content = array(
19
+ 'wpfh-print-action',
20
+ 'tdbMenuItem',
21
+ 'avadaFusionSliderVars',
22
+ 'tgpli',
23
+ 'tgpQueue',
24
+ 'gem_fix_fullwidth_position',
25
  'window.opener.location.href="',
26
  'var __CONFIG__',
27
  'var DTGS_NONCE_FRONTEND',
core/Front_End_Optimization/Front_End_Optimization.php CHANGED
@@ -351,8 +351,9 @@ class Front_End_Optimization {
351
  'nomtcache',
352
  'generated',
353
  'timestamp',
 
354
  ),
355
- $src
356
  );
357
  }
358
 
351
  'nomtcache',
352
  'generated',
353
  'timestamp',
354
+ 'cache',
355
  ),
356
+ html_entity_decode( $src )
357
  );
358
  }
359
 
core/Images_Optimizer/Images_Optimizer.php CHANGED
@@ -226,15 +226,18 @@ class Images_Optimizer {
226
  return false;
227
  }
228
 
229
- // Loop through all image sizes and optimize them as well.
230
- foreach ( $metadata['sizes'] as $size ) {
231
- // Replace main image with the cropped image and run the optimization command.
232
- $status = $this->execute_optimization_command( str_replace( $basename, $size['file'], $main_image ) );
233
-
234
- // Optimization failed.
235
- if ( true === boolval( $status ) ) {
236
- update_post_meta( $id, 'siteground_optimizer_optimization_failed', 1 );
237
- return false;
 
 
 
238
  }
239
  }
240
 
226
  return false;
227
  }
228
 
229
+ // Check if there are any sizes.
230
+ if ( ! empty( $metadata['sizes'] ) ) {
231
+ // Loop through all image sizes and optimize them as well.
232
+ foreach ( $metadata['sizes'] as $size ) {
233
+ // Replace main image with the cropped image and run the optimization command.
234
+ $status = $this->execute_optimization_command( str_replace( $basename, $size['file'], $main_image ) );
235
+
236
+ // Optimization failed.
237
+ if ( true === boolval( $status ) ) {
238
+ update_post_meta( $id, 'siteground_optimizer_optimization_failed', 1 );
239
+ return false;
240
+ }
241
  }
242
  }
243
 
core/Lazy_Load/Lazy_Load.php CHANGED
@@ -27,6 +27,9 @@ class Lazy_Load {
27
  return;
28
  }
29
 
 
 
 
30
  new Lazy_Load_Images();
31
 
32
  if ( Options::is_enabled( 'siteground_optimizer_lazyload_iframes' ) ) {
27
  return;
28
  }
29
 
30
+ // Disable the native lazyloading.
31
+ add_filter( 'wp_lazy_loading_enabled', '__return_false' );
32
+
33
  new Lazy_Load_Images();
34
 
35
  if ( Options::is_enabled( 'siteground_optimizer_lazyload_iframes' ) ) {
helpers/sg-cachepress-react-strings.php CHANGED
@@ -15,6 +15,14 @@ __( "Specific URL Purge on comment actions and page, post, and category updates.
15
  __( "Cancel", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:17
16
  __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:23
17
  __( "This will delete all WebP files in your uploads folder! In case you need them, you will have to regenerate them again or restore that folder from a backup.", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:34
 
 
 
 
 
 
 
 
18
  __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:18
19
  __( "Combining JavaScript files may cause issues with scripts that require certain order of execution. This is why we advise you to check the frontend of your website after you enable this optimization.", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:29
20
  __( "If you notice issues with parts of your site, use the Exclude functionality to keep those scripts separate from the combination.", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:39
@@ -32,9 +40,10 @@ __( "Close", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:17
32
  __( "You can exclude full or partial URLs using \"*\" as a wildcard. For example:", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:29
33
  __( "{{strong}}www.site.com/parent-page/sub-page{{/strong}} will exclude only that single URL.", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:38
34
  __( "{{strong}}www.site.com/parent-page/*{{/strong}} will exclude all sub-pages of \"parent-page\".", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:54
35
- __( "This item already exists in exclude list.", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:46
36
- __( "You must input a class name.", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:56
37
- __( "Exclude", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:131
 
38
  __( "This URL already exists in exclude list.", "sg-cachepress" ), // src-js/components/exclude/urls-exclude.tsx:55
39
  __( "Exclude", "sg-cachepress" ), // src-js/components/exclude/urls-exclude.tsx:142
40
  __( "SG Optimizer", "sg-cachepress" ), // src-js/components/intro/index.tsx:29
@@ -45,43 +54,42 @@ __( "Please be patient, this process may take some time", "sg-cachepress" ), //
45
  __( "Generated %(optimized)s of %(total)s webp copies", "sg-cachepress" ), // src-js/components/loaders/webp-loader.tsx:31
46
  __( "Pause", "sg-cachepress" ), // src-js/components/loaders/webp-loader.tsx:55
47
  __( "WebP settings have been changed, please, {{link}}re-generate{{/link}} your images!.", "sg-cachepress" ), // src-js/components/slider/quality-slider.tsx:75
48
- __( "Generate WebP Copies of New Images", "sg-cachepress" ), // src-js/components/webp/webp.tsx:168
49
- __( "WebP is a next generation image format supported by modern browers which greatly reduces the size of your images.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:173
50
- __( "Optimization Level", "sg-cachepress" ), // src-js/components/webp/webp.tsx:178
51
- __( "Chose the quality of WebP copies created by us. Higher quality means higher image size.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:179
52
- __( "Optimization Type", "sg-cachepress" ), // src-js/components/webp/webp.tsx:192
53
- __( "Manage WebP Copies for Existing Images", "sg-cachepress" ), // src-js/components/webp/webp.tsx:217
54
- __( "Generate or delete a WebP copy of your existing media library.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:220
55
- __( "Delete all WebP Files", "sg-cachepress" ), // src-js/components/webp/webp.tsx:239
56
- __( "Bulk Generate WebP Files", "sg-cachepress" ), // src-js/components/webp/webp.tsx:256
57
- __( "All WebP copies of your files have been generated successfully! Force {{link}}re-generation{{/link}} of your images.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:272
58
- __( "Old PHP Version", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:171
59
- __( "You are using our Managed PHP service, which means that SiteGround will automatically update your PHP once we are sure there is a newer stable one, which comes with the latest security and performance enhancements. Alternatively, you can choose to manually set your PHP version, in which case the system will hardcode that version to your WordPress instance until you manually change it again.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:195
60
- __( "Your site will keep using that version until you manually change it from this interface or until you switch to \"Managed PHP\" service. If you choose to take advantage of our Managed PHP service, SiteGround will automatically update your PHP once we are sure there is a newer stable one, which comes with the latest security and performance enhancements.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:200
61
- __( "As a SiteGround client you may change your PHP version per site manually. However, we strongly recommend you to take advantage of our Managed PHP service, which means that SiteGround will automatically update your PHP once we are sure there is a newer, stable and safe version, which will give you the latest security and performance enhancements. Alternatively, if you choose to manually set your PHP version, the system will hardcode that version to your WordPress instance until you manually change it again.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:205
62
- __( "Set your PHP version", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:228
63
- __( "You are currently running on PHP %(version)s.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:233
64
- __( "PHP Management Method", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:245
65
- __( "Please select method", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:246
66
- __( "Please select management type", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:251
67
- __( "PHP Version", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:261
68
- __( "Please select PHP version", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:262
69
- __( "Please select PHP version", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:267
70
- __( "Save", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:290
71
- __( "We currently recommend you to use PHP %(version)s. You can check the compatibility with the recommended version before you switch. {{link}}Check Compatibility{{/link}}", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:306
72
- __( "All your plugins are compatible with PHP %(version)s. You may safely switch to “Managed PHP” service and we’ll upgrade it automatically, or set it manually. {{link}}Check Again{{/link}}", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:330
73
- __( "Checking PHP 7.1 Compatibility...", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:351
74
- __( "Unfortunately some of your plugins or theme are not compatible with our recommended version. {{link}}Check Again{{/link}}", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:372
75
- __( "We've detected that the WordPress cronjob functionality is not working. Please, enable it following the instructions in {{link}}this article{{/link}} and refresh this page. If you’re using a real cron job, you can {{link2}}ignore this message{{/link2}} at your own risk. Note, that in this case, those operations may take longer than usual to complete.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:400
76
- __( "https://www.siteground.com/kb/disable-enable-wordpress-cron/", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:404
77
  __( "Thanks for using SG Optimizer to make your site faster!", "sg-cachepress" ), // src-js/containers/rating/index.tsx:61
78
  __( "Help more people optimize their sites by rating our plugin.", "sg-cachepress" ), // src-js/containers/rating/index.tsx:68
79
  __( "Don’t Show This Again", "sg-cachepress" ), // src-js/containers/rating/index.tsx:78
80
  __( "Browser Caching", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:12
81
  __( "Adds rules to store in your visitors browser cache to keep static content longer for better site performance.", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:16
82
- __( "Browser Caching", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:33
83
- __( "YOU HAVE A SITE TOOLS ACCOUNT", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:38
84
- __( "NGINX Direct Delivery takes care of your static resources including proper expiration dates for your browser caching.", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:39
 
 
 
 
 
 
 
 
 
 
 
 
85
  __( "Dynamic Caching", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:61
86
  __( "Store your content in the server’s memory for a faster access with this full-page caching solution powered by NGINX.", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:66
87
  __( "Manual Cache Purge", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:94
@@ -98,13 +106,28 @@ __( "Use this feature if you want to exclude certain parts of your website from
98
  __( "See examples", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:158
99
  __( "GZIP Compression", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:13
100
  __( "Enables a compression of the content that's delivered to your visitors browsers improving the network loading times of your site.", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:17
101
- __( "GZIP Compression", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:34
102
- __( "YOU HAVE A SITE TOOLS ACCOUNT", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:39
103
- __( "GZIP Compression is enabled by default automatically saving you bandwidth and improving the loading speeds of your pages.", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:40
104
- __( "Memcached Stopped. Please, enable it in your SiteGround control panel.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:29
105
- __( "Memcached Stopped. Please, enable it in your SiteGround control panel.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:44
106
- __( "Memcached", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:59
107
- __( "Powerful object caching for your site. It stores frequently executed queries to your databases and reuses them for better performance.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  __( "Score Check", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:122
109
  __( "Test how optimized your website is. Our performance check is powered by Google PageSpeed.", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:125
110
  __( "Device Type", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:156
@@ -112,36 +135,38 @@ __( "URL", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:164
112
  __( "Analyze", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:180
113
  __( "Please Wait, We Are Performing a Google PageSpeed Test on Your Page", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:187
114
  __( "There is nothing here yet", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:233
115
- __( "Enable HTTPS", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:97
116
- __( "Configures your site to work correctly via HTTPS and forces a secure connection to your site.", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:100
117
- __( "Fix Insecure Content", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:144
118
- __( "Enable this option in case you’re getting insecure content errors on your website. We will dynamically rewrite insecure requests for resources coming from your site", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:147
119
- __( "Minify the HTML Output", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:114
120
- __( "Removes unnecessary characters from your HTML output saving data and improving your site speed. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:119
121
- __( "Exclude URLs from HTML Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:125
122
- __( "Exclude URLs from HTML Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:145
123
- __( "With this functionality, you can exclude different pages from HTML minification.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:146
124
- __( "Minify JavaScript Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:162
125
- __( "Minify your JavaScript files in order to reduce their size and reduce the number of requests to the server. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:167
126
- __( "Exclude from JavaScript Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:173
127
- __( "Combine JavaScript Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:205
128
- __( "Combine your JavaScript files in order to reduce the number of requests to the server.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:211
129
- __( "Exclude from JavaScript Combination", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:217
130
- __( "Defer Render-blocking JS", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:249
131
- __( "Defer loading of render-blocking JavaScript files for faster initial site load. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:255
132
- __( "Exclude from Loading JS Files Asynchronously", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:261
133
- __( "Minify CSS Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:293
134
- __( "Minify your CSS files in order to reduce their size and reduce the number of requests to the server. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:298
135
- __( "Exclude From CSS Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:304
136
- __( "Combine CSS Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:336
137
- __( "Combine multiple CSS files into one to lower the number of requests your site generates. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:341
138
- __( "Exclude from CSS Combination", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:347
139
- __( "Optimize Loading of Google Fonts", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:379
140
- __( "Combine the loading of Google fonts reducing the number of HTTP requests.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:384
141
- __( "Remove Query Strings From Static Resources", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:390
142
- __( "Removes version query strings from your static resources improving the caching of those resources.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:395
143
- __( "Disable Emojis", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:401
144
- __( "Enable to prevent WordPress from automatically detecting and generating emojis in your pages.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:406
 
 
145
  __( "New Images Optimization", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:84
146
  __( "We will automatically optimize all new images that you upload to your Media Library.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:88
147
  __( "Existing Images Optimization", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:104
@@ -167,10 +192,12 @@ __( "Lazy Load Widgets", "sg-cachepress" ), // src-js/components/tabs/image-opti
167
  __( "Enable this option if you want the images in your widget areas to load only when users reach them. ", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:287
168
  __( "Lazy Load for Mobile", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:295
169
  __( "Enable if you want to use lazy-loading features for mobile requests to your site.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:299
170
- __( "Lazy Load Product Images", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:309
171
- __( "Enable if you want to enable lazy-load images in your store, product and other WooCommerce pages.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:313
172
- __( "Exclude from Lazy Load", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:324
173
- __( "In order to exclude images from lazy loading, please add their CSS classes to the exclusion list. Add each CSS class on a separate line.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:325
 
 
174
  __( "Site Admin Permissions", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:85
175
  __( "In this section, set the access permission for admins of separate sites.", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:88
176
  __( "SuperCacher Settings", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:115
@@ -225,5 +252,17 @@ __( "Lazy Load Responsive Images", "sg-cachepress" ), // src-js/components/tabs/
225
  __( "Certain plugins and themes generate multiple images from a single upload to work better on different devices. Enable if you want to lazy-load these too.", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:757
226
  __( "Lazy Load Widgets", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:789
227
  __( "Enable this option if you want the images in your widget areas to load only when users reach them. ", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:792
 
 
 
 
 
 
 
 
 
 
 
 
228
  );
229
  /* THIS IS THE END OF THE GENERATED FILE */
15
  __( "Cancel", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:17
16
  __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:23
17
  __( "This will delete all WebP files in your uploads folder! In case you need them, you will have to regenerate them again or restore that folder from a backup.", "sg-cachepress" ), // src-js/components/dialogs/delete-webp-dialog.tsx:34
18
+ __( "Cancel", "sg-cachepress" ), // src-js/components/dialogs/enable-webp-dialog.tsx:17
19
+ __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/enable-webp-dialog.tsx:23
20
+ __( "If you're using CloudFlare or other CDN provider, please keep this optimization disabled and check if you can have WebP enabled by your CDN provider.", "sg-cachepress" ), // src-js/components/dialogs/enable-webp-dialog.tsx:34
21
+ __( "Cancel", "sg-cachepress" ), // src-js/components/dialogs/heartbeat-control-dialog.tsx:18
22
+ __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/heartbeat-control-dialog.tsx:24
23
+ __( "Enabled", "sg-cachepress" ), // src-js/components/dialogs/heartbeat-control-dialog.tsx:43
24
+ __( "Disable", "sg-cachepress" ), // src-js/components/dialogs/heartbeat-control-dialog.tsx:57
25
+ __( "Select Heartbeat Frequency", "sg-cachepress" ), // src-js/components/dialogs/heartbeat-control-dialog.tsx:92
26
  __( "Confirm", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:18
27
  __( "Combining JavaScript files may cause issues with scripts that require certain order of execution. This is why we advise you to check the frontend of your website after you enable this optimization.", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:29
28
  __( "If you notice issues with parts of your site, use the Exclude functionality to keep those scripts separate from the combination.", "sg-cachepress" ), // src-js/components/dialogs/js-dialog.tsx:39
40
  __( "You can exclude full or partial URLs using \"*\" as a wildcard. For example:", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:29
41
  __( "{{strong}}www.site.com/parent-page/sub-page{{/strong}} will exclude only that single URL.", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:38
42
  __( "{{strong}}www.site.com/parent-page/*{{/strong}} will exclude all sub-pages of \"parent-page\".", "sg-cachepress" ), // src-js/components/dialogs/urls-dialog.tsx:54
43
+ __( "This item already exists in exclude list.", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:52
44
+ __( "You must input a class name.", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:62
45
+ __( "Please provide correct URL.", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:77
46
+ __( "Exclude", "sg-cachepress" ), // src-js/components/exclude/simple-exclude.tsx:156
47
  __( "This URL already exists in exclude list.", "sg-cachepress" ), // src-js/components/exclude/urls-exclude.tsx:55
48
  __( "Exclude", "sg-cachepress" ), // src-js/components/exclude/urls-exclude.tsx:142
49
  __( "SG Optimizer", "sg-cachepress" ), // src-js/components/intro/index.tsx:29
54
  __( "Generated %(optimized)s of %(total)s webp copies", "sg-cachepress" ), // src-js/components/loaders/webp-loader.tsx:31
55
  __( "Pause", "sg-cachepress" ), // src-js/components/loaders/webp-loader.tsx:55
56
  __( "WebP settings have been changed, please, {{link}}re-generate{{/link}} your images!.", "sg-cachepress" ), // src-js/components/slider/quality-slider.tsx:75
57
+ __( "Generate WebP Copies of New Images", "sg-cachepress" ), // src-js/components/webp/webp.tsx:186
58
+ __( "WebP is a next generation image format supported by modern browers which greatly reduces the size of your images.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:191
59
+ __( "Optimization Level", "sg-cachepress" ), // src-js/components/webp/webp.tsx:196
60
+ __( "Chose the quality of WebP copies created by us. Higher quality means higher image size.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:197
61
+ __( "Optimization Type", "sg-cachepress" ), // src-js/components/webp/webp.tsx:210
62
+ __( "Manage WebP Copies for Existing Images", "sg-cachepress" ), // src-js/components/webp/webp.tsx:235
63
+ __( "Generate or delete a WebP copy of your existing media library.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:238
64
+ __( "Delete all WebP Files", "sg-cachepress" ), // src-js/components/webp/webp.tsx:257
65
+ __( "Bulk Generate WebP Files", "sg-cachepress" ), // src-js/components/webp/webp.tsx:274
66
+ __( "All WebP copies of your files have been generated successfully! Force {{link}}re-generation{{/link}} of your images.", "sg-cachepress" ), // src-js/components/webp/webp.tsx:290
67
+ __( "If you want to change your PHP setup and version, please login to {{strong}}Site Tools{{/strong}} and use the {{strong}}DEVS -> PHP Manager{{/strong}} tool. It will allow you to select PHP version and whether you want to change it manually or leave it to us to manage it for you", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:11
68
+ __( "If you want to change your PHP setup and version, please login to {{strong}}cPanel{{/strong}} and use the {{strong}}PHP Version Manager{{/strong}} tool. It will allow you to select PHP version and whether you want to change it manually or leave it to us to manage it for you.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:20
69
+ __( "Managed", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:33
70
+ __( "Manual", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:33
71
+ __( "PHP Version Manager", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:49
72
+ __( "You are currently running on PHP %(version)s %(type)s.", "sg-cachepress" ), // src-js/containers/php-checker/index.tsx:54
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  __( "Thanks for using SG Optimizer to make your site faster!", "sg-cachepress" ), // src-js/containers/rating/index.tsx:61
74
  __( "Help more people optimize their sites by rating our plugin.", "sg-cachepress" ), // src-js/containers/rating/index.tsx:68
75
  __( "Don’t Show This Again", "sg-cachepress" ), // src-js/containers/rating/index.tsx:78
76
  __( "Browser Caching", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:12
77
  __( "Adds rules to store in your visitors browser cache to keep static content longer for better site performance.", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:16
78
+ __( "Browser Caching", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:23
79
+ __( "NGINX Direct Delivery takes care of your static resources including proper expiration dates for your browser caching.", "sg-cachepress" ), // src-js/components/modules/browser-cache/index.tsx:27
80
+ __( "Scheduled Database Maintenance", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:14
81
+ __( "Enable this option to regularly cleanup your database and keep it small and optimized.", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:19
82
+ __( "Enabling this optimization will perform these tasks every 48 hours:", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:32
83
+ __( "Perform Database Optimization for MyISAM tables", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:41
84
+ __( "Delete all automatically created post and page drafts", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:42
85
+ __( "Delete all page and post revisions", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:43
86
+ __( "Delete all posts and pages in your Trash", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:44
87
+ __( "Delete all comments marked as Spam", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:45
88
+ __( "Delete all expired Transients", "sg-cachepress" ), // src-js/components/modules/database-optimization/index.tsx:46
89
+ __( "DNS Pre-fetch for External Domains", "sg-cachepress" ), // src-js/components/modules/dns-prefetch/index.tsx:14
90
+ __( "With this functionality you can enable the DNS pre-fetching for external domains. Doing this will save DNS lookup for resources loaded from these domains.", "sg-cachepress" ), // src-js/components/modules/dns-prefetch/index.tsx:19
91
+ __( "Add only your domain names without http:// or https:// - DNS prefetching will work for both", "sg-cachepress" ), // src-js/components/modules/dns-prefetch/index.tsx:37
92
+ __( "Add", "sg-cachepress" ), // src-js/components/modules/dns-prefetch/index.tsx:44
93
  __( "Dynamic Caching", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:61
94
  __( "Store your content in the server’s memory for a faster access with this full-page caching solution powered by NGINX.", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:66
95
  __( "Manual Cache Purge", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:94
106
  __( "See examples", "sg-cachepress" ), // src-js/components/modules/dynamic-cache/index.tsx:158
107
  __( "GZIP Compression", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:13
108
  __( "Enables a compression of the content that's delivered to your visitors browsers improving the network loading times of your site.", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:17
109
+ __( "GZIP Compression", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:23
110
+ __( "GZIP Compression is enabled by default automatically saving you bandwidth and improving the loading speeds of your pages.", "sg-cachepress" ), // src-js/components/modules/gzip/index.tsx:26
111
+ __( "WordPress Admin Pages", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:99
112
+ __( "Select whether the Heartbeat API to work or not on your {{strong}}WordPress Admin Pages{{/strong}}. Unless you rely on it to execute scheduled tasks, we recommend to keep it disabled.", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:104
113
+ __( "Post and Page Edit", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:113
114
+ __( "Select whether the WordPress Heartbeat API to work or not on your {{strong}}Post and Page Edit{{/strong}} screens. We recommend that you keep it enabled at 180 seconds.", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:118
115
+ __( "Site Frontend", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:127
116
+ __( "Select whether the WordPress Heartbeat API to work or not on your {{strong}}Site Frontend{{/strong}}. Unless you rely on it to execute scheduled tasks, we recommend to keep it disabled.", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:132
117
+ __( "Disabled", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:155
118
+ __( "WordPress Heartbeat Optimization", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:166
119
+ __( "Enable this option to allow SG Optimizer to control the WordPress Heartbeat API.", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:172
120
+ __( "By default, the WordPress Heartbeat API checks every 15 seconds on your post edit pages and every 60 seconds on your dashboard and frontend whether there is a scheduled tasks to be executed. This can generate high CPU usage if you leave browser tabs in which you're logged to WordPress opened for a longer period of time. With this option, you can make the checks run less frequently or completely disable them.", "sg-cachepress" ), // src-js/components/modules/heartbeat-control/index.tsx:188
121
+ __( "Memcached is disabled. Please, enable it in your SiteGround control panel.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:27
122
+ __( "Memcached was disabled due to exceeding the single object size limit.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:30
123
+ __( "Memcached was disabled because the necessary dropin was deleted. Please, re-enable it again.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:34
124
+ __( "Memcached is disabled. Please, enable it in your SiteGround control panel.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:52
125
+ __( "Memcached was disabled due to exceeding the single object size limit.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:55
126
+ __( "Memcached was disabled because the necessary dropin was deleted. Please, re-enable it again.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:59
127
+ __( "Memcached", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:97
128
+ __( "SINGLE OBJECT SIZE TOO BIG", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:104
129
+ __( "Your site tried to store a single object above 1MB in Memcached which is above the limitation and will actually slow your site rather than speed it up. Please, check your Options table for obsolete data before enabling it again. Note that the service will be automatically disabled if such error occurs again.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:105
130
+ __( "Powerful object caching for your site. It stores frequently executed queries to your databases and reuses them for better performance.", "sg-cachepress" ), // src-js/components/modules/memcached/index.tsx:112
131
  __( "Score Check", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:122
132
  __( "Test how optimized your website is. Our performance check is powered by Google PageSpeed.", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:125
133
  __( "Device Type", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:156
135
  __( "Analyze", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:180
136
  __( "Please Wait, We Are Performing a Google PageSpeed Test on Your Page", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:187
137
  __( "There is nothing here yet", "sg-cachepress" ), // src-js/components/tabs/analytics/index.tsx:233
138
+ __( "Enable HTTPS", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:107
139
+ __( "Configures your site to work correctly via HTTPS and forces a secure connection to your site.", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:110
140
+ __( "Fix Insecure Content", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:154
141
+ __( "Enable this option in case you’re getting insecure content errors on your website. We will dynamically rewrite insecure requests for resources coming from your site", "sg-cachepress" ), // src-js/components/tabs/environment-optimization/index.tsx:157
142
+ __( "Minify the HTML Output", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:115
143
+ __( "Removes unnecessary characters from your HTML output saving data and improving your site speed. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:120
144
+ __( "Exclude URLs from HTML Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:126
145
+ __( "Exclude URLs from HTML Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:146
146
+ __( "With this functionality, you can exclude different pages from HTML minification.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:147
147
+ __( "Minify JavaScript Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:163
148
+ __( "Minify your JavaScript files in order to reduce their size and reduce the number of requests to the server. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:168
149
+ __( "Exclude from JavaScript Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:174
150
+ __( "Combine JavaScript Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:206
151
+ __( "Combine your JavaScript files in order to reduce the number of requests to the server.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:212
152
+ __( "Exclude from JavaScript Combination", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:218
153
+ __( "JAVASCRIPT COMBINATION DISABLED", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:230
154
+ __( "We have detected that a script is generating uniquely named files which results in our combined assets taking up huge amount of disk space. Please, exclude any scripts that generate unique JS code per page or per visit in order to avoid this from happening again.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:231
155
+ __( "Defer Render-blocking JS", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:265
156
+ __( "Defer loading of render-blocking JavaScript files for faster initial site load. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:271
157
+ __( "Exclude from Loading JS Files Asynchronously", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:277
158
+ __( "Minify CSS Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:309
159
+ __( "Minify your CSS files in order to reduce their size and reduce the number of requests to the server. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:314
160
+ __( "Exclude From CSS Minification", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:320
161
+ __( "Combine CSS Files", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:352
162
+ __( "Combine multiple CSS files into one to lower the number of requests your site generates. ", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:357
163
+ __( "Exclude from CSS Combination", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:363
164
+ __( "Optimize Loading of Google Fonts", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:395
165
+ __( "Combine the loading of Google fonts reducing the number of HTTP requests.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:400
166
+ __( "Remove Query Strings From Static Resources", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:406
167
+ __( "Removes version query strings from your static resources improving the caching of those resources.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:411
168
+ __( "Disable Emojis", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:417
169
+ __( "Enable to prevent WordPress from automatically detecting and generating emojis in your pages.", "sg-cachepress" ), // src-js/components/tabs/frontend-optimization/index.tsx:422
170
  __( "New Images Optimization", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:84
171
  __( "We will automatically optimize all new images that you upload to your Media Library.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:88
172
  __( "Existing Images Optimization", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:104
192
  __( "Enable this option if you want the images in your widget areas to load only when users reach them. ", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:287
193
  __( "Lazy Load for Mobile", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:295
194
  __( "Enable if you want to use lazy-loading features for mobile requests to your site.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:299
195
+ __( "Fix for Lazy Loading Short Codes", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:307
196
+ __( "If your images generated by shortcodes are not lazy loaded, please enable this feature.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:311
197
+ __( "Lazy Load Product Images", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:321
198
+ __( "Enable if you want to enable lazy-load images in your store, product and other WooCommerce pages.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:325
199
+ __( "Exclude from Lazy Load", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:336
200
+ __( "In order to exclude images from lazy loading, please add their CSS classes to the exclusion list. Add each CSS class on a separate line.", "sg-cachepress" ), // src-js/components/tabs/image-optimization/index.tsx:337
201
  __( "Site Admin Permissions", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:85
202
  __( "In this section, set the access permission for admins of separate sites.", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:88
203
  __( "SuperCacher Settings", "sg-cachepress" ), // src-js/components/tabs/multisite-control/index.tsx:115
252
  __( "Certain plugins and themes generate multiple images from a single upload to work better on different devices. Enable if you want to lazy-load these too.", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:757
253
  __( "Lazy Load Widgets", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:789
254
  __( "Enable this option if you want the images in your widget areas to load only when users reach them. ", "sg-cachepress" ), // src-js/components/tabs/sites-control/index.tsx:792
255
+ _x( "in %s", "future time", "sg-cachepress" ), // extras/date.js:5
256
+ __( "a few seconds", "sg-cachepress" ), // extras/date.js:6
257
+ __( "a minute", "sg-cachepress" ), // extras/date.js:7
258
+ __( "%d minutes", "sg-cachepress" ), // extras/date.js:8
259
+ __( "%d hours", "sg-cachepress" ), // extras/date.js:9
260
+ __( "%d days", "sg-cachepress" ), // extras/date.js:10
261
+ __( "a month", "sg-cachepress" ), // extras/date.js:11
262
+ __( "%d months", "sg-cachepress" ), // extras/date.js:12
263
+ __( "a year", "sg-cachepress" ), // extras/date.js:13
264
+ __( "%d years", "sg-cachepress" ), // extras/date.js:14
265
+ __( "number_format_thousands_sep", "sg-cachepress" ), // extras/date.js:18
266
+ __( "number_format_decimal_point", "sg-cachepress" ), // extras/date.js:20
267
  );
268
  /* THIS IS THE END OF THE GENERATED FILE */
readme.txt CHANGED
@@ -208,6 +208,10 @@ Our plugin uses a cookie in order to function properly. It does not store person
208
 
209
  == Changelog ==
210
 
 
 
 
 
211
  = Version 5.6.1 =
212
  * Second stage of Memcached improvements applied
213
  * Added WP-CLI control for heartbeat, dns-prefetching and db optimizations
208
 
209
  == Changelog ==
210
 
211
+ = Version 5.6.2 =
212
+ * Improved JS Combination exclude list
213
+ * Disable native WordPress lazyloading
214
+
215
  = Version 5.6.1 =
216
  * Second stage of Memcached improvements applied
217
  * Added WP-CLI control for heartbeat, dns-prefetching and db optimizations
sg-cachepress.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: SG Optimizer
11
  * Plugin URI: https://siteground.com
12
  * Description: This plugin will link your WordPress application with all the performance optimizations provided by SiteGround
13
- * Version: 5.6.1
14
  * Author: SiteGround
15
  * Author URI: https://www.siteground.com
16
  * Text Domain: sg-cachepress
@@ -31,7 +31,7 @@ if ( ! defined( 'WPINC' ) ) {
31
 
32
  // Define version constant.
33
  if ( ! defined( __NAMESPACE__ . '\VERSION' ) ) {
34
- define( __NAMESPACE__ . '\VERSION', '5.6.1' );
35
  }
36
 
37
  // Define slug constant.
10
  * Plugin Name: SG Optimizer
11
  * Plugin URI: https://siteground.com
12
  * Description: This plugin will link your WordPress application with all the performance optimizations provided by SiteGround
13
+ * Version: 5.6.2
14
  * Author: SiteGround
15
  * Author URI: https://www.siteground.com
16
  * Text Domain: sg-cachepress
31
 
32
  // Define version constant.
33
  if ( ! defined( __NAMESPACE__ . '\VERSION' ) ) {
34
+ define( __NAMESPACE__ . '\VERSION', '5.6.2' );
35
  }
36
 
37
  // Define slug constant.