Быстрые ссылки

WooCommerce: настройка магазина, оплата ЕРИП/bePaid и типичные ошибки корзины

WooCommerce превращает сайт на WordPress в интернет-магазин. Для небольшого и среднего ассортимента это разумный выбор: один админ-интерфейс для сайта и магазина, много специалистов, понятная логика. Ниже — настройка по шагам для магазина в Беларуси и разбор ошибок, из-за которых покупатели не могут оформить заказ.

Базовые настройки

Общие

В WooCommerce — Настройки — Общие:

  • Адрес магазина — реальный адрес, он используется в расчётах доставки и налогов.
  • Страны продажи — только те, куда вы реально доставляете. Лишние страны в списке путают покупателей.
  • Валюта — белорусский рубль (BYN), положение символа справа с пробелом, разделитель дробной части — запятая, количество знаков после запятой — 2.

Товары

  • Единицы веса — кг, размеров — см. Без веса не будет работать расчёт доставки по API.
  • Включите управление запасами, если ведёте остатки, и задайте порог «мало на складе».
  • Решите, показывать ли товары, которых нет в наличии. Для SEO обычно лучше оставить карточку с пометкой «нет в наличии», чем удалять страницу.

Налоги

Если цены в каталоге указаны с НДС и вы не считаете налог отдельно, налоги можно не включать. Если включаете — укажите «Цены вводятся с налогом» и проверьте итог в корзине на нескольких товарах.

Доставка

Доставка настраивается через зоны: WooCommerce — Настройки — Доставка — Добавить зону.

  1. Зона «Минск» — самовывоз (бесплатно) и курьер (фиксированная цена, бесплатно от порога).
  2. Зона «Беларусь» — Европочта или Белпочта, фиксированная цена или расчёт модулем.
  3. Зона «Россия», если отправляете, — СДЭК через модуль с расчётом по 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.

Оформление заказа зависает или выдаёт ошибку

  1. Откройте консоль браузера и вкладку Network, нажмите «Подтвердить заказ».
  2. Найдите запрос ?wc-ajax=checkout и посмотрите ответ. В нём будет текст ошибки или HTML вместо JSON — признак PHP-ошибки.
  3. Посмотрите журнал 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

  1. Валюта, страны продажи, единицы измерения настроены.
  2. У всех товаров есть цена, вес, наличие.
  3. Зоны и методы доставки проверены для разных адресов.
  4. Онлайн-оплата проверена в тестовом и боевом режиме.
  5. Письма приходят и не попадают в спам.
  6. Корзина и оформление исключены из кэша.
  7. Тестовый заказ с телефона прошёл полностью.
  8. Политика конфиденциальности, условия доставки и возврата опубликованы.
  9. Метрика с электронной коммерцией передаёт заказы.

Частые вопросы

Подойдёт ли WooCommerce для магазина на 10 000 товаров?

Да, при нормальном хостинге, объектном кэше и аккуратном выборе плагинов. На дешёвом виртуальном хостинге такой каталог будет медленным.

Можно ли подключить обмен с 1С к WooCommerce?

Да, через плагины обмена по протоколу CommerceML. Настройка зависит от конфигурации 1С. Подробнее — в статье об интеграции с 1С.

Почему заказы есть, а оплаты в статусе «Ожидание оплаты»?

Обычно не доходит уведомление от платёжной системы: неверный адрес callback, блокировка его защитой сайта или кэшем. Проверьте журнал платёжного плагина.

Сколько стоит магазин на WooCommerce?

Интернет-магазин на OpenCart или WooCommerce с оплатой — от 450$, срок от 3 недель. Точная цена зависит от количества товаров и интеграций.

Нужна помощь?

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

Доработка WordPress и WooCommerceНаписать в TelegramНаписать в Viber

Leave a comment