Ребилд стоматологического сайта на двух врачей — 64 часа за 17 дней
WordPress ребилд для стоматологической клиники с двумя врачами и отдельными страницами-био — 64 часа за 17 дней, точное исполнение ТЗ, контрольный список запуска на 48 пунктов закрыт.
Скриншоты сделаны автоматическими инструментами — некоторые элементы могли не загрузиться полностью или перекрываться. Для наиболее точного представления открыть действующий сайт →
Переделать сайт на новом стеке. Реализовать по спецификации. Без импровизаций. Передать готовым к переходу.
Клиент (конечный пользователь): Brightworks Dentistry — Dr. Preston Shurley и Patrice Robbins
Формат сотрудничества: White-label разработка для маркетингового агентства из США
Сроки: январь 2025 · 17 дней · 64 часа · в срок, без перерасхода
Подход к ребилду
WordPress-ребилд стоматологического сайта на двух врачей: отдельные страницы-био для Dr. Preston Shurley и Patrice Robbins стояли рядом со страницами услуг, и каждая была своим типом контента — поэтому полнота шаблонов на каждом URL и стала главным ограничением. Полный ребилд на Elementor Pro мы сдали за 17 дней и 64 часа; проверка по каждому типу контента вскрыла обе страницы врачей в старом оформлении — это мы закрыли отдельным спринтом.
Этот кейс — запись одного из таких ребилдов: агентство держало стратегию, мы — исполнение.
Краткий обзор
| Поле | Значение |
|---|---|
| Отрасль конечного клиента | Здравоохранение — общая стоматология |
| Конечный клиент | Brightworks Dentistry (Dr. Preston Shurley и Patrice Robbins) |
| Формат сотрудничества | White-label WordPress-разработка для маркетингового агентства из США, специализирующегося на сайтах для локального бизнеса |
| Тип проекта | Ребилд WordPress на Elementor Pro, хостинг WP Engine |
| Объём работ | Весь сайт — услуги, командные страницы для нескольких врачей, блог, контактные формы, PDF-загрузки |
| Срок | 17 дней (27 дек 2024 — 13 янв 2025), по графику |
| Трудоёмкость | 64 часа при оценке в 64 часа — без перерасхода |
| Команда | 5 специалистов (разработка · QA-исправления · PM) |
| Техстек | WordPress · Elementor Pro · Gravity Forms · WP Engine · Yoast · Screaming Frog · Site Checker (xaverPRO плагин QA) |
| Проверка контентного паритета | Сверка контента исходного и нового сайта перед сдачей — ни одного пропущенного фрагмента, ни одной битой внутренней ссылки, ни одного структурного отклонения |
| Сдано | ТЗ исполнено строка-в-строку — редиректы, мета-заголовки, библиотека PDF, командные страницы для нескольких врачей, контрольный список запуска на 48 пунктов |
| Раунды проверки | ≈2 раунда проверки в пределах 17-дневного календарного окна |
| Трудоёмкость на задачу | 5 внутренних Redmine-задач · медиана 1 ч / P75 64 ч на задачу |
Постановка задачи
Brightworks Dentistry — стоматологический кабинет с двумя практикующими специалистами. Агентство управляло веб-присутствием клиники и нуждалось в перестройке существующего WordPress-сайта на современном стеке Elementor Pro — более строгие шаблоны, надёжная интеграция Gravity Forms и библиотека PDF для загрузки, которая была приделана к старому сайту через обходные решения. Ребилд был проектом внутри той же CMS (WordPress → WordPress), что на бумаге выглядит проще, чем миграция на другую платформу.
Агентство передало нам таблицу Google Sheets, охватывающую каждый URL для миграции, каждый мета-заголовок и описание для сохранения, каждый шаблон для применения и подробный контрольный список запуска. Задача была точной: исполнить ТЗ как написано, не выходить на прямой контакт с клиентом, уложиться в оценённые часы. На связи с клиентом всё время оставался руководитель проекта со стороны агентства. Мы работали внутри их системы координации.
Риск, от которого агентство страховалось, был не в потере позиций в выдаче — SEO-стратегия была их зоной ответственности и уже была проработана. Риск заключался в передаче многодокторского ребилда команде разработки, которая относится к проекту внутри той же CMS как к малозначительной задаче. Ребилды внутри одной CMS несут специфический сценарий отказа: поскольку целевая платформа знакома, команда, работающая по наитию, может незаметно изменить мета-заголовок, перенаправить форму или пропустить редирект, который выглядит неважным.
На однодокторском сайте одна пропущенная страница — это одна пропущенная страница. На сайте с двумя врачами, каждый из которых имеет отдельные био-страницы и командные страницы, на которые пациенты заходят напрямую, частичное применение шаблонов — менее заметный, но не менее разрушительный результат.
Контекст рисков. Ребилд внутри одной CMS на сайте с двумя врачами создаёт специфическую слепую зону: био-страницы специалистов —
/team/dr-preston-shurley/и/team/patrice-robbins/— имеют собственный тип контента, и проход сборки, который покрывает страницы услуг без явного шаблонирования каждой докторской страницы, оставляет эти URL в оформлении старого сайта — визуально целыми на Screaming Frog-сканировании, но неверно. Dr. Shurley и Patrice Robbins имели отдельные командные страницы, которые входили в число наиболее посещаемых не-услуговых URL на старом сайте — таких, которыми пациенты делятся с членами семьи и на которые попадают направляющие специалисты.Ребилд, который корректно применяет новые шаблоны к страницам услуг, но оставляет био-страницы специалистов в старом оформлении, не выглядит сломанным при общесайтовом сканировании; он всплывает на этапе QA агентства, вызывая незапланированный корректирующий спринт. Это была не гипотеза — во время QA со стороны аккаунт-менеджера агентства обе докторские страницы всё ещё несли старый шаблон, что было зафиксировано как отдельная задача на исправление до переключения. Главным здесь было рассматривать каждый тип контента, а не только высокотрафиковый, как входящий в объём полного применения шаблонов.
Как мы это сделали
1. Сборка через шаблоны. Вместо восстановления всего сайта страница за страницей мы свернули его в переиспользуемые шаблоны, применённые ко всем типам контента:
- Главная, О нас, Контакты и запасной Default
- Лендинг услуг + шаблон страницы услуг, обслуживающий весь каталог услуг
- Шаблон страницы Врачи/Команда, применённый к каждому специалисту — Dr. Shurley и Patrice Robbins, каждый с отдельной, единообразно оформленной био-страницей
- Шаблон блога для текущего контента
- Страница библиотеки PDF — загружаемые учебные материалы для пациентов, интегрированные непосредственно в структуру страниц, а не как внешние ссылки
Шаблоны покрывали каждый тип контента. Будущие правки живут в одном месте на тип страницы. Мы выбрали шаблоны вместо сборки постранично, потому что структура с двумя специалистами и отдельными био-страницами делала межстраничную согласованность ключевым ограничением — ограничением, на которое постраничная спецификация агентства неявно опиралась, но которое явно не защищала.
2. ТЗ исполнено строка в строку, из таблицы агентства. Таблица Google Sheets от агентства содержала каждый URL, каждый мета-заголовок и описание, каждое назначение шаблона и каждую заметку по интеграции — включая размещение PDF-файлов и цели Gravity Forms. Мы реализовали каждую строку как написано. Где в таблице было значение — оно попало на новый сайт. Где его не было — мы сообщили агентству. Никаких творческих интерпретаций не попало на сайт.
Коротко: при ребилде спецификация — это контракт между агентством и его клиентом. Задача команды разработки — защищать этот контракт, а не редактировать его.
3. Проверка через обход, а не «на глаз вроде нормально». До переключения DNS мы прогнали Screaming Frog на старом рабочем сайте и сборке в тестовой среде параллельно. Коды статусов, битые ссылки, цепочки редиректов, различия в мета-тегах — каждое отклонение сверялось со спецификацией агентства. Второе сканирование после запуска подтвердило, что каждая внутренняя ссылка разрешается на рабочем домене. Сравнение также подтвердило, что пути загрузки PDF настроены корректно и био-страницы специалистов находятся на новом шаблоне.
4. Контрольный список запуска на 48 пунктов, закрыт до сдачи. Категории охватывали точность дизайна, функциональность (формы, загрузки, навигация), точность контента, SEO и аналитику, адаптивный вывод на шести типах экранов и последовательность миграции домена и DNS на WP Engine. QA на разных устройствах выполнялось в Chrome, Firefox, Safari и Edge. Ничего не попадало на сайт, пока каждая строка не была согласована.
Именно шаблон страницы Врачи/Команда не дал структуре с двумя специалистами расколоться по типам контента. Без явного шаблона на каждую био-страницу эти URL остаются в оформлении старого сайта после того, как все страницы услуг получают новый дизайн — именно это произошло на этапе QA аккаунт-менеджера агентства, и поэтому существовала задача #233. Шаблонизация каждого типа контента, а не только высокотрафиковых, была ограничением, которое спецификация подразумевала, но не устанавливала явно.
Результаты
| Метрика | Итог |
|---|---|
| Точность спецификации — редиректы | Все старые URL перенаправлены как указано |
| Точность спецификации — мета-данные | Все мета-заголовки и описания размещены как указано |
| Точность спецификации — шаблоны | Полная система шаблонов собрана и применена на всём сайте, включая страницы специалистов |
| Точность спецификации — библиотека PDF | Учебные PDF для пациентов загружены и корректно связаны на соответствующих страницах |
| Контрольный список запуска | 48 / 48 пунктов согласованы до переключения |
| Срок | 17 дней, сдано по графику |
| Трудоёмкость | 64 ч / 64 ч — без перерасхода, без расширения объёма |
| Проверка адаптивности | Ноль проблем с отображением на 4 браузерах × 6 типах экранов |
| Внутреннее QA | Все задачи в рамках агентства закрыты до сдачи; правки форм и ссылок на отзывы, всплывшие на QA агентства уже после запуска, закрыты отдельным спринтом |
| Сдача | Сайт запущен на WP Engine в запланированный день переключения, без простоя |
| Статус сайта | Работает, открывается по адресу https://www.brightworksdentistry.com/. |
Если коротко: ТЗ агентства мы исполнили как написано, в рамках оценённых часов, в запланированный день переключения. Отдельный спринт после QA агентства, прошедшего уже после запуска, закрыл оставшиеся пункты — сборка держала форму на всём протяжении.
Контроль качества
Сверка различий между старым сайтом и сборкой в тестовой среде выявила, что /team/dr-preston-shurley/ и /team/patrice-robbins/ всё ещё отображали дизайн старого сайта — каждая другая страница получила новый шаблон, только эти два URL выпали — и оба были зафиксированы как отдельная задача на исправление до переключения (задача #233).
QA перед сдачей прошло через Site Checker — категории и порог нулевых ошибок см. в нашем подходе к QA. Приёмочный контур агентства работал уже после сдачи и складывал замечания в общую очередь правок, которую мы закрывали до согласования.
Процесс
| Этап | Длительность | Результат |
|---|---|---|
| Бриф и оценка | 1 день | Спецификация агентства проверена; оценено и согласовано 64 ч |
| Разработка | ~12 дней | Полный сайт перестроен по всем шаблонам, включая био-страницы специалистов |
| Внутреннее QA и проверка | 3 дня | Вопросы зафиксированы; все работы в рамках агентства очищены до сдачи |
| Проверка спецификации | 1 день | Meta, редиректы и пути PDF сверены с таблицей |
| Доставка и переключение DNS | 1 день | Сайт запущен на WP Engine, без простоя |
Этапы пересекаются (QA шёл параллельно с поздней разработкой), поэтому календарный срок составляет 17 дней, а не сумму отдельных этапов.
Команда
Команда проекта
- Никита Тумашевич — ведущий разработчик (полная сборка сайта и система шаблонов, включая командные страницы нескольких врачей)
- Анна Полунина — поддержка реализации и QA по перестроенным страницам
- Алексей Мелков — поддержка реализации
- Иван — разработчик поддержки (повторяющиеся блоки и дублирование страниц)
- Антон Херсун, xaverPRO — руководитель проекта (оценка, коммуникация с аккаунт-менеджером агентства, согласование)
Управление проектом со стороны агентства и SEO-стратегия оставались за партнёрским агентством на всём протяжении. Агентство оставалось публичным подрядчиком; конечный клиент нас не видел на каждом этапе сборки и переключения.
Агентствам, заказывающим ребилд WordPress
На ребилде в той же CMS структурная ловушка — охватить шаблоном каждый тип контента. У этой клиники это био-страницы врачей как отдельный тип записей; у других — сеть кабинетов под одним брендом. Ловушку трудно заметить. Вторичные страницы — био специалистов, библиотеки материалов — уедут в боевую среду на старых стилях. С них слетит разметка, и расширенные сниппеты, которые собрало агентство, пропадут из выдачи. Новые командные страницы, добавленные на втором месяце, не подхватят макет.
Подрядчику стоит задавать не вопрос «соберёте ли страницы заново?», а вопрос «как именно вы охватите шаблоном каждый тип контента?»
Пришлите адрес текущего сайта или макеты. Мы сверим инвентарь вашего контента с объёмом ребилда, найдём страницы, которые втихую уедут на старых шаблонах, и вернём фиксированную смету в часах.
У вас ещё нет ТЗ? Пришлите описание в один абзац — мы вернёмся с вопросами, которые стоит задать. Прислать описание →
Site Checker запускается до того, как агентство что-либо видит.
Перед передачей каждый сборки в тестовой среде прогоняется через Site Checker — WordPress QA-плагин, который мы разработали и поддерживаем. Это шлюз с нулевой терпимостью к ошибкам: к агентству не уходит ничего с открытыми проблемами. Предупреждения рассматриваются и признаются некритическими; агентство получает чистый старт для своего слоя QA, а не тестовый сайт с известными проблемами в очереди.