Разработка 27-страничного сайта стоматологии с несколькими филиалами на WordPress за 140 дней
Новая разработка сайта стоматологии с несколькими филиалами: от макетов Figma до WP Engine — 27 страниц, 7 шаблонов, 63 часа, 73 из 75 учтённых SEO-проблем закрыто.
Скриншоты сделаны автоматическими инструментами — некоторые элементы могли не загрузиться полностью или перекрываться. Для наиболее точного представления открыть действующий сайт →
Выстроить URL-структуру по шаблонам агентства, подключить конверсионный элемент, затем закрыть все задачи в QA-очереди.
Клиент (конечный пользователь): Alta Dental Group — Irvine, CA
Формат сотрудничества: White-label разработка для маркетингового агентства из США
Сроки: май – сен 2025 · 140 дней · 63 часа на разработку и исправления
Подход к разработке
27-страничный сайт стоматологии с несколькими филиалами по макетам Figma — две клиники под одним брендом, один домен, свои номера телефонов у каждого филиала. Кнопка звонка, которая на мобильном звонила только в один офис, — потерянная точка конверсии, а не мелкая неточность. Работа заняла 63 часа за 140 дней и шла по двум параллельным очередям QA — 75 SEO-замечаний от агентства и 29 пунктов по CX.
Краткий обзор
| Параметр | Значение |
|---|---|
| Отрасль конечного клиента | Стоматология |
| Конечный клиент | Alta Dental Group (Irvine, CA — два офиса) |
| Формат сотрудничества | White-label разработка WordPress для маркетингового агентства из США, специализирующегося на сайтах для локального бизнеса |
| Тип проекта | Новая разработка WordPress с Elementor на WP Engine, с этапом исправлений и согласования |
| Объём | 27 URL — главная, о нас (2 страницы), контакты, услуги (лендинг), 17 страниц услуг, 4 страницы врачей, страница филиала, а также страница страхования, добавленная в процессе работы |
| Сроки | 140 дней (12 мая – 29 сен 2025), основная разработка и QA завершены в срок |
| Трудоёмкость | 63 часа из запланированных 63 — без перерасхода |
| Команда | 5 специалистов (36 ч разработка · 12 ч QA · 10 ч PM · 5 ч контент и исправления) |
| Шаблоны | 9 переиспользуемых шаблонов — стандартная библиотека шаблонов агентства для стоматологии (About Us, Blog, Blog Lander, Contact Us, Default, Doctor Page, Homepage, Service Page, Services Lander, Smile Gallery) |
| Технологии | WordPress · Elementor Pro · Gravity Forms · WP Engine · Screaming Frog · Site Checker (плагин QA xaverPRO) |
| Результат | 27 URL на 7 активных шаблонах; 73/75 SEO-замечаний закрыто как Completed; 26/29 CX-замечаний закрыто как Completed; согласован контрольный список запуска из 29 пунктов |
| Ритм взаимодействия | 75 замечаний от агентства · все закрыты к сдаче (85 активных дней, 2025-05-28 – 2025-08-20) |
| Раунды проверки | ≈10 раундов за 140 календарных дней |
| Трудоёмкость на задачу | 23 внутренних задачи Redmine · медиана 28 мин / P75 1 ч на задачу |
| Контрольный список запуска | 29 пунктов, согласован до выхода в работу |
Постановка задачи
Маркетинговое агентство из США, нанятое Alta Dental Group — стоматологической практикой с несколькими филиалами в Irvine, работающей под единым брендом — передало таблицу Google Sheets с полной картой URL, дизайн-файл Figma, каталог шаблонов, контрольный список запуска и предзаполненные QA-очереди задач. Разработка велась на их окружении WP Engine; конструктор страниц — Elementor; формы — Gravity Forms. Дизайн Figma содержал полную спецификацию бренда, включая анимацию перехода при прокрутке, которую клиент отметил ещё до начала разработки.
Задача: собрать 27 URL по стандартной библиотеке шаблонов агентства для стоматологии, применить дизайн-спецификацию Figma ко всем страницам, наполнить страницы услуг контентом от агентства и отработать две параллельные очереди QA — SEO и CX — до приёмки сайта агентством. При этом не выходить на прямой контакт с конечным клиентом; спорное возвращать агентству; не импровизировать с контентом, навигацией или распределением звонков по филиалам.
Контекст рисков. Когда стоматологическая группа ведёт два офиса на одном домене, контактный слой должен корректно обслуживать оба филиала. Риск для агентства в такой разработке — не количество страниц, а детальная работа после их сдачи: мобильная кнопка звонка, требующая всплывающего окна выбора офиса вместо жёстко заданного номера; пачка контента для страниц услуг, поступившая с опозданием и требующая интеграции без нарушения уже запущенных в QA страниц; страница страхования, добавленная в навигацию после утверждения исходной карты сайта.
Это не расширение объёма, а нормальная форма разработки для нескольких филиалов, требующая подрядчика, который доводит такие задачи до закрытия, а не считает первый проход финишной чертой.
Как мы это сделали
1. 9 шаблонов, 27 страниц, единый процесс сборки. Страницы Alta Dental Group распределились по стандартной библиотеке шаблонов агентства для стоматологии: Homepage, About Us (2 страницы — лендинг команды и дополнительная страница о нас), Contact Us, Services Lander, Service Page (17 отдельных страниц услуг, включая неотложную стоматологию, зубные импланты, эстетическую стоматологию, костную пластику и специализированные процедуры), Doctor Page (4 страницы врачей), Location и Default Template для страницы страхования, добавленной в процессе работы.
Каждая страница построена на назначенном шаблоне из карты сайта; ни одна страница не создавалась вручную вне системы шаблонов.
2. Спецификация соблюдена построчно — включая колонку Hours Estimated на страницу. Таблица Google Sheets агентства содержала оценку часов для каждой строки карты сайта — главная страница за 12 ч (самая трудоёмкая строка, отражающая спецификацию анимации), страница About / Our Team за 3,5 ч, страницы услуг за 0,5 ч каждая после формирования начального корпуса контента.
Мы реализовали всё в рамках этих значений. 12-часовая строка главной страницы была ключевой: дизайн Figma содержал анимации перехода при прокрутке, отмеченные клиентом, и их корректная реализация в стеке Elementor потребовала дополнительных итераций, которые бюджет строки предусматривал.
Коротко: при разработке с заранее оценённой картой сайта таблица — это контракт. Задача команды — уложиться в построчные бюджеты, а не открывать заново разговор о цене, когда сложная страница требует больше календарного времени, чем стандартная шаблонная.
3. Пачки контента для страниц услуг приняли в процессе работы. Исходная карта сайта несла ориентировочные оценки для страниц услуг в ожидании контента от агентства. В ходе работы поступили две пачки — сначала частичный набор, на котором собрали первые страницы услуг, затем вторая пачка, ради которой пришлось снова открывать готовые страницы и встраивать контент.
Обе пачки приняли через отдельные задачи Redmine, отработали без роста бюджета, и каждая изменённая страница вернулась в очередь QA на повторную проверку перед приёмкой агентством. Поздний контент мы приняли в рамках исходной оценки, а не запрашивали продление сроков: бюджет закладывался под итеративную правку клиента — переносить сроки на каждую поставку контента значило бы подорвать модель фиксированных часов, которую выбрало агентство.
4. Распределение звонков по двум филиалам проверили при сдаче. Ближе к концу проекта очередь QA выявила сбой маршрутизации: мобильная кнопка звонка по умолчанию вела на номер только одного офиса. Правка была не косметической — пришлось встроить в мобильную навигацию всплывающее окно выбора офиса, такое же, как в модальном окне «Call Us» на большом экране. Задача прошла два цикла QA до приёмки агентством, а страница страхования, добавленная в меню в тот же момент, закрылась в том же проходе QA.
5. Два параллельных цикла QA, закрытых до запуска. Замечания отслеживали в двух очередях агентства — SEO (75 строк) и CX (29 строк). Из 75 SEO-пунктов 73 закрыты как Completed до выгрузки данных; 1 остался Info Needed и 1 — To Do, в ожидании ответа от агентства. Из 29 CX-пунктов 26 закрыты как Completed; 1 был In Progress и 2 — Info Needed на момент выгрузки. Контрольный список запуска из 29 строк — колонки Design, Functionality, Content, Pre-Migration, Post-Migration — согласован до выхода в работу.
12-часовая строка главной — самая трудоёмкая в карте сайта, со спецификацией анимации перехода при прокрутке — задала темп всей разработки: сначала решаем самую сложную страницу, затем принимаем пачки контента под страницы услуг в рамках оставшихся строк. Именно этот порядок позволил закрыть две поставки контента и правку распределения звонков по двум офисам в рамках исходной оценки в 63 часа.
Результаты
| Метрика | Результат |
|---|---|
| Построено URL | 27 на 7 активных шаблонах (1 Homepage · 2 About Us · 1 Contact Us · 1 Services Lander · 17 Service Pages · 4 Doctor Pages · 1 Location) |
| Применено шаблонов | 7 из 9 из стандартной библиотеки агентства для стоматологии (Smile Gallery и Blog Lander есть в библиотеке, но не в активной карте сайта) |
| Очередь SEO | 73 / 75 закрыто как Completed; 1 Info Needed, 1 To Do (ждут ответа агентства) |
| Очередь CX | 26 / 29 закрыто как Completed; 1 In Progress, 2 Info Needed (ждут ответа агентства) |
| Контрольный список запуска | 29 строк — согласован по разделам Design / Functionality / Content / Pre-Migration / Post-Migration |
| Распределение звонков | Мобильное всплывающее окно для двух офисов проверено и принято через два цикла QA |
| Сроки | 140 дней (12 мая – 29 сен 2025), основная разработка завершена в срок |
| Трудоёмкость | 63 ч из 63 запланированных — без перерасхода, без расширения объёма |
| Статус сайта, проверено 2026-04 | Опубликован на WP Engine; боевой домен работает (Cloudflare отдаёт 403 на серверные запросы, в браузере открывается и отдаёт контент) |
Контроль качества
Строка 30 очереди CX несла самую острую находку по маршрутизации за весь проект: мобильная кнопка звонка в правом верхнем углу была привязана только к одному офису. Пришлось сделать всплывающее окно выбора офиса и связать его с тем же модальным окном «Call Us», что уже работало на большом экране, — иначе пациенты звонили бы не в тот офис.
QA перед сдачей шло через Site Checker — см. наш подход к QA: категории проверок и порог нулевых ошибок. Свой контур проверки у агентства шёл после сдачи и складывал замечания в общую очередь правок для нашего цикла исправлений, пока агентство не подписало приёмку.
Процесс
| Этап | Длительность | Результат |
|---|---|---|
| Бриф и оценка | ~1 неделя | Таблица изучена, дизайн Figma оценён, построчные часы утверждены, согласовано 63 ч |
| Разработка (страницы + шаблоны) | ~3 недели | Все 27 URL собраны на 7 активных шаблонах в тестовой среде; открыты обе очереди QA |
| Интеграция контента | ~3 недели (параллельно с QA) | Получены и встроены две пачки контента для страниц услуг; изменённые страницы возвращены в QA |
| Согласование по QA (очереди SEO + CX) | ~6 недель | Обе очереди отработаны; распределение звонков по двум офисам проверено; страница страхования добавлена и закрыта |
| Контрольный список запуска + сдача | Последняя неделя | 29 строк контрольного списка согласованы; сайт выведен в работу на WP Engine |
Этапы пересекаются — пачки контента поступали во время первого QA-прохода, поэтому календарная длительность составила 140 дней, а не сумма отдельных этапов.
Команда
Команда проекта
- Никита Тумашевич — ведущий разработчик на этапах разработки и исправлений
- Павел Сажин — управление проектом и QA-итерации
- Анна Полунина — поддержка разработчика по интеграции контента страниц услуг и QA-раундам
- Тимур Арбаев — QA-итерации и исправления
- Антон Херсун, xaverPRO — руководитель проекта (оценка, коммуникация с аккаунт-менеджером агентства, согласование)
Управление проектом со стороны агентства и коммуникация с конечным клиентом оставались у партнёрского агентства на всём протяжении. Конечный клиент нас не видел.
Агентствам, заказывающим разработку WordPress
На сайте стоматологической практики каталог услуг держит на себе всю выдачу, которую агентство выстроило: он задаёт URL-архитектуру и граф структурированной разметки. У этой практики профиль смешанный — общая стоматология и специализированные процедуры; у других чисто общая стоматология или узкоспециализированные центры. Боитесь вы тихих сбоев: новая услуга на шестом месяце не впишется в URL-схему, страницы с фильтрами перестанут отдавать то, что уже ранжируется, разметка слетит на импорте.
Подрядчику стоит задавать не вопрос «соберёте ли страницы?», а вопрос «как именно вы построите таксономию, чтобы следующий вид услуг встал без миграции?»
Мы закладываем таксономию так, чтобы за неё отвечать: пришлите рабочую таблицу сборки, черновик карты сайта или макеты — мы проверим, выдержит ли она добавление услуг и не выпадут ли страницы с фильтрами из индекса. Вернём фиксированную смету в часах.
У вас ещё нет ТЗ? Пришлите описание в один абзац — мы вернёмся с вопросами, которые стоит задать. Прислать описание →