Алексей Синяев
RU UK ES EN
Навигация по странице статьи

Статья блога · WordPress

Как я создал и выложил кастомную WordPress-тему с AI-агентами меньше чем за 6 часов

Коротко о проекте: код, интерфейс и AI-помощник в одном процессе. Можно ли за один день собрать рабочую кастомную WordPress-тему, развернуть её на шаред-хостинге, добавить мультиязычность и при этом не утонуть в ручной рутине? В…

Опубликовано: March 21, 2026 Обновлено: March 21, 2026 1 мин чтения
Связаться Смотреть кейсы
Иллюстрация с кодом WordPress-темы, готовым сайтом и AI-мотивом
Коротко о проекте: код, интерфейс и AI-помощник в одном процессе.

Можно ли за один день собрать рабочую кастомную WordPress-тему, развернуть её на шаред-хостинге, добавить мультиязычность и при этом не утонуть в ручной рутине? В моём случае ответ оказался положительным.

Я перенёс сайт-портфолио с тяжёлой темы Porto на собственную тему на базе WordPress Bedrock, собрал локальную среду в Docker, подключил Polylang для четырёх языков, выкатил всё на Hostinger и большую часть повторяемой работы отдал Claude Code.

Почему Bedrock, а не обычный WordPress

Bedrock превращает WordPress из набора файлов, которые правят через FTP, в нормальный проект с зависимостями, переменными окружения и воспроизводимой структурой. Для меня это было ключевым решением.

  • Composer управляет ядром, плагинами и темами. Версии фиксируются, а деплой становится предсказуемым.
  • Конфигурация вынесена в `.env` и `config/`. Секреты не лежат в репозитории, а dev и production разделены явно.
  • Своя логика хранится в `web/app/`. Ядро WordPress живёт отдельно, а репозиторий содержит только то, что реально поддерживается.
  • Безопасность лучше по умолчанию. Конфиг и `.env` лежат выше web root.
Диаграмма структуры Bedrock: web/wp, web/app, config и .env
Bedrock сразу разделяет ядро WordPress, код проекта и переменные окружения.

Локальная среда: Docker + Bedrock

Для локальной разработки я использовал Docker с двумя контейнерами: PHP/Apache и MySQL. Это даёт почти такую же среду, как на проде у Hostinger, и экономит время на неожиданных расхождениях между окружениями.

make init
make up
make down
make shell
make wp CMD="plugin list"

Главный плюс здесь не только удобство, а повторяемость. Любой новый разработчик или AI-агент получает одинаковое окружение и одинаковое поведение проекта.

Кастомная тема без JavaScript-фреймворков

Причина отказа от Porto была простой: для сайта-портфолио она слишком тяжёлая. Много JavaScript, jQuery-зависимости, громоздкая вёрстка, лишние HTTP-запросы и слабый контроль над итоговым HTML.

Новая тема строилась вокруг принципа zero-JS where possible: современный CSS, минимальная разметка, локальные ресурсы, никакой зависимости от page builder’ов на фронте.

  • `clamp()` для адаптивной типографики
  • CSS variables для единой системы цветов
  • Grid и Flexbox для сеток
  • отключение jQuery и фронтенд-стилей, которые не используются
Сравнение Lighthouse до и после миграции с Porto на кастомную тему
После миграции страница стала легче, а показатели Lighthouse ушли в диапазон 95-100.

Как сделать весь текст редактируемым

Самая неудобная часть мультиязычного сайта — тексты. Если хранить строки прямо в шаблонах, проект быстро превращается в хаос. Поэтому я вынес все значения в единый конфиг для Customizer.

return [
  'shared' => [...],
  'en' => ['front' => [...]],
  'ru' => ['front' => [...]],
  'uk' => ['front' => [...]],
  'es' => ['front' => [...]],
];

Дальше тема использует helper-функции, которые собирают имя настройки на основе текущего языка Polylang и достают значение через `get_theme_mod()`.

Макет Customizer с общими и языковыми панелями
Структура настроек в Customizer строится из одного конфигурационного файла и масштабируется без ручной рутины.

Polylang и мультиязычность

С Polylang задача была не только в переводе контента, а ещё и в корректных URL. Нужны были чистые префиксы `/ru/`, `/uk/`, `/es/`, а английский должен был остаться языком по умолчанию без префикса.

Самый неприятный баг был связан с `redirect_canonical`, когда WordPress пытался упростить URL и ломал языковой корень. Это было исправлено небольшим must-use плагином, который отключает редирект для валидных языковых root-URL.

Как помог Claude Code

Я не отдавал AI архитектуру. Архитектура, ограничения и проверка были на мне. Но всё, что касалось большого объёма однотипной работы, Claude Code сделал заметно быстрее человека.

  • вынес сотни строк в конфиг Customizer
  • рефакторил несколько шаблонов сразу
  • помог найти точку вмешательства в Polylang и канонические редиректы
  • сгенерировал JSON-LD и техническую обвязку
Терминал с Claude Code, который анализирует файлы и правит проект
AI оказался особенно полезен там, где нужна точность и повторяемость, а не ручной набор кода.

Итоговая экономия времени была существенной. То, что раньше заняло бы несколько дней, уместилось примерно в шесть часов, потому что AI снимал механическую нагрузку, а не подменял инженерное мышление.

Деплой на Hostinger через Git

На проде всё оказалось довольно прямолинейно: SSH, `git pull`, `composer install –no-dev`, проверка сайта. Для Bedrock это естественный путь, потому что весь проект уже собран как приложение, а не как набор случайных правок в админке.

Схема деплоя: локальная разработка, git push и деплой на Hostinger
Git-бейзовый деплой на шаред-хостинг проще и надёжнее, чем ручные FTP-загрузки.

Результаты

  • вес страницы снизился в разы
  • Lighthouse вырос до высоких девяностых
  • JavaScript почти исчез с фронта
  • языки: английский, русский, украинский и испанский
  • тексты стали редактируемыми из админки

Главный вывод для меня такой: в WordPress очень многое становится проще, если сначала продумать структуру проекта, а уже потом писать шаблоны.

Короткий гайд для старта

  1. Поставить Git, Docker и Composer.
  2. Создать проект на Bedrock или клонировать готовый репозиторий.
  3. Поднять локальную среду через `make init`.
  4. Сделать собственную тему в `web/app/themes/`.
  5. Подключить Polylang, настроить языки и проверить URL.
  6. Настроить деплой по SSH и Git вместо ручного FTP.
Десктопная и мобильная версии итогового сайта
Итоговый интерфейс остаётся цельным и быстрым и на десктопе, и на мобильных устройствах.

Вывод

AI-assisted WordPress development уже вполне практичен. Но хороший результат получается не из-за того, что AI «сам всё сделал», а из-за того, что у проекта есть ясная архитектура, понятные ограничения и человек, который умеет принимать технические решения.

Если делать похожий проект сегодня, я снова выбрал бы связку Bedrock, Docker, Polylang и AI-ассистента для рутинной реализации. Эта комбинация хорошо работает и на локальной разработке, и на проде.

Поделиться статьей

LinkedIn X Email

Смотрите также

March 21, 2026

Nginx и Apache для производительности и масштабирования

По мере того как бизнес и аудитория все сильнее уходят в цифровую среду, сайты…

March 21, 2026

Почему безопасность важна в веб-разработке

Как разработчик с многолетним опытом в веб-разработке, я не устаю повторять, что безопасность —…

March 21, 2026

Docker и WordPress для локальной разработки

Docker — это популярная платформа контейнеризации, которая позволяет разработчикам упаковывать и запускать приложения в…