Вход в аккаунт

Войдите в свой аккаунт WooDev

или

Войти через сервис

Корзина

Корзина пуста

Перейти в каталог
Гайды

Checkout Blocks или классический checkout WooCommerce: что выбрать магазину

Сравнение 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 или не уверены, почему текущая форма ведёт себя нестабильно, начните с аудита совместимости. Зафиксируйте используемые поля, оплату, доставку и хуки, а затем проверьте их на копии сайта. Для сложного магазина это обычно быстрее и дешевле, чем искать проблему уже после падения конверсии.

Посмотреть плагины WooDev для WooCommerce

Читайте также