Христианский центр София, церковь в Люлине с воскресным богослужением, детским служением, двумя библейскими школами и домашними группами. Им нужен был сайт, который не был бы похож ни на один церковный сайт в Болгарии и через который люди могли бы жертвовать по карте, не переписывая IBAN.
Это был самый сложный сайт, который мы делали в этой категории, по трём отдельным причинам.
Первая, главная страница. Вместо меню сверху на ней фотография пасторов в полный рост, а вокруг них шесть круглых кнопок: Семья, Команда, Библейские школы, Узнать больше, Пожертвовать и Отдать свою жизнь. Круг, самая неблагодарная форма в веб-дизайне, потому что при смене экрана он ведёт себя не как прямоугольник. Шесть кругов, которые должны располагаться вокруг человека на фотографии, не закрывать его, не перекрываться и одинаково хорошо читаться на телефоне и широком мониторе, пришлось переделывать больше раз, чем всю остальную страницу. Под ними мы разместили счётчик, который сам считает, сколько осталось до следующего богослужения.
Вторая, пожертвования. Мы не прикрепили кнопку к чужой платформе, а написали собственный API: Node и PostgreSQL, отдельно от сайта. Жертвователь выбирает разовое пожертвование или партнёрство, причём партнёрство может быть ежемесячным или еженедельным, то есть подпиской Stripe, а не разовым платежом. Каждый платёж записывается в базу только после подтверждения Stripe через webhook, а не когда браузер возвращается на страницу благодарности, потому что браузер врёт. Stripe по задумке отправляет один и тот же webhook больше одного раза, поэтому каждое событие записывается по идентификатору, а повторная обработка ничего не добавляет: дублированное пожертвование появиться не может. Второй и каждый последующий платёж по ежемесячному партнёрству приходит как счёт, а не как новая сессия, и хранится в отдельной таблице. Тот, кто предпочитает банковский перевод, видит на той же странице имя владельца счёта, банк, IBAN и BIC, а номер копируется одним нажатием.
Третья, дизайн. Здесь нет купленного шаблона и повторяющегося лейаута: каждая из семнадцати страниц сделана отдельно, со своими цветами и собственной структурой. В школе «Пистис» есть вопросы и ответы, на странице пожертвований, четыре декларации о пожертвовании, а детское служение, домашние группы, команда и проповеди оформлены совершенно по-разному. Сайт вышел в продакшен на ccsofia.com в сентябре 2026 года.
После запуска мы сделали и GEO-оптимизацию: сайт, это приложение Vue, и каждая страница возвращала боту, который не выполняет JavaScript, ноль слов, то есть ботам ChatGPT, Claude и Perplexity. Мы написали сборку при build, которая открывает каждый маршрут в браузере и сохраняет готовый HTML. Все семнадцать из семнадцати страниц теперь читаются AI-поисковиками.
В октябре 2026 года мы добавили и собственную CMS. Церковь хотела самостоятельно менять время богослужений, адрес, фотографии команды и предстоящие события, не обращаясь к нам по каждому изменению, а английская версия до этого была машинным переводом, который не работал. Условие было одно: дизайн и HTML сайта должны остаться прежними до последнего пикселя. Мы установили Directus поверх той же базы данных и описали весь сайт как контент: 71 коллекция, у каждой страницы свои поля, списки событий, лидеров, школ и предметов, а также перевод каждого текстового поля на оба языка.
Редактор визуальный: команда открывает сайт внутри панели, указывает на текст, время или фотографию, появляется карандаш, после чего они вносят изменения и нажимают «Сохранить». Примерно через две минуты сайт собирается заново, статический HTML для Google и AI-поисковиков снова генерируется, и изменение публикуется без какого-либо вмешательства с нашей стороны. Проповеди по-прежнему автоматически поступают с YouTube и скрываются одним флажком. Английский теперь настоящий перевод, а не Google Translate, и редактируется там же.
Мы предоставили клиенту минимально необходимый доступ: роль «Редактор», которая видит только визуальный редактор, шесть списков и собственный профиль, без пожертвований, пользователей и настроек. Пароль длиной не менее 12 знаков, задержка при неверном входе, загрузка только фотографий и PDF. Перед запуском мы автоматически сравнили DOM всех 17 страниц до и после подключения панели: всё одинаково.