wp-code.ru wordpress WP-Codе

Программное отключение WooCommerce Cart Fragments для улучшения производительности

Что такое WooCommerce Cart Fragments и почему они замедляют сайт

Cart Fragments — это механизм в WooCommerce, который обновляет содержимое корзины на страницах сайта без перезагрузки. Он использует AJAX-запросы для динамического обновления количества товаров и стоимости, что повышает удобство для пользователя. Однако этот механизм вызывает дополнительные HTTP-запросы и нагрузку на сервер, особенно на больших и загруженных сайтах. В итоге страница может загружаться медленнее, что негативно сказывается на пользовательском опыте и SEO.

Диагностика проблемы с Cart Fragments в WooCommerce

Чтобы понять, влияет ли Cart Fragments на производительность сайта, выполните следующие действия:

  • Откройте сайт в режиме инкогнито браузера.
  • Запустите инструменты разработчика (F12) и перейдите на вкладку Network (Сеть).
  • Обновите страницу и найдите запросы к /?wc-ajax=get_refreshed_fragments.
  • Обратите внимание на время ответа и количество таких запросов.
  • Если запросы появляются на каждой странице и задерживают загрузку, это повод отключить Cart Fragments.

Пошаговое программное отключение Cart Fragments в WooCommerce

Для отключения Cart Fragments через код добавьте следующий сниппет в файл functions.php вашей темы или в плагин для пользовательских функций:

add_action('wp_enqueue_scripts', function() {
    if (class_exists('WooCommerce')) {
        wp_dequeue_script('wc-cart-fragments');
    }
}, 11);

Этот код отменяет регистрацию и подключение скрипта wc-cart-fragments, который отвечает за AJAX-запросы обновления корзины.

Что важно учитывать при отключении

  • После отключения количество товаров в корзине в шапке или меню не будет обновляться динамически.
  • Если на сайте используется кэширование, очистите кэш после внесения изменений.
  • Проверьте, что на страницах оформления заказа и корзины отображаются актуальные данные.

Проверка результата после отключения Cart Fragments

  1. Откройте сайт в браузере в режиме инкогнито.
  2. Запустите инструменты разработчика и перейдите во вкладку Network.
  3. Обновите страницу и убедитесь, что запросы /?wc-ajax=get_refreshed_fragments отсутствуют.
  4. Проверьте, что количество товаров в корзине отображается корректно при перезагрузке страницы.
  5. Используйте GTmetrix или аналогичные сервисы для оценки времени загрузки страниц — время должно уменьшиться.

Частые ошибки и как их исправить

  • Cart Fragments не отключился: Проверьте приоритет хука wp_enqueue_scripts. Он должен быть не ниже 11, чтобы код выполнялся после регистрации скрипта WooCommerce.
  • Ошибка «класс WooCommerce не найден»: Убедитесь, что WooCommerce активен, и код подключается после инициализации плагина.
  • Обновление корзины перестало работать: Проверьте, что на сайте нет кастомных скриптов, зависящих от Cart Fragments. При необходимости реализуйте альтернативное обновление корзины.

Практические советы по безопасности и производительности

  • Не отключайте Cart Fragments на сайтах с небольшим трафиком и минимальной нагрузкой, где динамическое обновление корзины критично для UX.
  • Используйте кеширование страниц и объектов, чтобы снизить нагрузку на сервер.
  • Если критична динамическая обновляемость корзины, рассмотрите оптимизацию кода Cart Fragments, а не полное отключение.
  • Для крупных проектов с WooCommerce можно использовать плагины оптимизации, например Clearfy Pro (https://wpshop.ru/plugins/clearfy), которые позволяют тонко настраивать поведение и отключать ненужные скрипты.

Сравнение способов отключения Cart Fragments

МетодПреимуществаНедостатки
Программное отключение через wp_dequeue_scriptЛегко реализуется, не требует плагинов, минимальный кодПотеря динамического обновления корзины, требует тестирования
Использование плагинов оптимизации (например Clearfy Pro)Удобный интерфейс, дополнительные функции оптимизацииПлатные решения, дополнительная нагрузка от плагинов
Полная кастомизация AJAX-логикиМаксимальная гибкость, можно сохранить UXСложно и трудозатратно, требует глубоких знаний WooCommerce
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше