Верстка темы WP вручную и сборка через конструктор страниц - два разных подхода к результату, а не просто выбор инструмента. За несколько лет работы с WordPress я вижу устойчивую закономерность: сайты, собранные в Elementor или Divi, через год-полтора превращаются в кашу из вложенных секций и мусорного CSS, а темы, сверстанные руками, продолжают работать стабильно даже после смены разработчика. Разница проявляется в скорости загрузки, в цене последующих доработок и в том, сколько раз клиент потом пишет с вопросом «а почему опять всё поехало».
Ручная верстка темы WordPress: что это на практике
При ручной верстке я собираю тему из PHP-шаблонов (header.php, footer.php, page.php, кастомные шаблоны для отдельных разделов), подключаю стили и скрипты через functions.php и использую ACF или нативные блоки Gutenberg там, где клиенту нужно самому редактировать контент. Никакого лишнего кода в разметке - сколько блоков нужно на странице, столько div’ов и появляется.
Для сравнения, вот как выглядит регистрация кастомного блочного стиля в functions.php при ручной работе - компактно и без зависимостей от чужого движка рендеринга:
function kalinkindev_register_block_styles() {
register_block_style( 'core/group', array(
'name' => 'accent-card',
'label' => 'Акцентная карточка',
) );
}
add_action( 'init', 'kalinkindev_register_block_styles' );
В конструкторе то же самое обрастает générик-классами вида elementor-element-a1b2c3d4, инлайн-стилями на каждый виджет и подключением библиотеки самого конструктора весом в несколько сотен килобайт, даже если на странице используется три блока из пятидесяти доступных.
Почему конструкторы страниц превращаются в проблему через полгода
Elementor, Divi и WPBakery продают простоту на старте и counter на дистанции. Я принимал на поддержку проекты, где страница «О компании» весила 4-5 МБ разметки и стилей при трёх абзацах текста и одной галерее. Причина - вложенность: секция внутри секции внутри колонки внутри виджета, и каждый уровень тянет свой набор атрибутов и data-параметров.
Вторая проблема - привязка к плагину. Отключишь Elementor - вся верстка страниц рассыпается на голый текст, потому что разметка хранится в постмете конструктора, а не в стандартном контенте записи. Я видел проекты, где владелец не мог перейти на другую тему годами именно из-за этого: весь контент оказывался заложником одного плагина с платной подпиской.
Третья - конфликты при обновлениях. Конструктор, дочерняя тема, три-четыре плагина для доп.модулей (типа Essential Addons или Ultimate Addons) - и после каждого крупного обновления WordPress что-то из этой связки ломается. На ручной верстке таких зависимостей просто нет: тема использует стандартные хуки и API WordPress, которые меняются гораздо реже и предсказуемее.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Скорость загрузки: цифры, которые я вижу в реальных проектах
На кастомной верстке лендинг с оптимизированными изображениями и минимальным набором скриптов у меня стабильно укладывается в 0,8-1,2 секунды до First Contentful Paint и 85-95 баллов в PageSpeed Insights на мобильной версии. Тот же по содержанию сайт, собранный в Elementor без глубокой чистки, обычно показывает 2,5-4 секунды и 45-65 баллов - просадка идёт из-за подключения css/js файлов конструктора, шрифтовых иконок на 200+ КБ, которые используются на пять иконок, и рендер-блокирующих стилей.
Для SEO это не абстрактная метрика: Google учитывает Core Web Vitals при ранжировании, и на конкурентных нишах (интернет-магазины, услуги в крупных городах) разница в LCP на 1-1,5 секунды реально двигает позиции на странице выдачи. Клиентам с WooCommerce-магазинами я всегда советую проверять скорость карточки товара отдельно - там обычно висит связка из слайдера, галереи и виджетов быстрого просмотра, которые в сумме дают лишние 1,5-2 МБ на страницу.
Верстка WordPress темы под ключ: что входит в разработку с нуля
Когда я беру проект на кастомную верстку, в задачу входит: разметка по макету из Figma, адаптив под три-четыре брейкпоинта, подключение нужных типов записей и таксономий, интеграция с плагинами, которые реально нужны бизнесу (WooCommerce, формы, платёжные шлюзы вроде Т‑Банка, доставка через СДЭК), и базовая настройка кэширования.
Стоимость сайта на WordPress с ручной версткой у меня начинается от 60 000 ₽ - цена зависит от количества уникальных шаблонов страниц и сложности интеграций. Отдельно считается доработка бизнес-логики: например, кастомный расчёт доставки СДЭК или синхронизация остатков с 1С - это уже задачи на автоматизацию, которые я оцениваю отдельно от верстки, обычно от 20 000 ₽ в зависимости от сложности API.
При этом я не обещаю бесплатных доработок после сдачи - если через полгода нужно добавить раздел или поменять структуру каталога, это отдельная задача, которую можно закрыть разовой доработкой или взять на техническую поддержку от 15 000 ₽ в месяц.
Сравнение ручной верстки и конструктора страниц
Свёл в таблицу то, с чем сталкиваюсь на практике чаще всего - не абстрактные плюсы-минусы из документации, а то, что реально влияет на бюджет и сроки:
| Критерий | Ручная верстка темы | Конструктор страниц |
|---|---|---|
| Скорость загрузки | 0,8-1,5 сек, чистый код | 2,5-4 сек из-за библиотек конструктора |
| Вес страницы | 300-800 КБ на типовой странице | 1,5-5 МБ на ту же по контенту страницу |
| Зависимость от плагина | Нет, контент в стандартном формате | Высокая, разметка живёт в постмете конструктора |
| Стоимость доработки через год | Локальная правка шаблона | Часто нужна переверстка секции из-за накопленного мусора |
| Порог входа для правки контента | Нужен разработчик или обучение редактора | Низкий, можно двигать блоки самому |
| Стартовый бюджет | От 60 000 ₽ за сайт на WordPress | Ниже на старте, выше в сумме за 1-2 года поддержки |
Когда конструктор всё-таки уместен
Не буду делать вид, что конструкторы бесполезны везде. Если нужен лендинг под разовую акцию на пару недель, без задачи держать сайт в долгую, - Elementor или конструктор Tilda решают задачу быстрее и дешевле кастомной разработки. Кстати, для быстрых лендингов я и сам чаще советую Tilda: сайт от 30 000 ₽, готовый визуальный редактор, доработки простых блоков от 3 000 ₽. Для сложных интеграций - CRM, эквайринг, СДЭК - на Tilda-скриптах это тоже реально, комплексная интеграция там обычно от 40 000 ₽.
Граница простая: если сайт должен жить больше года, обрастать разделами, каталогом, интеграциями с CRM или ботом в Telegram - ручная верстка темы WP окупается на дистанции за счёт меньшей стоимости поддержки и стабильности при обновлениях WordPress. Если задача - быстро проверить гипотезу или собрать одностраничник под рекламную кампанию, переплачивать за кастом смысла нет.
Корпоративный сайт, каталог, блог
Фронтенд + Бэкенд
от 60 000 ₽
Подробнее →Частые вопросы
Сколько времени занимает ручная верстка темы WordPress по сравнению с конструктором
На простом сайте из 5-7 уникальных шаблонов ручная верстка у меня занимает 2-3 недели против 3-5 дней в конструкторе. Разница компенсируется на этапе поддержки: доработки в кастомной теме занимают часы, а не дни, потому что структура кода предсказуема.
Можно ли перевести сайт с Elementor на ручную верстку без потери контента
Можно, но это отдельный проект, а не «просто выключить плагин». Контент из конструктора нужно вытащить из постмета и перенести в стандартные поля или блоки Gutenberg, а разметку страниц пересобрать с нуля под новую тему. Обычно это занимает от одной до трёх недель в зависимости от числа страниц.
Подойдёт ли ручная верстка для интернет-магазина на WooCommerce
Да, и это как раз тот случай, где разница особенно заметна - карточка товара, корзина и оформление заказа при ручной верстке грузятся в разы быстрее, чем со стандартными шаблонами конструктора поверх WooCommerce. Для магазина такая скорость напрямую влияет на конверсию оплаты, особенно при подключении эквайринга вроде Т‑Банка.
Что дешевле в итоге - конструктор или ручная верстка
На старте конструктор дешевле. Но если считать за 1-2 года с учётом доработок, переверстки секций из-за накопившегося мусора и потерь в скорости для SEO, ручная верстка чаще выходит дешевле именно на дистанции, а не в моменте запуска.