WooCommerce: настройка магазина, оплата ЕРИП/bePaid и типичные ошибки корзины
WooCommerce превращает сайт на WordPress в интернет-магазин. Для небольшого и среднего ассортимента это разумный выбор: один админ-интерфейс для сайта и магазина, много специалистов, понятная логика. Ниже — настройка по шагам для магазина в Беларуси и разбор ошибок, из-за которых покупатели не могут оформить заказ.
Базовые настройки
Общие
В WooCommerce — Настройки — Общие:
- Адрес магазина — реальный адрес, он используется в расчётах доставки и налогов.
- Страны продажи — только те, куда вы реально доставляете. Лишние страны в списке путают покупателей.
- Валюта — белорусский рубль (BYN), положение символа справа с пробелом, разделитель дробной части — запятая, количество знаков после запятой — 2.
Товары
- Единицы веса — кг, размеров — см. Без веса не будет работать расчёт доставки по API.
- Включите управление запасами, если ведёте остатки, и задайте порог «мало на складе».
- Решите, показывать ли товары, которых нет в наличии. Для SEO обычно лучше оставить карточку с пометкой «нет в наличии», чем удалять страницу.
Налоги
Если цены в каталоге указаны с НДС и вы не считаете налог отдельно, налоги можно не включать. Если включаете — укажите «Цены вводятся с налогом» и проверьте итог в корзине на нескольких товарах.
Доставка
Доставка настраивается через зоны: WooCommerce — Настройки — Доставка — Добавить зону.
- Зона «Минск» — самовывоз (бесплатно) и курьер (фиксированная цена, бесплатно от порога).
- Зона «Беларусь» — Европочта или Белпочта, фиксированная цена или расчёт модулем.
- Зона «Россия», если отправляете, — СДЭК через модуль с расчётом по API.
Порядок методов внутри зоны определяет, что будет выбрано по умолчанию. Ставьте первым самый частый вариант. Подробнее о службах доставки — в статье о модулях СДЭК, Европочты и Белпочты.
Оплата
Стандартные способы — «Оплата при доставке» и «Банковский перевод» — включаются сразу. Для онлайн-оплаты в Беларуси используют:
- bePaid — банковские карты, Apple Pay, Google Pay, а также ЕРИП;
- WebPay — карты и ЕРИП;
- прямое подключение ЕРИП через банк или агрегатор.
Для каждого нужен договор с провайдером, после которого вы получаете идентификатор магазина и секретный ключ. Платёжный модуль ставится как обычный плагин, ключи вводятся в его настройках. Подробный разбор подключения — в статье о подключении ЕРИП, bePaid и WebPay.
Главное правило: сначала тестовый режим, тестовые карты провайдера и проверка, что статус заказа меняется после оплаты. Потом боевой режим и платёж на минимальную сумму.
Письма покупателям
WooCommerce отправляет письма о новом заказе, обработке, выполнении, отмене. Проверьте:
- адрес отправителя — на домене магазина, а не gmail;
- отправку через SMTP с SPF и DKIM, иначе письма уходят в спам;
- что в письме есть телефон и способы связи;
- шаблоны писем в WooCommerce — Настройки — Email: тексты по умолчанию переведены, но местами звучат неуклюже.
Почему не работает корзина
Товар не добавляется в корзину
- Кэширование. Плагин кэширования отдаёт страницу, закэшированную для другого посетителя. Страницы «Корзина», «Оформление заказа» и «Мой аккаунт» должны быть исключены из кэша, а для cookie woocommerce_items_in_cart и wp_woocommerce_session_ кэш должен отключаться.
- Ошибка JavaScript. Откройте консоль браузера (F12 — Console) и нажмите «В корзину». Красная ошибка обычно указывает на плагин или тему.
- Отключены AJAX-фрагменты. Некоторые плагины оптимизации отключают скрипт wc-cart-fragments, и мини-корзина в шапке перестаёт обновляться.
Корзина пустеет после перехода на другую страницу
- Проблема с сессиями: сайт открывается то с www, то без, то по http.
- CDN или кэш на уровне сервера кэширует ответы с cookie.
- Неверно указан домен в настройках WordPress.
Оформление заказа зависает или выдаёт ошибку
- Откройте консоль браузера и вкладку Network, нажмите «Подтвердить заказ».
- Найдите запрос ?wc-ajax=checkout и посмотрите ответ. В нём будет текст ошибки или HTML вместо JSON — признак PHP-ошибки.
- Посмотрите журнал WooCommerce — Состояние — Журналы и лог ошибок PHP.
Частые причины — платёжный плагин, который не может связаться с API провайдера, плагин дополнительных полей оформления, нехватка памяти PHP.
Как проверить конфликт плагинов безопасно
На рабочем сайте отключать плагины по одному рискованно. Удобнее:
- сделать копию сайта на поддомене и проверять там;
- или использовать плагин Health Check & Troubleshooting: в режиме диагностики плагины отключаются только для вас, посетители видят обычный сайт.
Производительность
WooCommerce тяжелее обычного WordPress. Что помогает:
- актуальная версия PHP и включённый OPcache;
- объектный кэш (Redis), если хостинг позволяет;
- включённое хранение заказов в отдельных таблицах (HPOS) — в новых установках включено по умолчанию;
- отказ от тяжёлых плагинов фильтров без кэша;
- изображения товаров в WebP с правильными размерами миниатюр.
Подробнее — в статье о скорости сайта.
Удобство оформления заказа
Каждое лишнее поле на странице оформления снижает конверсию. Что стоит сделать:
- оставить обязательными только имя, телефон и адрес (или пункт выдачи);
- убрать поля «Компания», «Адрес, строка 2», «Почтовый индекс», если они не нужны для доставки;
- разрешить оформление без регистрации — аккаунт можно создать автоматически;
- показывать итоговую сумму с доставкой до нажатия кнопки оформления;
- проверить, что на телефоне поле телефона открывает цифровую клавиатуру.
Лишние поля убираются небольшим фильтром в functions.php дочерней темы:
add_filter( 'woocommerce_checkout_fields', function ( $f ) {
unset( $f['billing']['billing_company'], $f['billing']['billing_address_2'], $f['billing']['billing_postcode'] );
return $f;
} );
Набор полей зависит от способов доставки, поэтому после изменения обязательно пройдите оформление с каждым способом.
Обновления WooCommerce
WooCommerce обновляется часто, и крупные обновления меняют шаблоны. Если тема переопределяет шаблоны WooCommerce, в разделе WooCommerce — Состояние появится предупреждение об устаревших копиях шаблонов. Это сигнал проверить корзину и оформление после обновления. Обновляйте на копии сайта, а не сразу на рабочем магазине, — подробнее в статье о безопасном обновлении WordPress.
Безопасность магазина
Магазин хранит данные покупателей, поэтому базовая защита обязательна:
- обновления WordPress, WooCommerce и платёжных плагинов без долгих задержек;
- сложные пароли и отдельные учётные записи для менеджеров с ролью «Менеджер магазина», а не администратора;
- запрет редактирования файлов из админки;
- ежедневные резервные копии базы — в ней заказы;
- HTTPS на всём сайте без смешанного контента.
Данные банковских карт при подключении bePaid или WebPay вводятся на стороне платёжной системы, поэтому сайт их не хранит — это ещё один аргумент в пользу официальных модулей.
Как проверить магазин перед запуском рекламы
Перед тем как вкладывать деньги в рекламу, проведите контрольную закупку. Оформите несколько заказов с разными сценариями: с доставкой курьером и самовывозом, с оплатой картой и при получении, с купоном и без. Для каждого проверьте сумму в корзине, письмо покупателю, письмо администратору и статус в админке. Так вы найдёте ошибки раньше покупателей.
Чек-лист запуска магазина на WooCommerce
- Валюта, страны продажи, единицы измерения настроены.
- У всех товаров есть цена, вес, наличие.
- Зоны и методы доставки проверены для разных адресов.
- Онлайн-оплата проверена в тестовом и боевом режиме.
- Письма приходят и не попадают в спам.
- Корзина и оформление исключены из кэша.
- Тестовый заказ с телефона прошёл полностью.
- Политика конфиденциальности, условия доставки и возврата опубликованы.
- Метрика с электронной коммерцией передаёт заказы.
Частые вопросы
Подойдёт ли WooCommerce для магазина на 10 000 товаров?
Да, при нормальном хостинге, объектном кэше и аккуратном выборе плагинов. На дешёвом виртуальном хостинге такой каталог будет медленным.
Можно ли подключить обмен с 1С к WooCommerce?
Да, через плагины обмена по протоколу CommerceML. Настройка зависит от конфигурации 1С. Подробнее — в статье об интеграции с 1С.
Почему заказы есть, а оплаты в статусе «Ожидание оплаты»?
Обычно не доходит уведомление от платёжной системы: неверный адрес callback, блокировка его защитой сайта или кэшем. Проверьте журнал платёжного плагина.
Сколько стоит магазин на WooCommerce?
Интернет-магазин на OpenCart или WooCommerce с оплатой — от 450$, срок от 3 недель. Точная цена зависит от количества товаров и интеграций.
Нужна помощь?
Если не хочется разбираться самому или не получилось — напишите мне. Посмотрю задачу и скажу, что нужно сделать, сколько это займёт и сколько будет стоить.
Доработка WordPress и WooCommerceНаписать в TelegramНаписать в Viber
