PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.7.4
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.7.4
3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 2.3.2 All 195 releases
← All changes | includes/class-convertkit-cache-plugins.php +9 -88 3.4.22.7.4 View file →
@@ -14,10 +14,9 @@
14 14 */
15 15 class ConvertKit_Cache_Plugins {
16 16
17 17 /**
18 - * Holds external hosts to exclude from CSS and JS minification
19 - * and lazy loading of images.
18 + * Holds external hosts to exclude from CSS and JS minification.
20 19 *
21 20 * @since 2.4.6
22 21 *
23 22 * @var array
@@ -27,9 +26,8 @@
27 26 'pages.kit.com',
28 27 'kit.com',
29 28 'pages.convertkit.com',
30 29 'convertkit.com',
31 - 'filekitcdn.com',
32 30 );
33 31
34 32 /**
35 33 * Holds internal JS paths to exclude from JS minification.
@@ -52,14 +50,9 @@
52 50
53 51 // Autoptimize: Exclude Forms from JS defer.
54 52 add_filter( 'convertkit_output_script_footer', array( $this, 'autoptimize_exclude_js_defer' ) );
55 53 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'autoptimize_exclude_js_defer' ) );
56 - add_filter( 'autoptimize_filter_imgopt_should_lazyload', array( $this, 'disable_image_lazy_loading_on_landing_pages' ) );
57 54
58 - // Debloat: Exclude Forms from Delay Load JS.
59 - add_filter( 'debloat/defer_js_excludes', array( $this, 'exclude_hosts' ) );
60 - add_filter( 'debloat/delay_js_excludes', array( $this, 'exclude_hosts' ) );
61 -
62 55 // Jetpack Boost: Exclude Forms from JS defer.
63 56 add_filter( 'convertkit_output_script_footer', array( $this, 'jetpack_boost_exclude_js_defer' ) );
64 57 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'jetpack_boost_exclude_js_defer' ) );
65 58
@@ -66,32 +59,22 @@
66 59 // LiteSpeed: Exclude Forms from JS defer.
67 60 add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_defer' ) );
68 61 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_defer' ) );
69 62
70 - // LiteSpeed: Exclude Forms from JS optimization.
71 - add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_optimize' ) );
72 - add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_optimize' ) );
73 -
74 63 // Perfmatters: Exclude Forms from Delay JavaScript.
75 64 add_filter( 'convertkit_output_script_footer', array( $this, 'perfmatters_exclude_delay_js' ) );
76 65 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'perfmatters_exclude_delay_js' ) );
77 - add_filter( 'perfmatters_lazyload', array( $this, 'disable_image_lazy_loading_on_landing_pages' ) );
66 + add_filter( 'perfmatters_lazyload', array( $this, 'perfmatters_disable_lazy_loading_on_landing_pages' ) );
78 67
79 68 // Siteground Speed Optimizer: Exclude Forms from JS combine.
80 69 add_filter( 'convertkit_output_script_footer', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
81 70 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
82 71
83 - // Siteground Speed Optimizer: Set Member Content Pages in "Exclude URLs from Caching".
84 - add_filter( 'sgo_exclude_urls_from_cache', array( $this, 'exclude_restrict_content_pages_from_caching' ) );
85 -
86 - // Rocket LazyLoad: Exclude images from lazy loading.
87 - add_filter( 'rocket_lazyload_excluded_src', array( $this, 'exclude_hosts' ) );
88 -
89 72 // WP Rocket: Disable Caching and Minification on Landing Pages.
90 73 add_action( 'convertkit_output_landing_page_before', array( $this, 'wp_rocket_disable_caching_and_minification_on_landing_pages' ) );
91 74
92 75 // WP Rocket: Exclude Forms from JS minification and combine.
93 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
76 + add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts_from_minification' ) );
94 77
95 78 // WP Rocket: Exclude Forms from Delay JavaScript execution.
96 79 add_filter( 'convertkit_output_script_footer', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
97 80 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
@@ -163,28 +146,8 @@
163 146
164 147 }
165 148
166 149 /**
167 - * Disable JS Optimization on Kit scripts when the LiteSpeed Cache Plugin is installed, active
168 - * and its "JS Combine" setting is enabled.
169 - *
170 - * @since 3.3.1
171 - *
172 - * @param array $script Script key/value pairs to output as <script> tag.
173 - * @return array
174 - */
175 - public function litespeed_cache_exclude_js_optimize( $script ) {
176 -
177 - return array_merge(
178 - $script,
179 - array(
180 - 'data-no-optimize' => '1',
181 - )
182 - );
183 -
184 - }
185 -
186 - /**
187 150 * Exclude ConvertKit scripts from Perfmatters' "Delay JS" setting.
188 151 *
189 152 * @since 2.4.7
190 153 *
@@ -208,9 +171,9 @@
208 171
209 172 }
210 173
211 174 /**
212 - * Disable image lazy loading when a WordPress Page configured to display a
175 + * Disable lazy loading in Perfmatters when a WordPress Page configured to display a
213 176 * ConvertKit Landing Page is viewed.
214 177 *
215 178 * @since 2.5.1
216 179 *
@@ -216,9 +179,9 @@
216 179 *
217 180 * @param bool $enabled Lazy loading enabled.
218 181 * @return bool
219 182 */
220 - public function disable_image_lazy_loading_on_landing_pages( $enabled ) {
183 + public function perfmatters_disable_lazy_loading_on_landing_pages( $enabled ) {
221 184
222 185 // If the request isn't for a Page, don't change lazy loading settings.
223 186 if ( ! is_page( get_the_ID() ) ) {
224 187 return $enabled;
@@ -230,9 +193,9 @@
230 193 return $enabled;
231 194 }
232 195
233 196 // ConvertKit Landing Page is going to be displayed.
234 - // Disable image lazy loading so that the Landing Page images display.
197 + // Disable Perfmatters Lazy Loading so that the Landing Page images display.
235 198 return false;
236 199
237 200 }
238 201
@@ -269,11 +232,12 @@
269 232 * @since 2.4.6
270 233 */
271 234 public function wp_rocket_disable_caching_and_minification_on_landing_pages() {
272 235
273 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
274 - add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts' ) );
236 + add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts_from_minification' ) );
237 + add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts_from_minification' ) );
275 238 add_filter( 'rocket_exclude_js', array( $this, 'exclude_local_js_from_minification' ) );
239 + add_filter( 'do_rocket_lazyload', '__return_false' );
276 240
277 241 }
278 242
279 243 /**
@@ -307,24 +271,8 @@
307 271 * @return array
308 272 */
309 273 public function exclude_hosts_from_minification( $hosts ) {
310 274
311 - _doing_it_wrong( __FUNCTION__, 'Use exclude_hosts() instead.', '3.1.0' );
312 -
313 - return $this->exclude_hosts( $hosts );
314 -
315 - }
316 -
317 - /**
318 - * Appends the $exclude_hosts property to an array of existing hosts.
319 - *
320 - * @since 3.1.0
321 - *
322 - * @param array $hosts External hosts to ignore.
323 - * @return array
324 - */
325 - public function exclude_hosts( $hosts ) {
326 -
327 275 return array_merge( $hosts, $this->exclude_hosts );
328 276
329 277 }
330 278
@@ -339,35 +287,8 @@
339 287 */
340 288 public function exclude_local_js_from_minification( $scripts ) {
341 289
342 290 return array_merge( $scripts, $this->exclude_plugin_js );
343 -
344 - }
345 -
346 - /**
347 - * Exclude Restrict Content Pages from caching when the Siteground Speed Optimizer Plugin is installed, active
348 - * and its "Exclude URLs from Caching" setting is enabled.
349 - *
350 - * @since 3.3.6
351 - *
352 - * @param array $excluded_urls URLs to exclude from caching.
353 - * @return array
354 - */
355 - public function exclude_restrict_content_pages_from_caching( $excluded_urls ) {
356 -
357 - // Get the list of relative URLs for posts with restrict_content enabled
358 - // from the Plugin's cache.
359 - $restrict_content_cache = WP_ConvertKit()->get_class( 'restrict_content_cache' );
360 - if ( ! $restrict_content_cache ) {
361 - return $excluded_urls;
362 - }
363 -
364 - // Cache stores Restrict Content pages as id => relative url pairs.
365 - // Siteground just needs to the relative URLs.
366 - $restrict_content_urls = array_values( $restrict_content_cache->get() );
367 -
368 - // Merge the list of relative URLs with the list of URLs already excluded from caching.
369 - return array_merge( $excluded_urls, $restrict_content_urls );
370 291
371 292 }
372 293
373 294 }