Клиент из Калининграда оформляет заказ, доходит до оплаты — и видит «Для вашего адреса нет доступных способов доставки». Хотя доставка в Калининград настроена. Или наоборот: житель соседнего города выбирает курьера, а в счёте появляется стоимость, рассчитанная по тарифу «по России». Обидно, но причина почти всегда одна и та же: зоны, способы и правила стоимости настроены по отдельности, а не как одна система.
В WooCommerce доставка устроена в три уровня, и путаница начинается, когда их настраивают вразнобой. Разберём каждый уровень и то, как они взаимодействуют.
Уровень первый: зона — это география
Зона отвечает на вопрос «куда». Вы создаёте зону и добавляете в неё регионы, страны, почтовые индексы или конкретные области. Всё, что не попало ни в одну зону, уходит в «Другие регионы» — это зона по умолчанию, и она есть всегда.
Главная тонкость: зоны проверяются по порядку, и срабатывает первая подходящая. Поэтому «Москва» должна стоять выше, чем «Россия», иначе москвич получит условия для всей страны. Порядок в списке зон — не украшение, а логика работы. Если в админке зоны перепутаны, никакие настройки методов не спасут.
Вторая тонкость — зона «Другие регионы» не должна оставаться пустой. Если в ней нет ни одного способа доставки, покупатель из неподходящего региона увидит ту самую ошибку про отсутствие вариантов. Даже если вы не доставляете туда, лучше добавить способ «Самовывоз» или «Уточним по телефону», чем оставлять человека в тупике.
Уровень второй: способ — это как
Внутри зоны вы добавляете способы: фиксированная ставка, бесплатная доставка, самовывоз, а при необходимости — тарифы из плагинов по весу, габаритам или расстоянию. Каждый добавленный способ — это отдельный экземпляр со своими настройками, даже если тип один и тот же. Поэтому «Курьер по Москве» и «Курьер за МКАД» — два разных способа, хотя оба называются «Фиксированная ставка».
Покупатель видит все способы зоны и выбирает один. Это удобно: можно предложить и курьера, и пункт выдачи, и самовывоз. Но если способов слишком много, человек теряется — три-четыре варианта обычно достаточно.
Самовывоз настраивается отдельно, и про него часто забывают две вещи: он должен быть доступен только в той зоне, где есть ваш склад, и у него должны быть указаны адрес и часы работы. Иначе клиент выберет самовывоз и не поймёт, куда ехать.
Уровень третий: стоимость — это правило
Здесь начинается математика. Фиксированная ставка умеет считать не только одно число: в поле стоимости можно использовать переменные — за единицу товара, за вес, процент от суммы корзины. Это позволяет одному способу покрывать разные ситуации без десятка дублей.
Бесплатная доставка — самый частый источник сюрпризов. Она требует условия: минимальная сумма заказа, купон или конкретный товар. И условие это работает не всегда так, как ожидают. Например, бесплатная доставка с порогом 5000 рублей пропадает, если в корзине есть товар со своей shipping class или акционный товар, не участвующий в условиях. Проверяйте порог на реальных комбинациях, а не на одной тестовой позиции.
Shipping class — это класс доставки, который назначается товару. Он позволяет задать отдельную ставку для крупногабаритных, хрупких или негабаритных товаров. Если товар не отнесён ни к какому классу, он считается обычным — и крупная мебель поедет по тарифу за мелкую посылку. Проверьте, что классы назначены всем товарам, где это важно.
Пример: как это выглядит вместе
Допустим, магазин продаёт товары для дома и доставляет по Москве, области и всей России. Настройка может выглядеть так:
| Зона | Способы | Условие стоимости |
|---|---|---|
| Москва | Курьер, самовывоз | Курьер 400 ₽, бесплатно от 7000 ₽ |
| Московская область | Курьер, пункт выдачи | Курьер 600 ₽, ПВЗ 250 ₽ |
| Россия | Почта, транспортная компания | По весу и габаритам товара |
| Другие регионы | Уточнение по телефону | Без расчёта, менеджер свяжется |
Обратите внимание: у каждой зоны свой набор способов, а у способов — свои правила. Это не избыточность, а нормальная структура. Проблемы начинаются, когда зоны дублируются, а правила в них противоречат друг другу.
Где чаще всего ломается
- Зона «Россия» стоит выше «Москвы», и столица получает условия для всей страны.
- В «Других регионах» нет ни одного способа — покупатель видит ошибку.
- У фиксированной ставки пустое поле стоимости, и доставка считается бесплатной.
- Крупногабаритный товар не отнесён к классу доставки и едет по общей ставке.
- Бесплатная доставка от суммы работает, но купон её отключает — и никто не проверил.
- Налог на доставку настроен иначе, чем на товары, и итог в корзине не сходится с ожиданием.
- Виртуальные товары требуют доставки, хотя их не нужно везти.
Каждый пункт легко проверить и легко исправить. Сложность только в том, что проверять надо специально — само это не всплывёт.
Как проверить до запуска
Настройте адреса и пройдите путь покупателя для каждого из них. Не ограничивайтесь одним тестом «Москва, курьер». Нужны как минимум: адрес в основной зоне, адрес в соседней зоне, адрес в дальней зоне и адрес за пределами всех зон. Для каждого проверьте, какие способы видны и какая стоимость появляется в корзине и в письме о заказе.
Отдельно пройдите сценарии с бесплатной доставкой: сумма ниже порога, ровно на пороге, выше порога, с купоном и без. И проверьте товары с классом доставки — они должны считать по своим правилам, а не по общим.
И последнее: убедитесь, что стоимость доставки в заказе совпадает с тем, что видел покупатель. Иногда плагины пересчитывают сумму при оформлении, и клиент видит одну цифру до оплаты и другую — в счёте. Это не мелочь, а повод для возврата и жалобы.
Что в итоге
Доставка в WooCommerce работает правильно, когда три уровня согласованы: зоны не перекрываются в неправильном порядке, в каждой есть хотя бы один способ, а правила стоимости проверены на реальных адресах и суммах. Настройка занимает несколько часов, но экономит дни переписки с клиентами, которые не смогли оформить заказ.
Мы обычно начинаем с карты доставки: какие регионы, какие способы, какие условия. Дальше настраиваем зоны и правила и проверяем всё это на тестовых адресах до запуска. Если у вас уже есть магазин и вы не уверены, что доставка считается верно, — напишите или оставьте заявку. Посмотрим на настройки и скажем, что стоит поправить, чтобы покупатель из любого города видел понятный вариант и не уходил на этапе оформления.
