Статья

Поддержка самописного сайта: особенности сопровождения

28 июня 202613 мин чтения
Амиржан Тажин
Амиржан Тажин

Директор Точка KZ

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

Особенности поддержки самописного сайта

Полностью уникальный код без CMS

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

Доступы и документация — обязательное условие

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

Риск vendor lock при смене подрядчика

Если сайт написан без учёта передачи проекта другому исполнителю, смена подрядчика превращается в дорогостоящий процесс восстановления знаний о системе.

Патчи безопасности — только вручную

У самописного сайта нет сообщества, которое выпускает обновления безопасности — все уязвимости находит и исправляет команда, которая сопровождает проект.

Нет готовых решений на все случаи

В отличие от CMS с большой экосистемой плагинов, для самописного сайта любая новая функция разрабатывается индивидуально — это влияет на сроки и стоимость доработок.

Нужна консультация?

Расскажите, что у вас за задача — бесплатно проконсультируем и предложим, как её решить.

Получить консультацию

Плюсы и минусы поддержки самописного сайта

Плюсы

  • Полный контроль над архитектурой и качеством кода
  • Нет лишнего функционала и балласта от неиспользуемых модулей CMS
  • Гибкость в реализации нестандартных требований бизнеса

Минусы

  • Высокая зависимость от квалификации и документации текущего подрядчика
  • Выше стоимость почасовой поддержки по сравнению с типовыми CMS
  • Нет сообщества и готовых решений — любая доработка пишется с нуля

Если сайт ещё предстоит разработать с нуля, особенности такого подхода разбираем в статье «Создание самописного сайта». Похожий уровень инженерной поддержки требуется и для сайтов на Laravel или Yii.

Практические рекомендации

Ведите документацию и Git-репозиторий

Даже базовое описание архитектуры и истории изменений в Git критично снижает риски при передаче или расширении команды на проекте.

Запросите техническую документацию перед началом

Перед тем как брать сайт на поддержку, оцените, что уже известно о его структуре — это определяет реальную стоимость и сроки сопровождения.

Храните доступы централизованно

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

Чем сопровождение самописного сайта отличается от других

На сайте с готовой CMS большую часть работы по обновлению и безопасности выполняют разработчики платформы. На самописном сайте такого «фонового» сопровождения нет: каждую уязвимость, каждое обновление зависимости и каждое изменение окружения должна отслеживать команда проекта. Это не недостаток, а особенность, которую нужно учитывать при планировании бюджета.

Вторая особенность — зависимость от знаний о коде. Если документации нет, а автор недоступен, любая задача начинается с изучения проекта. Поэтому первая задача при принятии такого сайта — снять риск «чёрного ящика»: разобраться в структуре, описать её и убедиться, что проект можно развернуть с нуля.

Что должно быть передано при начале сопровождения

Материалы для сопровождения самописного сайта
Материалы для сопровождения самописного сайта
МатериалЗачем нуженЧто будет, если его нет
Доступ к репозиторию кодаВидеть историю и вносить измененияНевозможность работать с проектом
Инструкция по развёртываниюПоднять копию сайта на тестовом сервереРиск потерять сайт при аварии
Описание архитектуры и базы данныхПонимать связи между модулямиРост времени любой доработки в 2–3 раза
Список зависимостей и версийПланировать обновленияНакопление уязвимостей
Доступы к серверу, домену, почтеАдминистрирование и восстановлениеОстановка при уходе сотрудника
Резервные копииВосстановление после сбояПотеря данных

Состав материалов зависит от архитектуры проекта.

Если часть материалов отсутствует, их создают на первом этапе сопровождения. Это разовые работы, за которыми следует регулярное обслуживание по регламенту.

Регламент сопровождения

Регламент сопровождения самописного сайта
Регламент сопровождения самописного сайта
РаботаПериодичностьЧто проверяем
Мониторинг доступности и ошибокКруглосуточноДоступность, коды ответа, журналы
Резервное копирование базы и файловЕжедневноЦелостность копии и место хранения
Проверка уязвимостей зависимостейРаз в неделюОтчёт по используемым библиотекам
Обновление библиотек и окруженияРаз в месяц или кварталСовместимость и тесты
Анализ производительностиРаз в кварталМедленные запросы, нагрузка, кэш
Проверка восстановления из копииРаз в полгодаПолное развёртывание на отдельном сервере
Ревизия доступов и ролейРаз в полгодаНеактивные учётные записи, права

Для критичных систем периодичность может быть выше.

Работа с кодом: порядок внесения изменений

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

Любое изменение выполняется в отдельной ветке репозитория и проверяется вторым специалистом перед объединением с основной версией. Это снижает число ошибок и оставляет понятную историю: кто, когда и зачем изменил код.

