Подрядчик пропал: как забрать сайт под контроль

Сайт сделали несколько лет назад, он работает, заявки идут. А потом студия закрылась, фрилансер перестал отвечать на письма, а сисадмин, который «всё знал», уволился. Сайт от этого не упал — и именно поэтому кажется, что делать ничего не надо.

Проблема в том, что такой сайт ломается не постепенно, а сразу и в неудобный момент: хостинг обновил PHP, истёк SSL-сертификат, никто не продлил домен. Пока всё работает, у вас есть спокойная неделя, чтобы собрать доступы и понять, в каком состоянии сайт. Когда он ляжет, вы будете собирать те же самые доступы, но в выходные, в панике и с потерянными заявками. Ниже — чек-лист, который можно пройти самостоятельно.

Что у вас должно быть на руках

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

Что забратьГде это лежит / у кого спроситьПризнак, что всё в порядке
ДоменЛичный кабинет регистратора. Если не знаете какого — посмотрите whois по своему домену, регистратор там указан всегда. Ещё подсказка: письма о продлении в почте бухгалтерииВы сами заходите в кабинет, в данных администратора домена — вы или ваша компания, дата продления известна
Хостинг или VPSПанель хостинга, доступ по SSH или FTP. Счета за хостинг в бухгалтерии покажут, что за провайдерДоговор оформлен на вас, вы входите в панель и можете скачать файлы сайта и дамп базы
Админка Битрикса/bitrix/admin/, ваш личный пользователь в группе «Администраторы»Вы заходите под собственным логином, а не под общим admin с паролем из переписки
Лицензионный ключ БитриксаВ админке: Настройки → Обновление системы. Плюс письмо от вендора при покупке и личный кабинет на сайте 1С-БитриксКлюч сохранён у вас отдельно от сайта, известна редакция и дата окончания обновлений
Почта на доменеПанель почтового сервиса или панель хостинга — там, где заведены ящики вида info@У вас права администратора почтового домена: можете создать и удалить ящик, сбросить пароль
Метрика, Вебмастер, Search ConsoleСами сервисы. Владельцем счётчика часто оказывается аккаунт подрядчикаВаш аккаунт — владелец, а не гость с правом чтения. Историю счётчика за прошлые годы потом не восстановить
ИсходникиРепозиторий на GitHub, GitLab или Bitbucket. Если репозитория нет — архив папок /local/ и /bitrix/templates/ плюс дамп базыКопия кода лежит не только на боевом сервере, и вы можете отдать её любому разработчику

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

Домен — первое, что надо спасать

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

Откройте whois-сервис любого крупного регистратора и введите свой домен. Для доменов в зоне .ru вы увидите регистратора, дату регистрации и дату окончания (paid-till). Если домен оформлен на компанию — будет видно название организации. Если на физическое лицо — вместо имени будет отметка, что данные скрыты, и это само по себе повод разбираться: скрытым физлицом может оказаться ваш бывший подрядчик.

Дальше два сценария.

  • Контакты подрядчика живы. Просите передачу прав на домен, пока отношения нормальные. У регистраторов это штатная процедура смены администратора домена, она делается по заявлению с обеих сторон. Одновременно просите доступ в кабинет регистратора или перенос домена к вашему регистратору.
  • Контактов нет. Пишите напрямую регистратору, он указан в whois. Дальше всё зависит от того, чем вы можете подтвердить право на домен: договор с подрядчиком, платёжки за домен и хостинг, товарный знак, письма о продлении на вашу почту. Процедура у каждого регистратора своя, поэтому первое письмо — вопрос «что вы примете как подтверждение», а не готовый пакет документов.

Отдельно поставьте себе напоминание за месяц до paid-till. Домены чаще теряют не в спорах, а потому что счёт на продление ушёл на почтовый ящик человека, который уже не работает.

Как понять, что сайт вообще обновляется

Зайдите в админку: Настройки → Обновление системы. На этой странице видно три вещи: текущую версию ядра, лицензионный ключ и дату, до которой действует доступ к обновлениям. Первый год обновлений входит в лицензию, дальше продление стоит 25 % от цены редакции в год.

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

Там же, в админке, посмотрите ещё два места:

  • Настройки → Проактивная защита → Сканер безопасности (если модуль есть в вашей редакции). Он проверит права на файлы, настройки PHP и типовые дыры и выдаст список с уровнями опасности. Запускать его можно самому, отчёт понятен без разработчика.
  • Настройки → Производительность → Монитор производительности. Там же видно версию PHP и соответствие требованиям платформы. Если PHP старый, а хостинг завтра его отключит, сайт встанет — и это самая частая причина внезапного «всё пропало» у заброшенных сайтов.

Бэкап, который действительно восстанавливается

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

Рабочая проверка выглядит так:

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

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

Признаки, что сайтом давно никто не занимался

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

  • Версия PHP на хостинге старая, а платформа требует новее — в мониторе производительности это помечено прямо.
  • Дата окончания обновлений давно прошла, обновления никто не ставил.
  • В группе «Администраторы» висят люди, которых вы не знаете: бывшие сотрудники, сотрудники подрядчика, пользователи без фамилии. Последний вход — годы назад.
  • Правки сделаны прямо в папке /bitrix/ вместо /local/. Это значит, что любое обновление ядра затрёт доработки, и поэтому обновления, скорее всего, и не ставили.
  • Нет тестовой копии сайта. Все изменения годами вносились сразу на боевой.
  • В логах сервера и в админке копятся ошибки, на которые никто не реагирует.
  • В корне сайта лежат файлы вида index_old.php, test.php, архивы и дампы базы, доступные из интернета.

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

Что делать дальше

Дальше три честных варианта, и первый из них бесплатный.

  • Пройти чек-лист самому. Собрать семь доступов, проверить домен через whois, посмотреть дату обновлений и скачать копию к себе. Этого уже достаточно, чтобы сайт перестал быть заложником чужого почтового ящика.
  • Заказать аудит сайта на Битриксе — 30 000 ₽, 3 рабочих дня. Мы проверяем ядро, модули и лицензию, безопасность сканером и вручную, производительность, хостинг и технический SEO-минимум. На выходе — отчёт с разбивкой «критично / важно / желательно», где для каждой проблемы написано, что делать, и стоит оценка в часах. Это фактически готовая смета: вы можете чинить своими силами, у нас или у кого угодно ещё. Исправление в аудит не входит — мы сначала показываем картину, потом вы решаете.
  • Сразу подключить поддержку по подписке. Тогда обновления, бэкапы вне хостинга, мониторинг и контроль продления лицензии и SSL становятся нашей заботой, а часы на задачи идут на правки и доработки. Если сайт давно не трогали, разумнее начать с аудита: иначе первый месяц подписки уйдёт на разбор завалов. Стоимость аудита мы засчитываем в первый месяц подписки, если вы закажете её в течение 30 дней после отчёта.

Если хотите понять состояние сайта до того, как он сломается

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

Все статьи