PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.4.7
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.4.7
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 -146 3.4.22.4.7 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.
@@ -49,17 +45,8 @@
49 45 * @since 2.4.6
50 46 */
51 47 public function __construct() {
52 48
53 - // Autoptimize: Exclude Forms from JS defer.
54 - add_filter( 'convertkit_output_script_footer', array( $this, 'autoptimize_exclude_js_defer' ) );
55 - 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 -
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 49 // Jetpack Boost: Exclude Forms from JS defer.
63 50 add_filter( 'convertkit_output_script_footer', array( $this, 'jetpack_boost_exclude_js_defer' ) );
64 51 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'jetpack_boost_exclude_js_defer' ) );
65 52
@@ -66,33 +53,19 @@
66 53 // LiteSpeed: Exclude Forms from JS defer.
67 54 add_filter( 'convertkit_output_script_footer', array( $this, 'litespeed_cache_exclude_js_defer' ) );
68 55 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'litespeed_cache_exclude_js_defer' ) );
69 56
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 57 // Perfmatters: Exclude Forms from Delay JavaScript.
75 58 add_filter( 'convertkit_output_script_footer', array( $this, 'perfmatters_exclude_delay_js' ) );
76 59 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 60
79 61 // Siteground Speed Optimizer: Exclude Forms from JS combine.
80 62 add_filter( 'convertkit_output_script_footer', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
81 63 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'siteground_speed_optimizer_exclude_js_combine' ) );
82 64
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 65 // WP Rocket: Disable Caching and Minification on Landing Pages.
90 66 add_action( 'convertkit_output_landing_page_before', array( $this, 'wp_rocket_disable_caching_and_minification_on_landing_pages' ) );
91 67
92 - // WP Rocket: Exclude Forms from JS minification and combine.
93 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
94 -
95 68 // WP Rocket: Exclude Forms from Delay JavaScript execution.
96 69 add_filter( 'convertkit_output_script_footer', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
97 70 add_filter( 'convertkit_resource_forms_output_script', array( $this, 'wp_rocket_exclude_delay_js_execution' ) );
98 71
@@ -98,33 +71,8 @@
98 71
99 72 }
100 73
101 74 /**
102 - * Exclude ConvertKit scripts from Autoptimize's "Defer JS" setting.
103 - *
104 - * @since 2.4.9
105 - *
106 - * @param array $script Script key/value pairs to output as <script> tag.
107 - * @return array
108 - */
109 - public function autoptimize_exclude_js_defer( $script ) {
110 -
111 - add_filter(
112 - 'autoptimize_filter_js_exclude',
113 - function ( $exclusions ) use ( $script ) {
114 -
115 - $exclusions .= ', ' . $script['src'];
116 - return $exclusions;
117 -
118 - }
119 - );
120 -
121 - // Return original script.
122 - return $script;
123 -
124 - }
125 -
126 - /**
127 75 * Disable JS defer on ConvertKit scripts when the Jetpack Boost Plugin is installed, active
128 76 * and its "Defer Non-Essential JavaScript" setting is enabled.
129 77 *
130 78 * @since 2.4.6
@@ -163,28 +111,8 @@
163 111
164 112 }
165 113
166 114 /**
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 115 * Exclude ConvertKit scripts from Perfmatters' "Delay JS" setting.
188 116 *
189 117 * @since 2.4.7
190 118 *
@@ -208,36 +136,8 @@
208 136
209 137 }
210 138
211 139 /**
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 140 * Disable JS combining on ConvertKit scripts when the Siteground Speed Optimizer Plugin is installed, active
241 141 * and its "Combine JavaScript Files" setting is enabled.
242 142 *
243 143 * @since 2.4.6
@@ -269,11 +169,12 @@
269 169 * @since 2.4.6
270 170 */
271 171 public function wp_rocket_disable_caching_and_minification_on_landing_pages() {
272 172
273 - add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts' ) );
274 - add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts' ) );
173 + add_filter( 'rocket_minify_excluded_external_js', array( $this, 'exclude_hosts_from_minification' ) );
174 + add_filter( 'rocket_exclude_css', array( $this, 'exclude_hosts_from_minification' ) );
275 175 add_filter( 'rocket_exclude_js', array( $this, 'exclude_local_js_from_minification' ) );
176 + add_filter( 'do_rocket_lazyload', '__return_false' );
276 177
277 178 }
278 179
279 180 /**
@@ -307,24 +208,8 @@
307 208 * @return array
308 209 */
309 210 public function exclude_hosts_from_minification( $hosts ) {
310 211
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 212 return array_merge( $hosts, $this->exclude_hosts );
328 213
329 214 }
330 215
@@ -339,35 +224,8 @@
339 224 */
340 225 public function exclude_local_js_from_minification( $scripts ) {
341 226
342 227 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 228
371 229 }
372 230
373 231 }