Checkout Blocks или классический checkout WooCommerce: что выбрать магазину
Checkout Blocks выглядят современно, аккуратно и хорошо вписываются в новый редактор WooCommerce. Но у этой формы есть цена: она построена на React, поэтому привычная кастомизация через PHP-хуки и шаблоны переносится туда не напрямую. Классический checkout на шорткоде выглядит менее эффектно, зато его обычно проще адаптировать под реальные процессы магазина.
В чём разница
Если у магазина стандартная оплата, простая доставка и почти нет нестандартных полей, Checkout Block стоит протестировать. Он удобен для нового проекта и хорошо подходит, когда важнее современный интерфейс и настройка страницы через редактор.
Если же в checkout есть дополнительные поля, сложные условия доставки, локальный платёжный шлюз, кастомные подсказки или интеграции через PHP-хуки, безопаснее начинать с классического варианта. Это страница с шорткодом [woocommerce_checkout], которую можно привычно дорабатывать через хуки, шаблоны, CSS и JavaScript.
С WooCommerce 8.3 Cart и Checkout Blocks стали вариантом по умолчанию для новых страниц магазина. Это не означает, что существующий магазин нужно срочно переводить на блоки. Выбор должен зависеть от совместимости и способов кастомизации, а не только от внешнего вида.
Почему Checkout Blocks сложнее кастомизировать
Классический checkout собирается вокруг серверного HTML, PHP-шаблонов и набора WooCommerce-хуков. Поэтому разработчик может добавить поле, изменить порядок вывода, показать пояснение перед оплатой или подключить условие для конкретного способа доставки. В зависимости от задачи часть изменений делается в теме, часть — в собственном плагине или расширении.
Checkout Block работает иначе. Он получает данные через Store API и отображает интерфейс на стороне клиента. Для расширения блока часто нужны JavaScript-код, регистрация интеграции и React-компонент. Официальная документация WooCommerce прямо отмечает, что многие старые хуки checkout в блоках не поддерживаются. Например, фильтры, которые меняют аргументы или HTML стандартных полей, не работают с Checkout Block напрямую.
Отсюда и возникает типичная ошибка ожиданий. В редакторе можно увидеть красивый блок, добавить его на страницу и решить, что дальше достаточно обычного PHP-сниппета. Но если сниппет рассчитывает на структуру классической формы, его код может не сработать, сработать частично или потребовать отдельной блочной реализации.
Когда Checkout Block имеет смысл
Checkout Blocks разумно выбирать, если магазин близок к стандартной конфигурации WooCommerce. Покупателю нужны обычные адресные поля, несколько способов оплаты, типовые варианты доставки и понятный мобильный интерфейс. В таком сценарии блок может сократить количество ручной верстки и дать аккуратную базовую форму.
Блоки также удобны для нового магазина, где ещё нет большого слоя старых доработок. Если вы заранее проверяете платёжный и доставочный плагины, то можете сразу строить checkout на поддерживаемой архитектуре. Для команды это иногда проще, чем начинать с шорткода, а потом постепенно переписывать всю форму.
Но слово «поддерживает» здесь нужно понимать буквально. Плагин должен быть протестирован именно с Cart и Checkout Blocks. Сам факт, что он работает с WooCommerce, ещё не доказывает, что его поля, расчёты и интерфейс корректно работают внутри блока.
Когда классический checkout безопаснее
Шорткодный checkout чаще оказывается практичнее для магазина с нестандартной логикой. Например, если нужно добавить поле ИНН, изменить подпись адреса, спрятать часть полей для определённого способа оплаты или вставить подсказку рядом с доставкой. Особенно осторожно стоит относиться к переходу, если эти изменения уже сделаны через woocommerce_checkout_fields, woocommerce_form_field и другие классические точки расширения.
То же относится к доставке и оплате. В магазине могут использоваться плагины СДЭК, Почты России, Т-Банка, Яндекс Доставки, а также ЮKassa, CloudPayments или внутренний модуль расчёта. Даже если основной способ оплаты появляется в блоке, это ещё не гарантирует, что корректно отработают дополнительные поля, выбор пункта выдачи, динамический пересчёт и передача данных в заказ.
В таких проектах шорткод не означает «устаревший и плохой checkout». Это контролируемая точка интеграции. Если форма уже приносит заказы, а её поля и сценарии понятны команде, переход на блоки должен решать конкретную проблему, а не быть самоцелью.
Что сравнить перед переходом
| Критерий | Checkout Block | Классический checkout |
|---|---|---|
| Внешний вид | Современный интерфейс и редактирование блоками | Базовый интерфейс, который нужно дорабатывать отдельно |
| PHP-хуки checkout | Часть хуков не поддерживается | Основной способ расширения формы |
| Дополнительные поля | Нужна поддержка Block API или отдельная интеграция | Обычно проще добавить через хуки и плагины |
| Платежи и доставка | Нужно проверять совместимость конкретного расширения | Чаще работает с существующими интеграциями |
| Глубокая кастомизация | Требует JavaScript/React и знания блочной архитектуры | Доступны PHP, шаблоны, CSS и JavaScript |
Как проверить совместимость без риска для продаж
Не меняйте checkout на боевом магазине перед распродажей или рекламной кампанией. Сначала сделайте резервную копию и разверните staging-копию. Затем сохраните текущую страницу с шорткодами, чтобы к ней можно было быстро вернуться.
На staging создайте копию checkout с блоком и пройдите несколько реальных сценариев. Проверьте обязательные поля, промокод, разные адреса, расчёт доставки, каждый важный способ оплаты, письма и страницу заказа. Если магазин использует самовывоз, пункты выдачи или динамический пересчёт, их нужно проверять отдельно. Обычный тест «страница открывается» для checkout недостаточен.
После этого посмотрите не только на интерфейс, но и на результат в заказе. Сохранились ли дополнительные поля? Передались ли комментарии? Создался ли заказ с правильным статусом? Ушло ли уведомление? Если хотя бы один критичный сценарий отличается от классической формы, переход нельзя считать завершённым.
Если после перехода пропала оплата, доставка или важное поле, верните страницу на шорткоды [woocommerce_cart] и [woocommerce_checkout]. Сначала восстановите рабочий checkout, затем отдельно разберите совместимость расширения с блоками.
Итог
Checkout Blocks — хороший выбор для стандартного магазина, которому нужен современный интерфейс и минимальный объём ручной кастомизации. Классический checkout на шорткодах — более предсказуемый вариант для магазинов с нестандартными полями, локальными оплатами, сложной доставкой и большим количеством PHP-доработок.
Главный критерий — не то, какая форма красивее на демо. Сначала выясните, какие части checkout уже кастомизированы и поддерживают ли их используемые расширения. Для проектов WooDev это особенно важно: плагины оплаты и доставки находятся прямо в критическом пользовательском сценарии, поэтому совместимость нужно проверять на конкретной связке магазина, темы и расширений.
Что делать дальше
Если вы планируете перейти на Checkout Blocks или не уверены, почему текущая форма ведёт себя нестабильно, начните с аудита совместимости. Зафиксируйте используемые поля, оплату, доставку и хуки, а затем проверьте их на копии сайта. Для сложного магазина это обычно быстрее и дешевле, чем искать проблему уже после падения конверсии.
Поделиться
Читайте также
Как подключить AI к WordPress и WooCommerce через MCP
Как подключить AI к WordPress и WooCommerce через MCP: Abilities API, доступ к данным, OpenRouter, проверка сервера и прав перед запуском.
Почему WooCommerce не показывает способы доставки на checkout
Разбираем, почему WooCommerce не показывает способы доставки на checkout: зоны, порядок зон, shipping class, адрес покупателя, вес, габариты и API перевозчика.
Как настроить электронную коммерцию WooCommerce в Яндекс Метрике
Как подключить официальный плагин Яндекс Метрики, проверить товары, корзину и тестовый заказ WooCommerce, не дублируя счётчик.