Сайты

Реализованный проект

Сайт Switch On AI: контент, заявки и Telegram

Собственный сайт объединяет услуги, материалы и приём заявок. Тексты редактируются отдельно от оформления, а обращения сохраняются в базе и приходят уведомлениями в Telegram.

Страницы сайта на компьютере и телефоне связаны с формой заявки
Иллюстрация процесса
Статус работы
Реализованный проект
Задача
Создать управляемый сайт компании с отдельным контентом, поисковой структурой и рабочим процессом приёма заявок.
Результат и границы
Сайт размещён на VPS с HTTPS. Заявки сначала сохраняются в базе, затем доставляются в Telegram; тексты и изображения можно обновлять отдельно от шаблонов страниц.

Как устроен процесс

  1. Найти нужный раздел

    Перейти от услуги к объяснению процесса или примеру.

  2. Заполнить форму

    Указать контакт и подтвердить согласие.

  3. Сохранить заявку

    Проверить данные на сервере и записать их в SQLite.

  4. Доставить уведомление

    Передать заявку в согласованную тему Telegram-группы.

Системы и инструменты
  • Next.js
  • TypeScript
  • MDX / JSON
  • SQLite
  • Telegram
  • Docker / Caddy

Сайт как рабочий инструмент компании

Switch On AI создавался как собственный сайт услуг автоматизации. Нужно было объяснить направления работы, подготовить структуру для развития контента и сделать понятный способ обращения. Поэтому задача не ограничивалась первым экраном и кнопкой контакта.

Проект объединяет страницы услуг, справочные материалы, кейсы и документы. Общий интерфейс собирается из переиспользуемых компонентов, чтобы новые разделы не выглядели отдельными сайтами.

Контент отделён от интерфейса

Тексты и данные находятся в MDX и JSON. Компоненты отвечают за представление, навигацию и поведение элементов. Такой подход позволяет редактировать содержание без поиска фраз внутри программной логики.

Для адресов действуют общие правила: латиница, нижний регистр и дефисы. У каждой страницы есть заголовок, описание для поиска и указание основного адреса — canonical. Структурированные данные строятся из того же содержания, которое видит посетитель: например, ответы FAQ не поддерживаются отдельной скрытой копией.

Основное содержание подготавливается статически. Динамический обработчик используется там, где он нужен по смыслу, — при приёме заявки. Это позволяет развивать страницы независимо от механизма уведомлений.

Заявка сначала сохраняется

В форме посетитель указывает имя и удобный контакт. Описание задачи необязательно. Перед отправкой требуется отдельное согласие, связанное с документами сайта. Проверка выполняется не только в браузере, но и в серверном обработчике.

После проверки заявка и сведения о согласии сохраняются в SQLite на VPS. Уведомление доставляется в согласованную тему закрытой Telegram-группы отдельным процессом. База отделена от исходного кода и сборочного образа.

Такой порядок важен при временной ошибке Telegram: сохранённая заявка не должна зависеть только от успешности одного внешнего запроса. Статус доставки можно разбирать отдельно от факта приёма формы.

Проверка обычного и ошибочного пути

Посетитель может отправить заявку без подробного описания, но не без контакта и согласия. При ошибке он получает понятное сообщение и сохраняет возможность исправить данные. Контактные действия в шапке остаются альтернативой форме.

Отдельно проверяется повторное действие и отказ внешнего канала уведомлений. Успех интерфейса должен соответствовать фактическому сохранению заявки, а не просто нажатию кнопки. Секреты бота не попадают в браузер и публичный контент.

Что получилось

Сайт Switch On AI размещён на VPS и работает по HTTPS. Настроены страницы, приём заявок, база и доставка уведомлений. Новые материалы используют общий шаблон и проходят проверки перед размещением.

Согласие проверяется на сервере. Аналитика загружается только после отдельного выбора посетителя; данные формы отделены от статистики посещений.

Границы решения

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

Подготовка запросов разобрана в семантической карте, а наблюдение за сайтом — в SEO-мониторинге.

ИнтеграцииПроверка результата

Вопросы по этой задаче

Можно менять тексты без редактирования компонентов?

Да. Содержание проекта хранится в MDX и JSON отдельно от интерфейсной логики. Изменения всё равно проходят проверку и сборку.

Заявка существует только как сообщение в Telegram?

Нет. Сначала она сохраняется в SQLite на VPS, затем отдельный процесс доставляет уведомление. Хранение и доставка разделены.