Как отключить AJAX в WooCommerce для повышения производительности

Почему нужно отключать AJAX в WooCommerce

AJAX в WooCommerce облегчает работу пользователя с корзиной и обновлением товаров без перезагрузки страницы. Однако в некоторых случаях это приводит к излишним запросам к серверу, замедлению загрузки страниц и росту нагрузки, особенно на больших магазинах с хостингом среднего уровня. Отключение AJAX помогает снизить нагрузку и улучшить время отклика сайта.

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

Перед отключением AJAX убедитесь, что именно он вызывает проблемы, выполнив следующие проверки:

  • Откройте консоль браузера (F12) и перейдите на вкладку Network. Проверьте, сколько AJAX-запросов отправляется при добавлении товара в корзину.
  • Используйте плагин Query Monitor для анализа количества запросов и времени их выполнения на странице корзины и товаров.
  • Проверьте, не вызывает ли AJAX конфликтов с другими плагинами или темой, отключив их поочередно.

Пошаговое решение: отключение AJAX добавления в корзину

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

function disable_woocommerce_ajax_add_to_cart() {
    // Отключаем AJAX для кнопок "Добавить в корзину" на страницах архивов
    wp_dequeue_script('wc-add-to-cart');
}
add_action('wp_enqueue_scripts', 'disable_woocommerce_ajax_add_to_cart', 100);

Этот код полностью отключит скрипт AJAX добавления товаров в корзину на страницах каталога.

Отключение AJAX обновления мини-корзины

Мини-корзина WooCommerce также обновляется с помощью AJAX. Для отключения обновления мини-корзины используйте следующий фильтр:

add_filter('woocommerce_widget_cart_is_hidden', '__return_true');

Однако это скроет мини-корзину, если нужно просто отключить AJAX-обновление, придется убрать скрипты, обновляющие корзину, что может повлиять на UX. Рассмотрите вариант с полной заменой мини-корзины на статичный блок.

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

После внедрения кода:

  • Обновите страницу каталога, откройте консоль браузера и убедитесь, что запросы AJAX при добавлении товара не отправляются.
  • Попробуйте добавить товар в корзину — страница должна перезагрузиться.
  • Проверьте скорость загрузки страниц с помощью инструментов типа GTmetrix или Google PageSpeed Insights — должно быть улучшение за счет снижения активности AJAX.

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

  • Товар не добавляется в корзину: Проверьте, не блокирует ли тема или другой плагин работу стандартных кнопок. Убедитесь, что код добавлен правильно и активен.
  • Мини-корзина не обновляется после добавления товара: Если мини-корзина остается статичной, это нормальное поведение при отключении AJAX. Для обновления потребуется перезагрузка страницы или кастомные решения.
  • Ошибки JS в консоли: Проверьте, не остались ли вызовы AJAX в кастомных скриптах темы или плагинах. Иногда нужно удалить или адаптировать их под новый режим.

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

  • Отключение AJAX уменьшает нагрузку на сервер, но ухудшает UX — взвесьте необходимость такого решения.
  • Используйте кэширование страниц (например, через WP Rocket или встроенные механизмы хостинга) для ускорения работы после отключения AJAX.
  • Обновляйте WooCommerce и тему, чтобы избежать конфликтов с новыми версиями, особенно если отключаете стандартные скрипты.
  • Проверяйте совместимость с плагинами, которые могут зависеть от AJAX (например, дополнительные модули корзины или оплаты).

Сравнение вариантов отключения AJAX в WooCommerce

МетодОписаниеПлюсыМинусы
Отключение скрипта wc-add-to-cartУдаляет AJAX добавление товара на страницах каталогаПростая реализация, снижает нагрузкуТребуется перезагрузка страницы, ухудшение UX
Удаление AJAX обновления мини-корзиныОтключение динамического обновления мини-корзиныУменьшение запросов к серверуМини-корзина не обновляется без перезагрузки
Использование плагина Clearfy Pro (https://wpshop.ru/plugins/clearfy?utm_source=wpnews.ru&utm_medium=article&utm_campaign=kak-otklyuchit-ajax-v-woocommerce-dlya-povysheniya-proizvoditelnosti)Настройка отключения AJAX и других оптимизаций через UIУдобство, дополнительные инструменты оптимизацииПлатный плагин, возможная избыточность
Как создать поддержку многоязычности в WordPress без плагинов
18.11.2025
Как избежать проблем с AJAX в WordPress при загрузке файлов
23.02.2026
Как добавить автоматическое обновление плагинов в WordPress без помощи коммерческих пакетов
20.12.2025
Как удалить все комментарии с одного поста в WordPress
06.12.2025
Как отложить публикацию постов в WordPress
19.01.2026