WooCommerce provides great functionality, but loads a lot of resources even if not needed.
If a site loads longer than 5-7 seconds, potential customers already loose interest :)
UNLOAD ALL THAT IS NOT NEEDED
Add this to your functions.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
add_action( 'wp_enqueue_scripts', 'cleanup_woocommerce_includes', 99 ); function cleanup_woocommerce_includes(){ //check that woo exists if ( function_exists( 'is_woocommerce' ) ) { if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {} /*Styles*/ wp_dequeue_style( 'woocommerce_frontend_styles' ); wp_dequeue_style( 'woocommerce_fancybox_styles' ); wp_dequeue_style( 'woocommerce_chosen_styles' ); wp_dequeue_style( 'woocommerce_prettyPhoto_css' ); wp_dequeue_style( 'woocommerce-layout' ); wp_dequeue_style( 'woocommerce-smallscreen' ); wp_dequeue_style( 'woocommerce-general' ); wp_dequeue_style( 'wc-bto-styles' ); /*Scripts*/ wp_dequeue_script( 'wc-cart' ); wp_dequeue_script( 'wc-cart-fragments' ); wp_deregister_script( 'wc-add-to-cart' ); wp_dequeue_script( 'wc-add-to-cart' ); wp_deregister_script( 'wc-add-to-cart-variation' ); wp_dequeue_script( 'wc-add-to-cart-variation' ); wp_dequeue_script( 'wc-checkout' ); wp_dequeue_script( 'wc-single-product' ); wp_dequeue_script( 'jquery-blockui' ); wp_dequeue_script( 'wc_price_slider' ); wp_dequeue_script( 'wc-chosen' ); wp_dequeue_script( 'woocommerce' ); wp_dequeue_script( 'prettyPhoto' ); wp_dequeue_script( 'prettyPhoto-init' ); wp_dequeue_script( 'jquery-placeholder' ); wp_dequeue_script( 'fancybox' ); wp_dequeue_script( 'jqueryui' ); } } } |
Like always, make sure that nothing breaks. If things break or are required by certain pages add an exception for that!
Check WordPress Condional Tags.
Sources:
- How to Load WooCommerce Scripts and Styles Conditionally to Improve Page Load Speed
- Only load WooCommerce scripts on shop pages and checkout + cart
REMOVE GENERATOR META TAG
1 2 |
remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) ); remove_action('wp_head', 'wc_generator_tag'); |