У медцентра есть требования, за которые проверяют, и контент, которого много. Каждый раз собирать это с нуля — три-четыре месяца и деньги. Здесь всё уже собрано и проверено на демо-клинике из 158 страниц.
Требования
За это проверяют
Приказ Минздрава № 118н и 152-ФЗ — не «сделаем потом». В шаблоне это структура данных, а не текстовая страница.
14 разделов «Информация для пациентов»
Карточка врача: образование, аккредитация, график
Лицензия с QR-кодом записи в реестре
Согласие на каждой форме и журнал согласий
Объём
Контента много
Услуги деревом, врачи, цены, акции, статьи, документы, вакансии, филиалы — каждый со своими полями и своей страницей.
19 типов страниц и 75 полей контента
Прайс из МИС Renovatio или загрузка и выгрузка файлом из Excel
Поиск по сайту с морфологией и фильтры врачей
Демо-контент, с которого удобно начинать
Кто ведёт
Менеджер, не программист
Поменять цену, добавить врача, собрать посадочную под акцию — без звонка подрядчику и без вёрстки.
Главная собирается из блоков перетаскиванием
Цвет, шапка и подвал — списками в админке
Отзывы одобряются одним нажатием
Заявки лежат в админке, а не только в почте
Вид
Знакомство с клиникой начинается здесь
Ниже — скриншоты работающего сайта демо-клиники, снятые на 1440 и 390 пикселей. Ничего не дорисовано. Всё то же самое можно потрогать руками на demo.devnut.ru.
Врачи с фильтром1440 px
Карточка врача по 118н1440 px
Цены из таблицы1440 px
Статья в разделе публикаций1440 px
Контакты и филиалы1440 px
Телефон, 390 px
Каждая страница проверена на 390 пикселях: ни одной горизонтальной прокрутки, нижнее меню с кнопкой записи, картинки в WebP с отложенной загрузкой.
Закон
118н, 152-ФЗ и слабовидящие
Это самая скучная и самая дорогая часть сайта клиники. Она уже сделана — не текстом на странице, а структурой данных, формами и журналом.
Форма на сайте→Согласие посетителя→Запись в журнале
Приказ Минздрава № 118н
Обязательные сведения
Раздел «Информация для пациентов» из 14 подразделов — собирается из настроек, документов, врачей, цен и филиалов
Сведения о медработниках: ФИО, должность, специальности, стаж, образование, аккредитация с датой окончания, график приёма
Лицензия с QR-кодом записи в реестре лицензий
Адреса и режим работы всех подразделений, часы приёма руководителя
Анкета о качестве услуг — отдельная форма на сайте
152-ФЗ и персональные данные
Согласие, которое можно доказать
Отдельная галочка согласия в каждой форме со ссылкой на версию документа политики
Журнал согласий: контакт, версия документа, тип формы, IP, браузер, дата. Записи только добавляются — ни правки, ни удаления
Заявка и согласие пишутся одной транзакцией: заявки без согласия быть не может
Ни одного зарубежного сервиса: ни Google Fonts, ни reCAPTCHA, ни Google Analytics
Яндекс Метрика подключается только после согласия на cookie. Счётчик не задан — скрипта нет совсем
Данные о здоровье в формах не собираются: комментарий к заявке организационный
ГОСТ Р 52872-2019
Версия для слабовидящих
Кнопка с очками в шапке, в меню и в подвале — на всех вариантах, включая телефон
Панель с пятью настройками: кегль в три шага, три схемы контраста (21:1, 21:1 и 7,8:1), отключение изображений, межстрочный интервал, сброс
Выбор хранится в cookie и переживает закрытие вкладки; классы печатает сервер, поэтому нет вспышки обычного оформления
Отдельно от этого: axe-core на пяти типах страниц в двух размерах экрана — ноль нарушений
Оговорка по-честному: соответствие закону — это сайт плюс ваши документы и ваши тексты. Шаблон даёт структуру, поля и формы; заполнить их содержимым клиники всё равно нужно — в тарифе «Под ключ» это делаем мы.
Интеграция с МИС
Меняете цены в Renovatio. Сайт берёт их оттуда.
Один источник цен для клиники и сайта. Подключите МИС Renovatio, чтобы не переносить прайс вручную.
Разделы и услугиСтруктура прайса приходит из МИС.
Цены конкретного врачаПоказываются в его карточке на сайте.
Сохранённая копия прайсаПоследние полученные цены доступны, даже если МИС временно не отвечает.
Обновление — с кэшированием. Интеграция охватывает цены и разделы; расписание и запись в МИС требуют отдельной интеграции.
Renovatio → сайт клиники. Разделы и цены из одного источника.
Работа
Что менеджер делает сам
Без вёрстки, без консоли и без подрядчика. Всё это — обычные экраны админки MODX.
Конструктор страниц
Главная и посадочные — из блоков
Страница собирается в одном поле: строка таблицы — блок. Перетащили строку — поменялся порядок. Галочка «скрыть блок» убирает его из разметки совсем, а не прячет стилями.
Сейчас работают 10 блоков из 20 запланированных: первый экран, преимущества и цифры, направления, врачи, цены, акции, отзывы, новости и статьи, форма записи, текст. У каждого — три варианта вывода, свой фон и отступы. Остальные десять в работе.
Как устроена страница
⠿Первый экран
⠿Направления
⠿Врачи
⠿Форма записи
Прайс и интеграция с МИС
Цены из Renovatio или Excel
Если клиника работает в Renovatio, сайт получает разделы и цены из МИС. Источник выбирается сразу для всего сайта: общего прайса, блоков услуг и карточек врачей.
Ведёте прайс в Excel? Этот способ тоже есть
Выгрузили CSV, поправили в Excel, загрузили обратно. Повторная загрузка того же файла ничего не дублирует: строка ищется по коду и услуге. В отчёте — сколько добавлено, обновлено и что не сошлось.
Колонки: код номенклатуры Минздрава, название, цена, услуга, филиал, длительность, примечание. На сайте прайс получает поиск по названию и коду, фильтр по отделению и филиалу и сортировку по цене.
Выберите источник прайса
Renovatio из МИСExcel / CSV из файла
↓ Общий прайс · Услуги · Врачи
Отзывы и заявки
Одна страница со всем, что пришло с сайта
Раздел «Клиника» с вкладками: цены, отзывы, заявки, обращения, журнал согласий. Отзыв одобряется кнопкой прямо в строке и до одобрения не виден никому. Заявка помечается «перезвонили», «записан», «отказ».
Рейтинг врача не вводится руками — он считается из опубликованных отзывов.
Путь заявки
Новая заявка
Перезвонили
Записан
Сначала контакт. Затем подтверждение записи.
Формы
6 форм, которые работают без JavaScript
Запись на приём, обратный звонок, вопрос врачу, отзыв, отклик на вакансию с резюме, анкета о качестве услуг по 118н. Письмо уходит получателям из настроек, резюме — вложением, а само резюме лежит вне доступа из интернета.
Антиспам без зарубежных сервисов: скрытое поле-приманка, таймер и ограничение отправок с одного адреса. Яндекс SmartCaptcha — по желанию, по умолчанию выключена.
Обращения с сайта
Запись на приёмОбратный звонокВопрос врачуОтзывВакансияАнкета качества
Вид клиники
Одна вёрстка, разные клиники
Цвет, шапка, подвал и тёмное оформление — списки в админке, а не правка стилей. Сохранили, нажали «Очистить кэш» — сайт перерисовался. Пересборка не нужна.
Схема «Гранат»#C0324B
Схема «Хвоя»#0F7A5A
Тёмное оформлениеглавная
Тёмное оформлениесписок врачей
Что настраивается из админки без вёрстки
Что
Сколько
Какие
Цветовые схемы
6
Все пары проверены на контраст WCAG AA в светлом и тёмном оформлении
Варианты шапки
3
Классическая, компактная, с акцентом на запись
Варианты подвала
2
Развёрнутый и компактный, светлый или тёмный
Готовые конфигурации
3
Многопрофильный центр, акцент на услуги, минимальный
Тёмное оформление
—
Полноценное: светлая, тёмная или по системе посетителя
Кроме этого списками меняются
Свой основной и дополнительный цвет по HEX, если схемы не подошли
Шрифтовая пара из трёх (все self-hosted, с кириллицей), базовый кегль
Ширина контентной области, скругления, регистр кнопок, насыщенность заголовков
Состав шапки: верхняя строка, поиск, телефон, «заказать звонок», кнопка записи, кнопка для слабовидящих
Вид списков врачей, услуг, новостей и акций, положение боковой колонки
Обязательные по 118н ссылки — лицензии, реквизиты, контролирующие органы, политика — выключателя не имеют. Это требование закона, а не оформление.
Замеры
Быстро на телефоне — и это измерено
Lighthouse на мобильном, пять типов страниц. Цифры ниже — с последнего прогона перед релизом, на демо-клинике с настоящим контентом.
92–98Скорость
Быстрый сайт на телефоне
Результаты пяти типов страниц демо-клиники. Подробные замеры — в таблице ниже.
WebPКэшированиеЛокальные шрифты
Результаты Lighthouse на мобильном устройстве
Страница
Скорость
Доступность
SEO
Главная
92
100
100
Карточка врача
97
100
100
Услуга
98
100
100
Цены
98
100
100
Статья
97
100
100
Замер на «тёплом» кэше — так страницу видит настоящий посетитель. Отдельно: axe-core на тех же пяти страницах в двух размерах экрана — ноль нарушений; контраст в шести схемах × светлая и тёмная — ноль несоответствий.
За счёт чего
Картинки уменьшаются на сервере, отдаются в WebP с srcset, width/height и отложенной загрузкой — кроме картинки первого экрана
Предзагружается только кириллический поднабор выбранного шрифта
Слайдер грузится отдельным файлом и только там, где он есть: главный файл 157 → 69 КБ
Сжатие и заголовки кэширования: 163 → 29 КБ на стилях, повторный визит — ноль запросов
Поиск и SEO
Человекопонятные адреса вида /services/adult/kardiologiya/, лишние написания — 301
Поиск по сайту с морфологией: врачи, услуги, статьи и цены в одной выдаче по вкладкам
Разметка schema.org без внешних скриптов: клиника, врач, услуга, цена, вопросы, статья, вакансия, хлебные крошки
Заголовок и описание собираются по шаблону типа страницы, если менеджер их не заполнил
Своя карта сайта и robots.txt — ресурсы дерева, а не файл на диске
Дальше
Сайт не остаётся в том году, когда его сделали
Шаблон один на все клиники, без форков. Мы дорабатываем его — обновление приходит к вам. Ваши правки при этом не затираются: они живут отдельно от ядра.
Шаг 1
Бэкап базы
Средствами хостинга. Всегда, перед каждым обновлением.
Шаг 2
git pull
Файлы шаблона обновляются. Контент, настройки и ваши доработки лежат отдельно и не трогаются.
Шаг 3
«Очистить кэш»
Кнопка в админке. Она же применяет новые поля, формы блоков и настройки.
Доработка под конкретную клинику делается на уровне шаблона — отдельными файлами, которые обновление не перезаписывает. Поэтому нестандартный блок или свой стиль не превращают сайт в «тот, который больше нельзя обновлять».
Никакого Docker, Composer и Node на вашем хостинге. Нужны PHP 8.3, MariaDB и доступ по SSH или FTP — то есть обычный хостинг за несколько сотен рублей в месяц. Лицензионных платежей зарубежным вендорам нет вообще.
Под капотом
Для тех, кто спросит у своего программиста
Короткая справка. Если вам это неинтересно — смело листайте дальше, на работу сайта это не влияет.
Технический стек шаблона
Платформа
MODX 3.2, PHP 8.3, MariaDB 11.4. Ставится в корень домена на обычный хостинг
Шаблонизация
pdoTools 3 + Fenom. Шаблоны, чанки и сниппеты — файлы в репозитории, а не записи в базе
Конструктор
MIGX: формы блоков описаны файлами, в базу их переносит «Очистить кэш»
Фронтенд
Vite, Tailwind CSS 4 на CSS-переменных, Alpine.js, Swiper. Шрифты self-hosted
Картинки
Свой ресайзер на GD с кэшем: WebP, srcset, sizes, размеры в разметке
Данные клиники
Цены, отзывы, заявки, обращения и журнал согласий — свои таблицы, а не страницы дерева
Обновление
Один git-репозиторий = корень сайта. Миграции только вперёд и идемпотентные
Внешние сервисы
Из коробки — ноль. По желанию: МИС Renovatio для прайса, Яндекс Метрика, Карты, SmartCaptcha
Цены
Сколько стоит
Разовая оплата, без подписки и без лицензий на движок. Хостинг вы оплачиваете сами — это несколько сотен рублей в месяц.
Шаблон
45 000 ₽
разово
Файлы и документация. Ставите сами или силами своего подрядчика.
Весь шаблон целиком: 19 типов страниц, конструктор главной, формы, поиск и фильтры
Документация: установка, обновление, работа менеджера, загрузка прайса
Демо-контент, с которого удобно начать наполнение
Обновления шаблона в течение года — командой git pull