Технические детали
Две продакшн-системы на edge‑инфраструктуре, без зависимости от единого плагина
Инвентаризация инфраструктуры и панели управления для motperde.com и bursaucuznakliye.net.tr, извлечённая из кодовой базы от начала до конца. В отличие от готовых систем управления контентом на основе пакетов/плагинов, обе системы — это написанное с нуля собственное программное обеспечение, работающее на edge‑сети и не требующее сервера базы данных.
Чем это отличается от готовых систем
Пять измерений — без указания имён, в сравнении с традиционной архитектурой CMS на плагинах.
| Измерение | Эта система | Традиционная CMS на плагинах |
|---|---|---|
| Модель хостинга | Нет единого сервера — запрос обрабатывается ближайшей точкой сети по всему миру, риск «сервер упал» структурно отсутствует | Единый центральный сервер (или ограниченный CDN‑кэш), узкое место при росте трафика |
| База данных | Motperde: хранилище ключ-значение с низкой задержкой, SQL‑сервера для администрирования нет. Nakliye: базы данных нет вообще, контент встроен в код на этапе сборки | Отдельный процесс SQL‑базы — требует резервного копирования, совместимости версий, оптимизации запросов |
| Поверхность атаки | Плагинов нет → нет уязвимостей, связанных с плагинами. Вход в админку — на собственной логике токена/сессии, стандартное сканирование форм входа бесполезно | Тысячи сторонних плагинов, регулярные объявления об уязвимостях, известная цель автоматических сканирующих ботов |
| Скорость страницы | Серверный рендеринг + статические ресурсы отдаются с ближайшей точки сети; измеренный PageSpeed 100/100 (сайт по грузоперевозкам, измерено) | Замедляется по мере роста стека плагинов, компенсируется плагинами кэширования |
| Нагрузка на обслуживание | Автоматическая сборка + развёртывание одной командой, конфликтов версий/совместимости нет | Ядро + тема + каждый плагин нужно обновлять по отдельности, поломка сайта после обновления — обычное дело |
| Кастомизация | Каждый модуль админ-панели написан с нуля под реальную потребность бизнеса (например, 7 разных типов калькуляторов товаров, полная интеграция 5 платёжных провайдеров) | Ограничена возможностями готового плагина; для особой бизнес-логики нужен ещё один плагин или внедрение кода |
Инфраструктура и развёртывание
- Serverless edge‑архитектура — все запросы проходят через единую точку входа; здесь же централизованно управляются обратные вызовы платёжных провайдеров, редиректы и заголовки безопасности.
- Двухуровневая конфигурация развёртывания — разработка и продакшн изолированы отдельными файлами конфигурации; отдельно проверяется, что изображения действительно отправляются в продакшн.
- Автоматические заголовки безопасности — HSTS, защита от кликджекинга, защита от MIME‑сниффинга, политика referrer добавляются к каждому HTML‑ответу.
- Редирект с www на корневой домен — несоответствия регистра и разные варианты адреса сводятся к единому адресу для поисковой системы.
- Фирменная страница ошибки — при ошибках серверного рендеринга посетитель видит не голую техническую ошибку, а страницу в стиле бренда.
Аутентификация и сессии
- Собственный слой аутентификации админки — пароль хранится необратимо, при каждом входе генерируется одноразовый сессионный ключ, который сам истекает через 7 дней.
- Минимальная поверхность утечки — вместо стандартной сессии на cookie/JWT используется клиентская логика токена; автоматические боты, сканирующие типовой вход в CMS, эту систему не распознают.
- Смена пароля внутри панели — обязательна проверка старого пароля, для нового действует проверка минимальной длины.
- Панель закрыта от поисковых систем — маршрут админки помечен мета-тегом «не индексировать».
Ценообразование и курсовой движок
- Управление курсом валют из одной точки — все цены товаров хранятся в USD, изменение курса в одном месте мгновенно обновляет весь каталог.
- Наценка/маржа по группам товаров — процентная наценка на категорию, динамически поддерживается и для новых категорий, добавленных через панель.
- Сохранение истории цен — даже если категория удалена из панели, наценка для неё сохраняется без потери данных.
- Режим «цена по запросу» — для отдельных товаров цену можно скрыть и вместо добавления в корзину направлять к контактам.
Управление страницами и меню
- Сортировка меню перетаскиванием — порядок верхнего меню, лент/категорий на главной и подвала синхронно обновляется из одной панели одним сохранением.
- Переключатель видимости страницы — любую категорию/страницу можно скрыть из меню, данные при этом сохраняются в архиве, не удаляясь.
- Создание собственных страниц — из панели можно добавить неограниченное число новых категорий/страниц товаров: заголовок, обложка, описание, SEO‑описание, иерархия родитель/потомок.
- Редирект со старой страницы на новую — удалённая страница автоматически привязывается к новому адресу постоянным редиректом, дружественным для поисковых систем.
- Массовое редактирование цен — цены всех товаров на странице можно массово обновить с одного экрана.
Товары и система калькуляторов
- 7 разных логик ценообразования в одной панели — калькуляторы по квадратным метрам, по ширине×складкам×крылу, по количеству с акциями, по модели/таблице, по отдельному списку размеров, по детали/коду и по таблице типов — каждый написан под реальную логику продаж своей товарной группы.
- Добавление/редактирование/удаление товара через панель — новый товар, модель, цвет, вариант размера можно определить без вмешательства разработчика.
- Управление значениями калькулятора по умолчанию — начальное значение и диапазон мин/макс/шаг для каждого товара/группы переопределяются из панели.
Медиа и управление файлами
- Сжатие изображений прямо в браузере — каждое загруженное изображение автоматически конвертируется и сохраняется в трёх разрешениях в современном сжатом формате.
- Организация альбомов/папок — тысячи изображений упорядочиваются в группы по тегам.
- Защита используемых изображений — если изображение используется в каком-либо товаре/странице, его случайное удаление блокируется.
- Очистка «осиротевших» изображений — неиспользуемые изображения можно удалить как автоматически, так и вручную из панели — расходы на хранение не растут бесконтрольно.
- Отдельное хранилище файлов/каталогов — загружаемые файлы вроде PDF отдаются независимо от изображений, со своего отдельного публичного адреса.
Платёжная инфраструктура
- 5 полностью интегрированных платёжных провайдеров — iyzico, PayTR, Craftgate, Moka и PayU — каждый подключён с нуля по официальному алгоритму подписи/проверки.
- Выбор провайдера из панели — активный провайдер, тестовый/боевой режим и статус вкл/выкл управляются с одного экрана; по умолчанию — тестовый режим и выключено, риска случайного приёма боевого платежа нет.
- Маскированные учётные данные — API‑ключи, введённые в панели, больше никогда не показываются полностью, видны только последние 4 цифры для проверки.
- Платёжные данные вне резервного копирования — из-за чувствительности данных платёжные учётные данные сознательно исключены из общей системы резервного копирования.
- Отдельные конечные точки обратных вызовов по провайдерам — callback‑запрос каждого платёжного провайдера обрабатывается отдельно, на уровне сырого HTTP, с проверкой подписи.
Резервное копирование и восстановление
- Ежедневный автоматический бэкап — выполняется каждую ночь по расписанию, хранится за последние 14 дней.
- Мгновенный бэкап перед сохранением — перед любым действием «сохранить» в панели текущее состояние автоматически резервируется.
- Восстановление в один клик — можно вернуться к любой точке резервной копии; перед восстановлением текущее состояние также отдельно бэкапится.
- Экспорт данных — все данные сайта можно скачать в формате JSON.
Студия изображений на ИИ
- Предпросмотр интерьера «текст в изображение» — когда клиент выбирает группу штор, цвет и тип комнаты, автоматически формируется подходящее описание сцены, и модель генерации изображений на edge мгновенно создаёт картинку.
- Промпт-инжиниринг под каждую товарную группу — для 9 разных групп штор определены отдельные правила сцены.
- Честная по квоте обработка ошибок — при превышении дневного лимита генерации пользователю показывается чёткое сообщение о реальной ситуации, без тихого сбоя.
SEO и видимость для ИИ (GEO)
- Карта сайта из живых данных — любое изменение в панели мгновенно отражается в карте сайта, удалённые страницы автоматически убираются.
- Автоматизация структурированных данных — rich‑данные для магазина, товаров и сайта генерируются автоматически на каждой странице; поддельные рейтинги/отзывы сознательно не добавляются.
- Файл-сводка для ИИ-поисковиков — для инструментов вроде ChatGPT/Perplexity предоставляется отдельный адрес со сводкой, генерируемой из живых данных, чтобы сайт описывался точно.
- Интеграция с поисковой консолью — реальные данные по кликам/показам регулярно экспортируются и архивируются.
bursaucuznakliye.net.tr
корпоративный сайт услуг · архитектура на данных, без панели администратораИнфраструктура и развёртывание
- Архитектура контента полностью на файлах данных — услуги, районы, кварталы, маршруты и записи блога хранятся в типобезопасных файлах кода; отдельной базы данных, которую нужно опрашивать во время выполнения, нет — на одну точку отказа меньше.
- Публичный тестовый поддомен сознательно отключён — риск того, что поисковая система увидит один и тот же контент на двух разных адресах и «разделит» его ценность, устранён заранее.
- Неизменяемый кэш на 1 год для статических ресурсов — при повторных визитах страница загружается почти мгновенно.
- Временные метки, зафиксированные во время сборки — информация «последнее обновление» в карте сайта фиксируется в момент реальной сборки — поисковой системе не подаётся ложный сигнал «меняется каждый день».
Безопасность
- Архитектура с нулевой поверхностью атаки — поскольку нет формы входа, учётной записи пользователя и базы данных, классические типы атак — перебор, SQL‑инъекция, перехват сессии — технически невозможны.
- Заголовки безопасности и на сервере, и на уровне статических ресурсов — HSTS, защита от кликджекинга, защита от MIME‑сниффинга присутствуют в каждом ответе.
- Единственная внешняя точка доступа защищена общим секретным ключом — единственная конечная точка, используемая агентом автоматизации, проверяется закрытым ключом.
Автономный ИИ-агент контента
- Ежедневная автоматическая генерация FAQ — внешний планировщик раз в день вызывает защищённую конечную точку, получает черновик контента от двух разных ИИ-моделей и добавляет его в контент сайта.
- Обработка ошибок с учётом квоты — превышение лимита чётко определяется и сообщается, без тихого сбоя.
- Публикация под контролем человека — сгенерированный контент публикуется не напрямую в продакшн, а проходит через обычный процесс сборки и развёртывания.
SEO и видимость для ИИ (GEO)
- Карта сайта, robots и файл-сводка для ИИ полностью из данных — списки услуг/районов/кварталов/маршрутов/блога формируются автоматически из единого источника данных, а не вручную.
- Дисциплина против doorway‑страниц — число страниц по кварталам сознательно ограничено — мера против риска штрафа за низкокачественные/шаблонные страницы.
- Структурированные данные с реальными ценами — на страницах услуг используются реальные, подтверждённые пользователем ценовые уровни, а не выдуманные цены/рейтинги.
- Подтверждение через поисковую консоль и быстрое уведомление о новом контенте — о новых/обновлённых страницах сообщается поисковой системе, не дожидаясь стандартного обхода.
Итог
Ключевые инженерные решения
Детали, которые на уровне кода отвечают на вопрос покупателя «а действительно ли этот проект сделан серьёзно».
Честная дисциплина данных
Ни на одной странице нет выдуманных рейтингов, поддельных отзывов или несуществующих остатков — сознательное решение не отправлять Google ложные сигналы.
Измеримая динамика SEO
Данные поисковой консоли регулярно архивируются; утверждение «трафик растёт» опирается не на предположения, а на зафиксированные измерения.
Самозащищающееся резервное копирование
Перед каждым сохранением в админке автоматически создаётся мгновенный бэкап — риск необратимой ошибочной операции на практике исчезает.
Ноль плагинов, ноль риска лицензий
Нет зависимости от сторонних лицензий на плагины/темы — нет риска, что «разработчик плагина забросил проект».
Учётные данные провайдера никогда не видны полностью
Ключи, введённые при интеграции оплаты, маскируются даже в панели — поверхность внутренней угрозы сужена.