PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.4.9
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.4.9
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 +4 -117 3.4.22.4.9 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
@@ -23,13 +22,10 @@
23 22 * @var array
24 23 */
25 24 public $exclude_hosts = array(
26 25 'cdnjs.cloudflare.com',
27 - 'pages.kit.com',
28 - 'kit.com',
29 26 'pages.convertkit.com',
30 27 'convertkit.com',
31 - 'filekitcdn.com',
32 28 );
33 29
34 30 /**
35 31 * Holds internal JS paths to exclude from JS minification.
@@ -52,14 +48,9 @@
52 48
53 49 // Autoptimize: Exclude Forms from JS defer.
54 50 add_filter( 'convertkit_output_script_footer', array( $this, 'autoptimize_exclude_js_defer' ) );
55 51 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 52
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 53 // Jetpack Boost: Exclude Forms from JS defer.
63 54 add_filter( 'convertkit_output_script_footer', array( $this, 'jetpack_boost_exclude_js_defer' ) );
64 55 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'jetpack_boost_exclude_js_defer' ) );
65 56
@@ -66,33 +57,19 @@
66 57 // LiteSpeed: Exclude Forms from JS defer.
67 58 add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_defer' ) );
68 59 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_defer' ) );
69 60
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 61 // Perfmatters: Exclude Forms from Delay JavaScript.
75 62 add_filter( 'convertkit_output_script_footer', array( $this, 'perfmatters_exclude_delay_js' ) );
76 63 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' ) );
78 64
79 65 // Siteground Speed Optimizer: Exclude Forms from JS combine.
80 66 add_filter( 'convertkit_output_script_footer', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
81 67 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
82 68
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 69 // WP Rocket: Disable Caching and Minification on Landing Pages.
90 70 add_action( 'convertkit_output_landing_page_before', array( $this, 'wp_rocket_disable_caching_and_minification_on_landing_pages' ) );
91 71
92 - // WP Rocket: Exclude Forms from JS minification and combine.
93 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
94 -
95 72 // WP Rocket: Exclude Forms from Delay JavaScript execution.
96 73 add_filter( 'convertkit_output_script_footer', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
97 74 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
98 75
@@ -163,28 +140,8 @@
163 140
164 141 }
165 142
166 143 /**
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 144 * Exclude ConvertKit scripts from Perfmatters' "Delay JS" setting.
188 145 *
189 146 * @since 2.4.7
190 147 *
@@ -208,36 +165,8 @@
208 165
209 166 }
210 167
211 168 /**
212 - * Disable image lazy loading when a WordPress Page configured to display a
213 - * ConvertKit Landing Page is viewed.
214 - *
215 - * @since 2.5.1
216 - *
217 - * @param bool $enabled Lazy loading enabled.
218 - * @return bool
219 - */
220 - public function disable_image_lazy_loading_on_landing_pages( $enabled ) {
221 -
222 - // If the request isn't for a Page, don't change lazy loading settings.
223 - if ( ! is_page( get_the_ID() ) ) {
224 - return $enabled;
225 - }
226 -
227 - // If no landing page is specified for the Post, don't change lazy loading settings.
228 - $post_settings = new ConvertKit_Post( get_the_ID() );
229 - if ( ! $post_settings->has_landing_page() ) {
230 - return $enabled;
231 - }
232 -
233 - // ConvertKit Landing Page is going to be displayed.
234 - // Disable image lazy loading so that the Landing Page images display.
235 - return false;
236 -
237 - }
238 -
239 - /**
240 169 * Disable JS combining on ConvertKit scripts when the Siteground Speed Optimizer Plugin is installed, active
241 170 * and its "Combine JavaScript Files" setting is enabled.
242 171 *
243 172 * @since 2.4.6
@@ -269,11 +198,12 @@
269 198 * @since 2.4.6
270 199 */
271 200 public function wp_rocket_disable_caching_and_minification_on_landing_pages() {
272 201
273 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
274 - add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts' ) );
202 + add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts_from_minification' ) );
203 + add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts_from_minification' ) );
275 204 add_filter( 'rocket_exclude_js', array( $this, 'exclude_local_js_from_minification' ) );
205 + add_filter( 'do_rocket_lazyload', '__return_false' );
276 206
277 207 }
278 208
279 209 /**
@@ -307,24 +237,8 @@
307 237 * @return array
308 238 */
309 239 public function exclude_hosts_from_minification( $hosts ) {
310 240
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 241 return array_merge( $hosts, $this->exclude_hosts );
328 242
329 243 }
330 244
@@ -339,35 +253,8 @@
339 253 */
340 254 public function exclude_local_js_from_minification( $scripts ) {
341 255
342 256 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 257
371 258 }
372 259
373 260 }