Фонд «Петербургский Романс» — сайт конкурсов и концертов романса

Разработка в 2013–2014, сопровождение до 2021 года и возвращение проекта в 2026-м

Фонд поддержки и развития музыки «Петербургский Романс» проводит конкурсы и концерты романса в Санкт-Петербурге — «Весна романса», «Праздник романса», «Романс вчера и сегодня». Площадки — БКЗ «Октябрьский», концертный зал у Финляндского, ДК Ленсовета, Белый зал Политеха. Через сайт участники подают заявки на конкурс, а зрители смотрят афишу и архив прошедших концертов.

kovzel.ru
Действующий клиент: ежемесячное техническое обслуживание.

Что сделали при запуске

Сайт мы сделали целиком — от дизайна до внутренней логики:

  • дизайн по брифу заказчика и вёрстка;
  • структура разделов и логика их работы: афиша и анонсы, архив концертов по годам, конкурсные программы, пресса о фонде, фотогалерея;
  • приём заявок участников конкурса через сайт;
  • публикация аудиозаписей — для сайта о музыке это отдельная задача, а не приложение к тексту.

После запуска сопровождали проект: правки, новые разделы, перенастройка рубрик, обновления системы управления. Такое сопровождение продолжалось до 2021 года.

Перерыв — и что за это время произошло

Дальше в работе наступил перерыв на несколько лет. Важно понимать, что сайт всё это время не стоял без дела: фонд вёл его сам и вёл активно — к 2026 году на сайте 680 опубликованных страниц, 336 фотоальбомов и больше семи с половиной тысяч фотографий.

За содержанием следили. За технической стороной — нет, и этим не занимался никто. Система управления не обновлялась, из восемнадцати подключённых модулей двенадцать так и остались на версиях 2014 года. За годы в таких модулях находят уязвимости — и публикуют их в открытом доступе. Через них сайт и заразили.

Дальше всё связано одно с другим: посторонний код работает на чужих запросах, служебные таблицы базы разрастаются, растёт нагрузка — и хостинг начинает предупреждать о перерасходе ресурсов. Именно с этим к нам и вернулись в 2026 году.

Что сделали в 2026 году

Начали с аудита: получили доступы, прошли по сайту, хостингу и базе данных и составили список — что не так, чем это грозит и сколько стоит починить. Отдельно — что чинить не нужно. По итогам аудита согласовали работы.

  1. Сняли архивную копию сайта и базы — с пробным восстановлением. Копия, которую не разворачивали хотя бы раз, копией не считается: распаковали, сверили контрольные суммы файлов и состав таблиц, и только после этого притронулись к сайту.
  2. Убрали заражение. Сверили восемь тысяч файлов сайта с эталонным архивом, нашли и удалили посторонний код, сменили пароли всех контуров и закрыли неиспользуемые учётные записи.
  3. Сняли нагрузку на хостинг. Служебные таблицы базы разрослись до 611 МБ — после чистки база занимает 13,5 МБ, содержимое сайта при этом не пострадало: счётчики документов сошлись до единицы. Несуществующие адреса стали отдавать лёгкую страницу вместо полной сборки сайта, переборы чужих адресов отсекаются на входе.
  4. Ускорили сайт. Главная страница открывалась за 3,9 секунды — стала за 0,57. Настроили кэширование статики и аудиозаписей, включили отложенную загрузку изображений.
  5. Починили приём заявок на конкурс. Письмо с заявкой уходило от адреса самого заявителя — из-за этого часть писем попадала в спам, а при опечатке в адресе заявка терялась совсем, и фонд об этом не узнавал. Теперь письмо уходит с адреса на домене фонда, с подписью и корректными почтовыми записями, а кнопка «Ответить» по-прежнему ведёт заявителю.
  6. Заменили защиту формы от спама. Стояла Google reCAPTCHA, при том что с сервера хостинга до Google не достучаться — проверка не выполнялась вовсе. Поставили Яндекс SmartCaptcha, которая с этого сервера доступна.
  7. Вернули вход в панель управления. Сайт принимал логин и пароль, но не запоминал вход, и после отправки формы экран просто не реагировал. Причина оказалась в настройке, отключавшей сохранение сессий — вернули её на нужный уровень.
  8. Выполнили требования по персональным данным. Через сайт идут заявки участников с их данными: опубликовали политику обработки, добавили обязательную отметку согласия в обе формы и ссылки на документы. Проверили, что без отметки форма не отправляется — и в браузере, и на сервере.
  9. Привели в порядок права на домен. Домен фонда требовал обязательной идентификации владельца, а для организации она проходит через Госуслуги. Подготовили документы и довели процедуру до конца — домен подтверждён.

Итоги

  • Заявки участников конкурса доходят до фонда и не попадают в спам.
  • Посторонний код удалён, пароли сменены, лишние учётные записи закрыты.
  • База данных — 13,5 МБ вместо 611; предупреждений хостинга о перерасходе больше нет.
  • Главная открывается за 0,57 секунды вместо 3,9.
  • Панель управления снова доступна сотрудникам фонда — материалы нового сезона вносит сам заказчик, как и раньше.
  • Работа с персональными данными оформлена, права на домен подтверждены.

Сайт принят на абонентскую техническую поддержку: в её рамках выполняем все необходимые работы — обновления, проверки, правки и развитие разделов. Разница видна на самом проекте: пока сопровождение шло, такие вещи находили и закрывали по ходу дела; как только оно прекратилось — накопились и проявились все разом.

Команда проекта

Мария Мотева

Дизайн сайта

Олеся Алексеева

Разработка и доработки

Виктор Олексюх

Разработка, разделы и шаблоны

Владислава Берзина

Разработка, безопасность и нагрузка

Наталья Бондарь

Ведение проекта

Дмитрий Белоусов Дмитрий Белоусов

Руководитель проекта, разработчик

Начинаем с аудита: что не так, чем грозит и сколько стоит починить. Дальше — плановые работы на тарифе обслуживания.

На тарифе техподдержки вы получаете:

  • Фиксированный ежемесячный платёж
  • Перерасход до ×2 без доплат
  • Перенос неизрасходованных часов
  • Выделенный менеджер
  • Ежемесячные отчёты
Все тарифы поддержки

Давно не занимались технической стороной сайта?

Расскажите о проекте — посмотрим, в каком он состоянии, и оценим объём работ.