Почему не работает корзина WooCommerce на мобильных устройствах и как это исправить

Диагностика проблемы неработающей корзины WooCommerce на мобильных устройствах

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

Основные причины:

  • Кэширование страниц без исключений для корзины и страницы оформления заказа.
  • Конфликты JavaScript из-за мобильных тем или плагинов.
  • Ошибки в AJAX-запросах при добавлении товара в корзину.
  • Некорректные настройки cookies или сессий, особенно при использовании CDN.

Пошаговое решение проблемы с корзиной WooCommerce на мобильных устройствах

1. Проверка и настройка кэширования

Кэширование — самая частая причина неработающей корзины. Нужно исключить из кэша страницы корзины и оформления заказа.

Если используете плагин кэширования (например, WP Super Cache, W3 Total Cache, LiteSpeed Cache), добавьте эти страницы в исключения:

/cart/
/checkout/
/my-account/

Пример для WP Super Cache в файле wp-cache-config.php:

$cache_acceptable_files = array(
    'index.html',
    'cart',
    'checkout',
    'my-account',
);
// Или используйте настройки в админке для исключения URL

2. Проверка консоли браузера на мобильном устройстве

Откройте консоль браузера на мобильном (например, через отладчик Chrome DevTools с включенной опцией remote debugging). Ищите ошибки JavaScript, особенно связанные с WooCommerce AJAX:

  • Ошибки 404 или 500 при запросах admin-ajax.php.
  • Конфликты с jQuery или другими скриптами.

3. Отключение конфликтующих плагинов или тем

Временно переключитесь на стандартную тему WordPress, например, Twenty Twenty-Three, и отключите все плагины, кроме WooCommerce. Проверьте, работает ли корзина на мобильном.

Если заработало — включайте по одному плагину и возвращайте тему, чтобы выявить конфликт.

4. Проверка AJAX-запросов и корректности добавления товаров

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

Добавьте в functions.php вашей темы код для отладки AJAX:

add_action('wp_ajax_add_to_cart', 'debug_add_to_cart');
add_action('wp_ajax_nopriv_add_to_cart', 'debug_add_to_cart');
function debug_add_to_cart() {
    error_log(print_r($_POST, true));
    wp_die();
}

Если в логе сервера нет запросов при клике «Добавить в корзину» на мобильном — проблема с AJAX.

5. Настройка cookies и сессий

Убедитесь, что cookies WooCommerce доступны и корректно настроены. Если используется CDN (Cloudflare, Sucuri и др.), проверьте, что cookie сессий не блокируются и проксируются правильно.

Добавьте в wp-config.php:

define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '/');

Это поможет избежать проблем с доменом cookies на мобильных.

Проверка результата после внедрения решений

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

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

  • Проблема: Кэширование страниц корзины и оформления заказа.
    Решение: Добавить страницы в исключения кэширования.
  • Проблема: Ошибки JavaScript из-за конфликтующих скриптов.
    Решение: Поочередное отключение плагинов, смена темы, исправление ошибок в консоли.
  • Проблема: Неправильные cookie или сессии.
    Решение: Проверить настройки cookies, отключить конфликтующие CDN правила.
  • Проблема: AJAX-запросы блокируются сервером.
    Решение: Проверить настройки сервера, firewall, включить обработку admin-ajax.php.

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

  • Используйте надежный плагин кэширования с возможностью исключения динамических страниц WooCommerce.
  • Обязательно тестируйте сайт на мобильных после установки новых плагинов и обновлений.
  • Настройте защиту от DDoS и ботов, но исключите из правил admin-ajax.php WooCommerce.
  • Оптимизируйте загрузку скриптов — подключайте jQuery и WooCommerce скрипты только на нужных страницах.
  • Рассмотрите использование плагинов, например, Clearfy Pro с сайта Clearfy Pro, для управления кэшированием, очистки дублирующегося кода и оптимизации загрузки.
Как использовать Service Worker для кэширования WordPress на мобильных устройствах
30.03.2026
Как отладить проблемы с отправкой AJAX-форм в WooCommerce на мобильных устройствах
13.06.2026
Как отправлять AJAX формы на мобильных WordPress сайтах без перезагрузки страницы
06.02.2026
Как отладить проблемы с push-уведомлениями в WordPress на мобильных устройствах
03.02.2026
Как удалить заблокированные посты в WordPress
21.11.2025