Демо-проект

Правки на WordPress: стенд мастерской «Волокно»

Рабочий сайт в Docker, который можно править, ломать и пересобирать одной командой.

сборка стенда, контент, съёмка · WordPress · Docker · MariaDB · PHP · WP-CLI

в работеСтенд рабочий, кадры сняты, но README дважды расходится с...

5 сценариевс одной сборки контента
1 командаподнимает сайт с нуля, контент в файлах
7 страници журнал из четырёх записей
29 кадровготовых, в десяти сериях
3 тарифавместо прайса из девяти строк
Первый экран демо: Правки на WordPress: стенд мастерской «Волокно»

Задача

Услугу «поправлю сайт на WordPress» продают кадрами: заказчик хочет увидеть, как выглядит правка, а не прочитать про неё. Чужие сайты в кадр брать нельзя, стоковые скриншоты ничего не доказывают, а «тестовая страница 1» на белом фоне выглядит хуже, чем отсутствие примеров.

Нужен свой WordPress, на котором можно снимать что угодно: править страницы, замерять скорость, включать магазин, ронять сайт и чинить его, гонять заявки в CRM. При этом сайт должен выглядеть как обычный небольшой клиентский - с живым текстом, ценами и журналом, а не как демо-заготовка.

Здесь описан сам стенд: сайт вымышленной столярной мастерской «Волокно» и типовая правка на нём. Компания придумана, задача взята настоящая.

Решение

  • Два контейнера: WordPress 7.1 на PHP 8.3 и MariaDB 12.3. Сайт стартует только после того, как база пройдёт healthcheck, а разовый сервис setup дожидается ответа сайта по HTTP, собирает содержимое через wp-cli и завершается сам.
  • Контент описан файлами в setup/content, а не введён руками в админке: 7 страниц, журнал из четырёх записей по трём рубрикам, меню в шапке, подвал в три колонки и собственный шаблон ленты журнала. Поэтому сборка повторяема: down -v и up -d дают тот же сайт заново, а повторный up -d содержимое не трогает - скрипт проверяет wp core is-installed и выходит.
  • Ниша выбрана свободной от остальных демо портфолио: мебель из массива на заказ. Русская локаль ядра, стандартная Twenty Twenty-Five без сборок и конструкторов, ссылки вида /uslugi/, часовой пояс Europe/Moscow и дата вида «5 августа 2026».
  • Типовая правка заготовлена в обе стороны: устаревшая таблица прайса из девяти строк и блок из трёх тарифов - «Замер и проект», «Изделие под ключ», «Кухня целиком». Оба состояния лежат отдельными файлами, поэтому кадр «до/после» снимается когда угодно, а откат делается одной командой wp post update.
  • Дальше на стенде живут ещё четыре сценария. Магазин на WooCommerce, авария с белым экраном и починка, связка формы с CRM - эти три на том же экземпляре. Замер скорости идёт на отдельной копии стенда на порту 8182 из тех же файлов контента: правки ради замера трогают все страницы сразу, а основной стенд в это время нужен другим сериям кадров.

Детали, которые легко не заметить

  • Админка подготовлена к съёмке заранее. Аккаунт называется editor, а отображается как «Редактор» - этим же именем подписаны записи журнала, поэтому личного в кадр не попадает; сам угол админ-бара при съёмке скрывается селектором. Приветственные окна редактора блоков и полноэкранный режим погашены через wp_persisted_preferences, иначе первым кадром админки получается модалка «Добро пожаловать».
  • Akismet и Hello Dolly удаляются при сборке - иначе в кадр лезет плашка «введите ключ API». Демо-запись «Привет, мир!» и «Пример страницы» тоже удаляются: на скриншотах не должно быть следов свежей установки.
  • Ни телефона, ни почты, ни адреса нет ни на одной странице. Ретушировать в кадре нечего, а вымышленные контакты никого не подставят.
  • Цены и сроки в трёх тарифах не выдуманы: каждая цифра взята из той же таблицы прайса, которую блок заменяет. На кадре «до/после» цифры сходятся.
  • README стенда в двух местах расходится с кодом, и оба расхождения оставлены как есть. Первое: README обещает, что сайт слушает только localhost, а compose пробрасывает порт 8181 на все интерфейсы. Второе: README обещает, что нужный файл меню выбирают оба скрипта, а на деле это умеют только скрипты магазина - скрипт формы заявки переписывает меню целиком, поэтому включённый раньше формы магазин теряет из шапки свой пункт. Отдельный аудит стенда поймал первое расхождение и записал его в отчёт находкой; про меню в отчёте нет ни слова. Все десять находок аудита пока стоят в плане работ, ни одна не закрыта. Оставить расхождения видимыми честнее, чем тихо переписать документацию и сделать вид, что их не было.

Соседние проекты