Как устроен сайт
Сайт - это каталог-рейтинг клининговых компаний. Посетитель приходит в свой город, видит список с ценами и отзывами, оставляет заявку. Всё содержимое наполняется вручную через админку.
Только менеджер
Компании не регистрируются сами, посетители ничего не публикуют. Любая запись появляется через админку.
Балл и порядок
Балл компании выставляется руками - от него зависит порядок компаний в каталоге.
Заявка или мессенджер
Посетитель отправляет форму или жмёт иконку Telegram/WhatsApp в карточке. Чата на сайте нет.
01Главные принципы
Несколько простых правил, на которых построен весь сайт.
Свой контент в каждом городе
У каждого города свои тексты главной страницы, акции, фотографии и FAQ - они пишутся руками, без шаблонов. У услуг наоборот: один общий шаблон с ключами {город}, {регион}, {название} подставляется автоматически для каждого города; при необходимости текст можно переопределить под конкретный город.
Москва - это и главная сайта
Один город помечен как главный - его страница и есть главная. По прямому адресу этого города посетителя перекидывает на главную, чтобы не было двух одинаковых страниц.
Заводятся один раз
«Генеральная уборка», «мойка окон», «после ремонта» - общий список. Для каждой пары «город + услуга» сайт сам создаёт страницу, менеджер пишет текст и решает, публиковать её или нет.
Привязываются к городам
Компанию заводят один раз и отмечают её города. В разных городах цены могут отличаться - это настраивается отдельно.
02Чего на сайте нет
Сознательные ограничения проекта. Если возникнет вопрос «а почему так нельзя?» - ответ обычно здесь.
- Нет личных кабинетов для компаний - карточкой управляет только менеджер.
- Нет регистрации и входа для посетителей.
- Нет онлайн-оплаты и бронирования уборки.
- Нет чата - общение уходит в Telegram, WhatsApp или по телефону компании.
- Нет автосбора отзывов - менеджер переносит их руками с 2GIS и Яндекс Карт.
- Нет автоподстановки города в тексты главной страницы города - они пишутся руками отдельно для каждого. (Для пар «город + услуга» автоподстановка как раз есть - см. раздел «Услуги».)
03Города
Город - главный «контейнер» сайта. При смене города меняется буквально всё: тексты, компании, цены, отзывы, акции, галерея.
Что заводится у каждого города
Заголовок, описания, SEO
Все тексты страницы и мета-теги пишутся вручную.
Какие услуги показывать
Менеджер выбирает услуги из общего справочника и для каждой решает, выводить ли её на главную города.
Галерея, акции, FAQ
Своя галерея, свои акции, свой FAQ.
Округа, районы, метро
Текстовый блок «География работ» для поисковиков; к компаниям не привязан.
04Услуги
Общий для всего сайта справочник того, что делают клининговые компании.
У каждой услуги
{город}, {регион}, {название} - они подставляются автоматически для каждого города. Если для какого-то города нужен особый текст, его можно переопределить отдельно. Каждую пару можно публиковать или скрывать.05Компании
Компания заводится один раз и привязывается к одному или нескольким городам - после этого появляется в каталоге каждого из них.
Карточка компании
Логотип и название
Логотип обязателен.
«О компании»
Свободный текст: чем занимаются, специализация, преимущества.
Год основания
«Работает X лет (с YYYY)» считается автоматически.
Адрес и режим работы
Адрес, время работы, ссылки на сайт и мессенджеры.
Выставляется руками
Число от 1 до 5 с десятыми. Показывается в карточке.
Порядок в каталоге
Целое число, ставится руками. Чем выше - тем выше карточка в каталоге. По умолчанию по нему сортируются все списки компаний.
До 4 тезисов
Выбираются из общего справочника. В тексте могут автоматически подставляться название города и цена.
Произвольный текст
Поле «Текст бейджа» - пишется руками или остаётся пустым. Никакой автоматики на основе рейтинга нет.
Проверенная компания
Отдельный тумблер. Если включён - рядом с названием появляется пометка «Проверенная компания».
Цены компании
Цены задаются по каждой услуге компании:
- Базовая цена - общая для всех городов; используется, если переопределения нет.
- Цена для города - если в каком-то городе цена отличается, её переопределяют отдельно - на странице этого города покажется именно она.
06Отзывы
Отзывы привязаны к компании и к платформе - 2GIS или Яндекс Карты. На сайте они показываются двумя колонками.
Автор, дата, оценка, текст
Имя, аватар, дата, оценка в звёздах и текст.
Менеджер переносит руками
Автоимпорта нет. Менеджер копирует отзыв из 2GIS или Яндекс Карт и заводит в админке.
Сверху блока - общая оценка и число отзывов по каждой платформе, а также ссылки «оставить отзыв» и «читать все отзывы», ведущие на внешние карты.
07Акции
Карточка со скидкой или спецпредложением, заводится в админке отдельно.
- Изображение, текст и бейдж со скидкой.
- Привязывается к конкретной компании или ко всему городу - тогда показывается всем компаниям этого города.
- На странице города выводится до 4 акций.
08Блог
Статьи, не привязанные к городу - общие для всего сайта, доступны по адресу /blog.
- Заголовок, обложка, краткое описание, основной текст, время чтения.
- Флаг «избранная» - статья показывается в крупной карточке с большим изображением.
- Оглавление внутри статьи собирается автоматически по подзаголовкам.
09Страница города
Главный экран сайта. 13 блоков сверху вниз, все тексты - отдельные для каждого города.
10Каталог услуги в городе
Открывается при клике на услугу - например, «Генеральная уборка в Москве». Показывает только тех, кто делает эту услугу в этом городе.
Фильтры слева
- Услуги города - быстрый переход к каталогу другой услуги.
- Рейтинг - пороги: от 3.5, 4.0, 4.5, 4.8.
- Цена - двойной ползунок и поля «от/до». Границы берутся из реальных цен по этой паре «город + услуга», единица (руб./час, руб./м²) - из услуги.
- Опыт работы - 1+, 3+, 5+, 10+, 15+ лет.
- Минимум отзывов - 10+, 50+, 100+.
- Своё оборудование и Только проверенные - галочки.
Список обновляется без перезагрузки, выбранные фильтры остаются в адресе страницы. Если ничего не найдено - заглушка с кнопкой «Сбросить фильтры». На мобильных вместо сайдбара - кнопка «Фильтры (N)» со счётчиком активных, открывает шторку снизу.
Для поисковиков канонической считается страница без фильтров - отфильтрованные варианты помечаются «не индексировать», поэтому в индексе не плодятся дубликаты и вес страницы не размывается.
Карточка компании в каталоге
Расширенная по сравнению с главной - дополнительно показывает:
- Цену выбранной услуги (например, «Уборка квартиры - от 150 руб»).
- До 4 преимуществ с автоподстановкой города и цены.
- Список услуг (4 первые + ссылка «+N услуг»).
- Краткое описание со ссылкой «Читать подробнее».
SEO-текст под списком
Под карточками компаний - большой блок с подробным описанием услуги (подзаголовки, списки). Заводится у услуги, переопределяется по городу. Если не задан - блок не показывается.
11Страница компании
Подробная страница одной компании в контексте текущего города. Цены - с учётом переопределений по этому городу.
12Блог и статьи
Список статей
- Хлебные крошки: Главная → Блог.
- Сетка из 10 карточек: 2 крупных «избранных» и 8 обычных.
- На карточке: обложка, дата, время чтения, заголовок и кнопка «Читать полностью».
Сама статья
- Заголовок, дата, время чтения, обложка.
- Оглавление - автоматически по подзаголовкам.
- Основной текст: разделы, списки, изображения.
- Внизу - блок «Вам может быть интересно» с двумя похожими статьями.
Статические страницы (Политика, Оферта и подобное) редактируются в разделе «Страницы» админки.
13Формы на сайте
На странице города две формы заявки - отличаются числом полей.
Короткая форма (вверху страницы)
Минимум вопросов, чтобы посетитель не уходил. Три поля:
- Тип уборки (регулярная, генеральная, после ремонта, офисная, промышленная).
- Тип объекта (квартира, дом, офис, коммерческое помещение, склад).
- Телефон.
Большая форма (внизу страницы)
Семь полей - для тех, кто готов описать задачу подробнее:
- Что нужно сделать (уборка квартиры, дома, офиса, после ремонта, мойка окон).
- Описание задачи свободным текстом.
- Фотографии - несколько штук с превью, лишнее можно удалить.
- Бюджет - диапазон (до 5 000, 5–10 тыс, 10–20 тыс, 20–50 тыс, более 50 000).
- Желаемая дата.
- Способ связи (звонок, WhatsApp, Telegram, MAX).
- Контакт - телефон или Telegram, в зависимости от способа связи.
14Что происходит после отправки
Каждая заявка попадает сразу в три места: в раздел «Заявки» админки, на почту и в Telegram. Даже если менеджер не открыл админку - ему придёт письмо и сообщение.
Что приходит в уведомлении
Письмо и сообщение в Telegram содержат одни и те же поля - отличается только оформление. Пустые поля просто не выводятся.
- Тип формы («Быстрая заявка» или «Заявка уборки») и город, со страницы которого отправили.
- Контакт (телефон или Telegram) и выбранный способ связи (звонок, WhatsApp, Telegram, MAX).
- Тип уборки, тип объекта, услуга - из готовых списков.
- Описание задачи, бюджет, желаемая дата - из большой формы.
- Дата и время поступления заявки.
- Ссылка «Открыть в админке →» - сразу открывает полную карточку с фото.
15Что где находится в админке
Админка открывается по адресу сайта с приставкой /admin. Регистрации нет - аккаунты заводит технический администратор.
Разделы
Тексты и блоки страниц
Все тексты страницы города, мета-теги, список услуг, блоки «Критерии», «Как выбрать», «География».
Общий справочник
Название, иконка, единица измерения (руб/м² или руб/час).
Карточки и прайс
Карточка, города работы, цены и переопределения, преимущества, отзывы, ссылки.
Все заявки с сайта
Список заявок с обеих форм с фото. Тип уборки, объект, услуга и город выбираются из готовых списков - менеджер может править вручную.
Скидки и промо
Привязываются к компании или ко всему городу.
Вопросы и ответы
Заводятся для каждого города; по желанию - отдельные для компании.
Фотогалереи
Можно сделать общую или отдельную для города/компании.
Блог
Обложка, текст, дата, время чтения, флаг «избранная».
Контакты, SEO, уведомления
Контакты, реквизиты, соцсети, SEO по умолчанию, email-адреса и Telegram chat ID для приёма заявок.
16С чего начинать наполнение
Если сайт пустой - порядок такой. Не догма, но иначе придётся возвращаться и переделывать.
17Что считается автоматически
Несколько вещей сайт берёт сам - руками их задавать не нужно.
- Минимальная цена в городе - самая низкая цена услуги среди компаний города. Идёт в блок «Стоимость услуг» и карточки услуг на главной.
- Количество компаний по услуге - например, «47 компаний». Считается само из привязок к городу и услуге.
- Похожие компании - 3 лучшие по баллу в том же городе, кроме текущей.
- Опыт работы - «Работает X лет» от года основания.
- Ссылки и меню в шапке - формируются автоматически из заведённых городов и услуг.
- Сжатие изображений - все загружаемые картинки (логотипы, фотогалереи, обложки статей, иконки услуг, акции) автоматически конвертируются в WebP и AVIF. Браузер сам выбирает более лёгкий формат - страницы грузятся быстрее, что важно для SEO. Исходник остаётся в админке.