Автоматические тесты

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

Публикация и откат

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

Безопасность самописного сайта

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

  • Защита от внедрения вредоносных запросов в базу данных и в страницы.
  • Корректная проверка прав доступа на каждом действии, а не только в интерфейсе.
  • Безопасное хранение паролей и ограничение числа попыток входа.
  • Своевременное обновление библиотек и серверного окружения.
  • Шифрование соединения и защита служебных данных и ключей.
  • Регулярные резервные копии вне основного сервера.

Стоимость сопровождения и доработок

Тарифы на сопровождение самописного сайта
Тарифы на сопровождение самописного сайта
ТарифСтоимостьРезервное копированиеПравки в месяцМониторинг
Базовыйот 30 000 ₸/мес1 раз в неделюДо 1 часа24/7
Стандартот 70 000 ₸/месЕжедневноДо 4 часов24/7
Премиумпо договоруБэкапы и мгновенное восстановлениеРасширенный объём24/7, выделенный специалист

Для самописных сайтов тариф обычно определяется после аудита.

Оценка трудоёмкости доработок самописного сайта
Оценка трудоёмкости доработок самописного сайта
Тип задачиПримерыОриентир по времени
МалаяИзменение текста, правка формы, новое поле1–4 часа
СредняяНовый раздел, отчёт, интеграция с простым сервисом2–5 рабочих дней
КрупнаяНовый модуль, личный кабинет, платёжная система2–6 недель

Оценка уточняется после изучения кода и постановки задачи.

Подробности о тарифах — на странице услуги по сопровождению сайтов. Если проект ещё в планах, прочитайте «Создание самописного сайта».

Когда сайт нужно рефакторить или переписать

  • Каждая новая функция занимает больше времени, чем должна, потому что код запутан.
  • Сайт часто падает, а причины найти не удаётся без глубокого анализа.
  • Использованные технологии устарели и не поддерживаются разработчиками.
  • Нет специалистов, готовых работать с этим кодом за разумные деньги.
  • Бизнес-процессы изменились, а структура данных их не поддерживает.

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

Как принять сайт без документации

  1. Получить все доступы и сделать полную резервную копию кода, базы и файлов.
  2. Развернуть копию на отдельном сервере и убедиться, что она работает.
  3. Описать структуру проекта: модули, базы, внешние сервисы, периодические задачи.
  4. Запустить проверку зависимостей и зафиксировать найденные уязвимости.
  5. Составить список рисков и план исправлений с оценкой трудоёмкости.
  6. Согласовать регламент и приоритеты на ближайшие три месяца.

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

Как оценивать подрядчика по сопровождению

Хороший специалист по сопровождению самописного сайта отличается не количеством обещаний, а качеством процессов. Он задаёт вопросы о состоянии проекта, просит доступ к репозиторию и журналам ещё до подписания договора, а в первом же отчёте показывает конкретные находки: устаревшие библиотеки, отсутствие тестов, слабые места в безопасности. Если вам обещают «всё починить и поддерживать», не взглянув на код, это повод насторожиться.

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

Планирование развития сайта

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

Хорошая практика — выделять постоянный небольшой объём часов на технические улучшения: упрощение кода, добавление тестов, обновление окружения. Эти работы не видны посетителям, но снижают стоимость каждой следующей доработки. Если их откладывать, сайт постепенно превращается в проект, который боятся трогать, и тогда любая новая функция требует непропорционально больших усилий.

Как договориться о сроках реакции

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

  • Авария, когда сайт недоступен или не принимает заказы: реакция в течение 1 часа в рабочее время и устранение в течение рабочего дня.
  • Серьёзный сбой одной из функций: реакция в течение 4 часов и устранение в течение 1–2 рабочих дней.
  • Обычные задачи и доработки: реакция в течение 1 рабочего дня, срок определяется после оценки трудоёмкости.

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

Итоговые рекомендации

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

Что запомнить

Самописный сайт требует доступа к коду, документации и регулярного обновления зависимостей. Не откладывайте аудит, если проект достался вам без описания: чем раньше выявлены риски, тем дешевле их устранение.

Частые вопросы

Чем поддержка самописного сайта отличается от поддержки CMS?

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

Сколько стоит поддержка самописного сайта?

Стоимость обычно выше, чем для CMS, из-за индивидуального характера разработки. Ориентир по тарифам — на странице услуги «Техническое сопровождение сайтов».

Можно ли передать самописный сайт другому подрядчику?

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

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

Нужен аудит или передача самописного сайта на поддержку? Оставьте заявку — обсудим детали и подготовим план сопровождения.

Бесплатная консультация

Расскажите о задаче — найдём решение

Ответим в течение 2 часов в рабочее время.