Оптимизировать Woocommerce

Магазин на Woocommerce создает нагрузку на хостинг: долгая загрузка в браузер пользователя.
Сжали ресурсы (JS, HTML, CSS), подключили CDN… Толк практически никакой.
Есть какие-либо общие рекомендации по оптимизации сайта на Woocommerc?

Знаток Вопрос задан в 15.02.2017 в Оптимизация.
Добавить комментарий
3 Ответ (-ов)

    Плагины Woocommerce очень требовательны к ресурсам. При создании магазина (связка WP+Woocommerce) вы должны быть готовы заранее – на виртуальных хостингах будет существенная нагрузка. И если это “живой”, динамичный магазин с большим перечнем товара, то без хорошего дорогого тарифного плана не обойтись.

    Для оптимизации Woocommerce можно использовать некоторые хуки в файле functions.php Вашей текущей темы:

    remove_action( 'wp_ajax_nopriv_woocommerce_get_refreshed_fragments', array( 'WC_AJAX', 'get_refreshed_fragments' ) );
    remove_action( 'wp_ajax_woocommerce_get_refreshed_fragments', array( 'WC_AJAX', 'get_refreshed_fragments' ) );
    

    а также:

    add_action( 'wp_print_scripts', 'de_script', 100 );
    function de_script() {
    wp_dequeue_script( 'wc-cart-fragments' );
    return true;
    }
    

    Для укрощения запросов к admin-ajax.php

    add_action( 'init', 'my_deregister_heartbeat', 1 );
    function my_deregister_heartbeat() {
    global $pagenow;
    if ( 'post.php' != $pagenow && 'post-new.php' != $pagenow )
    wp_deregister_script('heartbeat');
    }
    
    Мастер Отвечено в 19.02.2017.
    Добавить комментарий

      Также можно существенно разгрузить хостинг, если скрипты WooCommerce не запускать вне магазина.
      На многих сайтах WooCommerce используется как дополнение к форуму, блогу и т.д. Соответственно, при наличии WooCommerce, все его служебные файлы будут загружаться и на самом форуме или блоге, где они ВООБЩЕ не нужны. Чтобы загружать скрипты WooCommerce исключительно на страницах самого WooCommerce, в functions.php добавьте:

      add_action ('wp_enqueue_scripts', 'child_manage_woocommerce_styles', 99 );
      function child_manage_woocommerce_styles() {
      remove_action ('wp_head', array( $GLOBALS['woocommerce'], 'generator') );
      if ( function_exists ('is_woocommerce') ) {
      if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
      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_script ('wc_price_slider');
      wp_dequeue_script ('wc-single-product');
      wp_dequeue_script ('wc-add-to-cart');
      wp_dequeue_script ('wc-cart-fragments');
      wp_dequeue_script ('wc-checkout');
      wp_dequeue_script ('wc-add-to-cart-variation');
      wp_dequeue_script ('wc-single-product');
      wp_dequeue_script ('wc-cart');
      wp_dequeue_script ('wc-chosen');
      wp_dequeue_script ('woocommerce');
      wp_dequeue_script ('prettyPhoto');
      wp_dequeue_script ('prettyPhoto-init');
      wp_dequeue_script ('jquery-blockui');
      wp_dequeue_script ('jquery-placeholder');
      wp_dequeue_script ('fancybox');
      wp_dequeue_script ('jqueryui');
      }}}
       
      Знаток Отвечено в 19.02.2017.
      Добавить комментарий

        Реально крутая штука! магазин грузился 3,8-4 секунды, теперь 1,2-1,5 сек. Респект! Применил первые три хитрости

        По умолчанию Отвечено в 07.03.2019.
        Добавить комментарий

        Ваш ответ

        Размещая свой ответ, вы соглашаетесь с политикой конфиденциальности и условиями предоставления услуг.