Если WooCommerce пишет, что нет доступных способов доставки, чаще всего адрес покупателя не соответствует настроенной зоне или условию.
Проверяйте на конкретном товаре и адресе: одна и та же настройка может работать для Москвы, но не области, или только для товаров без определённого класса.
Как проявляется проблема
- нет ни одного метода
- самовывоз есть, курьера нет
- метод пропадает с отдельным товаром
- тариф появляется после индекса
- API перевозчика не возвращает цену
Основные причины
1. Порядок зон
WooCommerce выбирает первую подходящую зону, поэтому широкое правило может перехватить адрес.
2. Адрес не соответствует зоне
Регион, индекс или страна не входят в покрытие.
3. Класс доставки
Для товара задан класс, который не поддерживает метод.
4. API перевозчика
Таймаут или ключ оставляет checkout без тарифа.
5. Условия суммы/веса
Плагин скрывает метод, если корзина не соответствует правилу.
Пошаговая диагностика
Шаг 1. Зафиксировать тест
Один товар, конкретный адрес, сумма и вес позволяют воспроизводить результат.
Шаг 2. Проверить зоны сверху вниз
Убедитесь, что адрес попадает именно в ожидаемую зону.
Шаг 3. Проверить классы
Сравните товар, где доставка есть, и где она пропадает.
Шаг 4. Включить лог интеграции
Посмотрите запрос и ответ внешней службы.
Шаг 5. Исключить checkout из кеша
Расчёт доставки должен быть персональным.
Как исправить
Упростить зоны
Сделайте географию правил понятной и не перекрывающейся без необходимости.
Добавить fallback
При недоступности внешнего API полезен резервный способ доставки или понятное сообщение.
Проверить вес и размеры
Перевозчик может не рассчитать товар без обязательных параметров.
Что важно не делать
- Не меняйте сразу несколько настроек: после каждого действия проверяйте результат.
- Перед правками файлов и базы сделайте резервную копию.
- Не отключайте защиту, кеш или обновления навсегда только ради временного обхода ошибки.
- На интернет-магазине проверяйте решение не только под администратором, но и как обычный посетитель.
Когда нужна помощь разработчика
Если проблема повторяется, затрагивает продажи, заявки или индексацию, сохраните время ошибки и журналы сервера. Это позволяет найти первопричину вместо временного обхода.
Нужна диагностика? Можно обратиться за технической поддержкой WooCommerce.
Связанные статьи
Часто задаваемые вопросы
Почему метод появляется после индекса?
Некоторые API определяют тариф именно по почтовому индексу.
Может промокод скрыть доставку?
Да, если метод зависит от суммы корзины до или после скидки.
Что если API иногда не отвечает?
Нужны таймаут, логирование и резервный сценарий.