47 URL, многофилиальный WordPress-сайт дневного спа за 103 дня
Многофилиальный сайт дневного спа с бронированием Square Appointments для трёх филиалов в Орегоне — 47 URL на 9 шаблонах, 138 ч за 103 дня.
Скриншоты сделаны автоматическими инструментами — некоторые элементы могли не загрузиться полностью или перекрываться. Для наиболее точного представления открыть действующий сайт →
Выстроить URL-структуру по шаблонам агентства, подключить конверсионный элемент, затем закрыть все задачи в QA-очереди.
Клиент (конечный пользователь): Radiant Day Spa — Bend, Oregon (с филиалами в Sisters и Jacksonville)
Формат сотрудничества: White-label разработка для маркетингового агентства из США
Сроки: сентябрь – декабрь 2025 · 103 дня · 138 часов на разработку и длинный хвост правок и обратной связи
Подход к разработке
Wellness-сайт на 47 URL для дневного спа с тремя филиалами в Орегоне — где конверсионным примитивом была не одна контактная форма, а схема бронирования 33 процедуры × 3 филиала со ссылками Square Appointments на каждую услугу. Агентство на тестовой среде заметило, что все кнопки «Book Now» вели на общий список услуг филиала, а не на конкретную процедуру — потребовалась перелинковка каждой процедуры, чтобы гость, листая меню услуг, попадал на правильный Square-виджет.
Краткий обзор
| Поле | Значение |
|---|---|
| Индустрия конечного клиента | Wellness — дневное спа (многофилиальный) |
| Конечный клиент | Radiant Day Spa (Bend · Sisters · Jacksonville, Oregon) |
| Формат сотрудничества | White-label WordPress-сайт для маркетингового агентства из США, специализирующегося на сайтах для локального бизнеса |
| Тип проекта | Однофазный WordPress-сайт на Kinsta с схемой бронирования Square Appointments для трёх филиалов в центральном Орегоне |
| Объём | 47 уникальных URL по 49 строкам карты сайта — главная, лендинг меню услуг, 33 страницы процедур (каждая с пометкой о филиалах, где она доступна), 4 страницы филиалов, 3 страницы About по филиалам, 3 страницы Reviews по филиалам, блог-лендинг + блог, программа лояльности |
| Многофилиальность | Bend · Sisters · Jacksonville (Oregon); механизм маршрутизации: флаг доступности процедуры по филиалам (BD / SS / JV), всплывающий выбор для процедур в двух-трёх филиалах и прямой виджет для однофилиальных |
| Срок | 103 дня (5 сен – 17 дек 2025), сдано в срок |
| Трудозатраты | 138 часов при оценке 138 часов — без перерасхода |
| Команда | 5 специалистов (45 ч разработка · 77 ч тестирование · 15 ч проектное управление · 1 ч поздние правки — QA-тяжёлая пропорция для новой разработки, оправданная длинным хвостом согласования многофилиальной логики, а не типовым дизайн-проходом) |
| Шаблоны | 9 применённых шаблонов из 14-шаблонной библиотеки агентства — Homepage, Services Lander (лендинг меню услуг), Service Page, Location, About Us, Reviews, Blog Lander, Blog, Loyalty Program. Шаблон Doctor Page не применялся — на сайте дневного спа нет врачей. |
| Технологии | WordPress · Kinsta · Rank Math Pro · WP Rocket · Square Appointments (виджет бронирования, один на филиал) · Figma (дизайн-макеты) · Site Checker (плагин QA от xaverPRO) |
| Сдано | 47 уникальных URL на 9 шаблонах, многофилиальная схема бронирования с виджетами Square Appointments по филиалам, 24/30 пунктов контрольного списка запуска согласовано, две QA-очереди задач (очередь ошибок DEV: 26/49 Completed; очередь ошибок CX: 19/51 Completed/closed) параллельно отработаны в длинном хвосте клиентской обратной связи |
| Динамика взаимодействия | 49 задач от агентства · 46 из 49 закрыты к передаче (26 активных дней, 2025-10-11 – 2025-11-05) |
| Раунды проверки | ≈7 раундов за 103 календарных дня |
| Трудозатраты на задачу | 115 внутренних Redmine-задач · медиана 22 мин / P75 36 мин на задачу |
| Контрольный список запуска | 24/30 пунктов, согласовано перед переключением |
Постановка задачи
Маркетинговое агентство из США, нанятое Radiant Day Spa — Wellness-практикой с тремя филиалами в центральном Орегоне (Bend, Sisters и Jacksonville) — передало нам таблицу Google Sheets с картой сайта на 49 строк (47 уникальных URL), 14-шаблонную библиотеку в Figma, контрольный список запуска на 30 строк с колонками Development / Pre-Launch / Both, вкладку AutoQA Setup для проверки тестовой среды и две пустые вкладки очередей задач (DEV — для задач разработчиков, CX — для клиентского опыта).
Сайт разворачивался на Kinsta-окружении агентства; SEO — Rank Math Pro; производительность — WP Rocket; а конверсионный примитив — то, ради чего посетитель заходит на сайт, — набор виджетов Square Appointments, по одному на филиал. Figma содержала дизайн главной и страниц процедур.
Задача была однофазной разработкой с длинным хвостом согласования: построить все 47 URL в девяти шаблонах агентства; реализовать многофилиальную логику бронирования так, чтобы кнопка «Book Now» каждой процедуры вела на правильный виджет (прямая ссылка для услуг, доступных только в одном из Bend / Sisters / Jacksonville, и всплывающий выбор для услуг в двух-трёх филиалах); затем, в течение нескольких недель на тестовой среде, параллельно отработать очереди задач DEV и CX и закрыть контрольный список запуска.
Стратегия, тексты, меню услуг, голос бренда и коммуникация с клиентом оставались за агентством. Наша задача — исполнение: шаблоны, вёрстка страниц, логика бронирования, подход к QA, никакой импровизации в текстах или дизайне.
Контекст рисков. Сайт дневного спа зарабатывает на бронировании: гость листает меню процедур, выбирает филиал и попадает в календарь Square — без смены вкладки, неверного перехода и незагрузившегося попапа. Три филиала утраивают число точек входа, а доступность процедур по разным филиалам ещё умножает их.
Риск, от которого агентство страховалось white-label-партнёром, был не в том, сможет ли кто-то собрать страницы на Kinsta, а в том, приведёт ли запись на боевом сайте гостя из Sisters, нажавшего «Book Now» на процедуре в Sisters и Bend, к правильному виджету Square — без того, чтобы агентство или конечный клиент держали эту логику в голове. Главный риск разработки — непрерывность записи при работе по нескольким филиалам; бриф был составлен так, чтобы именно это стало основной задачей, а не примечанием на полях.
Это была новая разработка «с нуля», без унаследованных URL и без миграции. Здесь нет «состояния до», которое можно сравнить, нет позиций в выдаче, которые нужно сохранить, нет карты редиректов. Есть таблица Google Sheets, которую составило агентство, есть тестовая среда, которую мы построили по ней, и есть боевой сайт, который был введён в эксплуатацию.
Как мы это сделали
1. Девять шаблонов, 47 URL, один процесс. URL Radiant Day Spa распределились по девяти из 14 стандартных шаблонов агентства: Homepage (1), Services Lander — лендинг меню услуг (1), Service Page (33 — самый объёмный, по одному на процедуру), Location (4), About Us (3 — по одному на филиал), Reviews (3 — по одному на филиал), Blog Lander (1), Blog (1), Loyalty Program (1).
Каждый URL был построен на назначенном шаблоне по строке карты сайта; ничего не делалось вручную вне шаблонной системы. В библиотеке агентства есть также шаблон Doctor Page — уместный на медицинском сайте, но не на сайте дневного спа, где конверсионные страницы — это меню процедур, а не профили специалистов, — и мы его не применяли.
2. Таблица Google Sheets — это контракт, включая оценку часов по строкам. Во вкладке Sitemap таблицы Google Sheets каждая строка содержала оценку часов (главная — 12 часов, About Us — по 0,5 ч, страницы процедур — обычно 1 ч, лендинг услуг и страницы филиалов — дороже). Сумма этих значений составляла оценку разработки; проектная оценка в 138 часов включала эту сумму плюс бюджеты на QA, проектное управление и согласование после тестовой среды. И то, и другое сошлось с фактическими затратами.
Дисциплина здесь простая: на разработке с предварительно оценённой картой сайта задача команды — уложиться в построчные бюджеты, а не переоткрывать ценообразование страницу за страницей. Мы выдержали цифры и сообщали о сюрпризах агентству, а не поглощали их молча в следующей строке.
3. Многофилиальная схема бронирования. Это была ключевая индивидуальная разработка в проекте. Каждая из 33 процедур содержала флаг доступности по филиалам — BD (Bend), SS (Sisters), JV (Jacksonville) или их комбинацию. Механизм «Book Now» работал по-разному: для услуги в одном филиале — прямая ссылка на Square-виджет этого филиала; для двух-трёх филиалов — всплывающий выбор с вариантом для каждого, и каждый вариант с собственным Square-кодом. Мы реализовали матрицу один раз по спецификации агентства, вывели её в шаблон Service Page через небольшой набор произвольных полей, привязанных к флагам BD/SS/JV, и затем отстаивали её через обе QA-очереди задач, пока агентство добавляло, удаляло и перемаркировало процедуры в длинном хвосте.
Мы выбрали подход с произвольными полями, а не отдельные страницы для каждой процедуры по филиалам, потому что таблица Google Sheets содержала 33 процедуры с пересекающимися флагами — хранение каждой процедуры на одном URL с маршрутизацией в произвольных полях удержало количество шаблонов на уровне 9, а не умножило его на число филиалов, предлагающих каждую услугу. Виджет бронирования — Square Appointments — находится в строке «Технологии» раздела «Краткий обзор» не случайно: на Wellness-сайте это конверсионный примитив, как Gravity Forms на медицинском сайте.
4. Два параллельных QA-цикла через длинный хвост обратной связи на тестовой среде. Задачи отслеживались в двух очередях задач агентства: очередь задач разработки (вкладка «Ошибки DEV») — для задач, влияющих на разработку (регрессии вёрстки, битые ссылки, отсутствующие строки контента, замены изображений, пограничные случаи схемы бронирования по мере их выявления). Очередь задач CX (вкладка «Ошибки CX») — для задач на стороне аккаунта агентства (правки текстов, запросы на замену изображений, коррекция голоса бренда, контентные запросы по филиалам, направляемые конечному клиенту).
Из 49 DEV-задач 26 закрыты как Completed; 10 в QA (ожидают подтверждения агентства или конечного клиента), 9 To Do, 3 In Progress, 1 зависла на Info Needed к моменту передачи. Из 51 CX-задачи 19 закрыты как Completed (ещё одна отмечена как закрытая); 15 в QA, 3 To Do, 1 In Progress, 13 на Info Needed в ожидании решений агентства или конечного клиента. Контрольный список запуска на 30 строк — Development / Pre-Launch / Both — закрыт на 24 согласованных пункта, оставшиеся шесть также зависели от тех же Info Needed-ожиданий.
Задача #1222 — «Логика Book Now» — стоила 14 часов при оценке 4 часа, перерасход в 3,5 раза, который показывает, где на самом деле была нагрузка проекта. Согласование схемы бронирования, а не вёрстка страниц, потребовало основного времени; две параллельные QA-очереди задач, работавшие рядом с ним 103 дня, удерживали все остальные правки в открытом доступе, а не откладывали их в тихую очередь задач.
Результаты
| Метрика | Результат |
|---|---|
| Разработано URL | 47 уникальных URL на 9 шаблонах (1 Homepage · 1 Services Lander · 33 Service Page · 4 Location · 3 About Us · 3 Reviews · 1 Blog Lander · 1 Blog · 1 Loyalty Program) |
| Применено шаблонов | 9 / 14 из стандартной библиотеки агентства для локального бизнеса — только те, которые реально потребовались по карте сайта; шаблон Doctor Page обоснованно отсутствует на сайте дневного спа |
| Многофилиальная схема бронирования | 33 процедуры × 3 филиала (BD / SS / JV) с виджетами Square Appointments по филиалам, всплывающим выбором для двух- и трёхфилиальных процедур и прямым виджетом для однофилиальных |
| Очередь задач DEV (вкладка «Ошибки DEV») | 26 / 49 закрыты как Completed; 10 в QA, 9 To Do, 3 In Progress, 1 Info Needed |
| Очередь задач CX (вкладка «Ошибки CX») | 19 / 51 закрыты как Completed/closed; 15 в QA, 3 To Do, 1 In Progress, 13 Info Needed (в ожидании решений агентства или конечного клиента) |
| Контрольный список запуска | 24 / 30 пунктов согласовано по колонкам Development / Pre-Launch / Both; оставшиеся шесть привязаны к тем же ожиданиям статуса «Info Needed» во вкладке CX |
| Срок | 103 дня (5 сен – 17 дек 2025), сдано в срок |
| Трудозатраты | 138 ч / 138 ч оценка — без перерасхода, без расширения объёма |
| Статус сайта | Работает на Kinsta, открывается по адресу https://www.everberadiant.com/ — проверено в апреле 2026. |
Результат, если коротко: 47-URL многофилиальный сайт дневного спа для агентства сдан на 9 шаблонах на Kinsta в рамках бюджета 138 часов. Две QA-очереди задач работали параллельно через длинный хвост согласования; 45 из 100 заведённых задач закрыты как Completed до окончания нашей работы, остальные разделены между текущим QA и ожиданиями статуса «Info Needed» решений агентства или конечного клиента. Контрольный список запуска закрыт на 24 из 30 согласованных пунктов; боевой сайт введён в эксплуатацию в конце 103-дневного окна.
Контроль качества
Перед первой проверкой агентства на исходной сборке был запущен Site Checker — QA показал открытые замечания («надо чекера и исправить косяки», чат #963, 2025-09-23) — а проход агентства после передачи затем выявил #1222, показавшую, что все кнопки «Book Now» в матрице из 33 процедур вели на общий список услуг филиала в Square, а не на URL конкретной процедуры.
QA перед сдачей прошёл через Site Checker — см. наш подход к QA с категориями и принципом нулевых ошибок. Собственный QA агентства — их инструменты, их процесс — работал после передачи и добавлял задачи в общую очередь задач для нашего цикла исправлений до согласования.
Процесс
| Фаза | Длительность | Результат |
|---|---|---|
| Бриф и оценка | ~1 неделя | Таблица Google Sheets проанализирована, построчные часы подтверждены по вкладке Sitemap (49 строк), оценка 138 ч согласована |
| Фаза разработки (URL + шаблоны) | ~5 недель | Все 47 URL построены на 9 шаблонах в тестовой среде на Kinsta; первые DEV-задачи открыты по тестовой среде |
| Многофилиальная схема бронирования | ~2 недели (параллельно) | Матрица 33 процедуры × 3 филиала реализована через виджеты Square Appointments по филиалам плюс всплывающий выбор; защищалась через правки во вкладке CX |
| Хвост согласования (DEV + CX QA) | ~6 недель | Обе очереди задач отработаны параллельно; приоритетные CX-задачи (замена изображений, правки текстов, регрессии мобильной вёрстки, пограничные случаи схемы бронирования) закрыты в первую очередь |
| Контрольный список запуска + сдача | последняя ~1 неделя | Контрольный список на 30 строк согласован на 24 пункта; переключение; боевой сайт на https://www.everberadiant.com/ |
Фазы значительно перекрываются — работа над схемой бронирования началась до завершения первого прохода по всем Service Page, а хвост согласования DEV/CX шёл параллельно с ними, поэтому 103 календарных дня существенно меньше суммы длительностей отдельных фаз.
Команда
Команда проекта
- Никита Тумашевич — ведущий разработчик в фазе сборки и реализации многофилиальной схемы бронирования
- Павел Сажин — QA-итерации и правки в обеих очередях задач DEV и CX
- Тимур Арбаев — поддержка QA, основная ответственность за длинный хвост согласования (крупнейший QA-вклад в проекте)
- Людмила Травкина — QA-проход и координация до сдачи проверки
- Антон Херсун, xaverPRO — руководитель проекта (оценка, коммуникация с агентством, согласование)
Проектное управление со стороны агентства и коммуникация с клиентом оставались за партнёрским агентством на всём протяжении. Наша команда была невидима для конечного клиента. Тексты меню услуг, голос бренда, расположение филиалов и продуктовые решения по потоку бронирования — за агентством; реализация этих решений в многофилиальном WordPress-сайте — за нами.
Агентствам, заказывающим разработку WordPress
На сайте дневного спа таксономия услуг задаёт не только URL — она диктует схему бронирования и цены, которые агентство закладывает клиенту в отчёт. У этой практики — каталог процедур на одну локацию с временными слотами; у других — сетевая архитектура с пакетами и абонементами. Последствия сбоя: новая услуга на втором месяце потребует пересборки URL-схемы. Интеграция календаря бронирования с CRM агентства отвалится при обновлении прайс-листа. Структурированная разметка с ценами не доедет до продакшена — расширенные результаты пропадут из аудит-панелей.
Подрядчику стоит задавать не вопрос «соберёте ли каталог услуг?», а вопрос «как именно вы построите таксономию так, чтобы следующая услуга встала без миграции URL и цен?»
Пришлите рабочую таблицу сборки, черновик карты сайта или макеты. Мы примерим таксономию к трём сценариям расширения — проверим, выдержит ли URL, не сломается ли прайс-лист, уцелеет ли воронка бронирования. Вернём фиксированную смету в часах. Аудит без оплаты, ответ в течение рабочего дня.
У вас ещё нет ТЗ? Пришлите описание в один абзац — мы вернёмся с вопросами, которые стоит задать. Прислать описание →