We Free Описать проблему
Меню

Аварийные работы

Восстановление сайта после сбоя, взлома или потери доступа

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

Не начинаем с кнопки «восстановить вчерашнее». Сначала фиксируем состояние и определяем, что именно сломано: иначе вместе с поломкой легко стереть и данные, и следы её причины.

Аварийный разбор от 10 000 руб. · что входит

Работаем удалённо по всей России. Отвечаем с 8:00 до 18:00 по московскому времени.

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

Четыре разные задачи

«Восстановить сайт» означает четыре разные работы

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

Сайт не открывается

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

Сайт открывается, но работает не так

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

Следы чужого вмешательства

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

Возвращать не из чего

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

Первый шаг

Сначала фиксируем состояние, потом чиним

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

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

Что именно записать и в каком виде передать исполнителю, подробно разобрано в статье о том, как отличить поломку сайта от проблемы на вашей стороне

Как работаем

От сообщения об ошибке до проверенной работы

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

Устанавливаем границы отказа

Весь сайт или один раздел, до входа в аккаунт или после, при чтении или при сохранении данных. Эти различия определяют, какой участок исследовать первым.

Сохраняем текущее состояние

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

Восстанавливаем хронологию

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

Ищем причину по журналам

Сообщение сервера и приложения сопоставляются с конкретным неудачным запросом. Текст записи обычно сразу разделяет сбой кода и настройку окружения.

Проверяем гипотезу на копии

Исправление готовится вне рабочего сайта. Так видно, что оно действительно устраняет причину, а не маскирует симптом.

Выбираем путь: исправить или вернуть

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

Возвращаем в работу

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

Закрываем причину

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

Резервная копия

Архив есть — это ещё не значит, что сайт можно вернуть

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

Что проверяем в копии

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

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

Что происходит с новыми данными

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

Обычно выбирают одно из двух: ненадолго остановить приём новых данных либо подготовить проверенный способ перенести их в восстановленную версию.

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

После взлома

Очистка убирает последствия, но не закрывает вход

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

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

Разбор по шагам — в статьях о плане восстановления после взлома и о защите от повторного заражения . Заключение «на сайте вирус» само по себе ещё не объясняет, каким путём получили доступ.

Если копий нет

Когда возвращать не из чего, собирают из того, что сохранилось

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

Что ищем

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

Что восстанавливаем первым

Адреса и содержимое страниц, которые приносили обращения. Остальное достраивается дальше, по приоритетам бизнеса, а не по порядку в меню.

Что говорим честно

Чего в источниках нет, то не вернётся. Такие потери называем до начала работ, а не после, и показываем, из чего именно собираем результат.

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

Приёмка

Открывшаяся главная страница ничего не подтверждает

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

Что проверяем вместе с вами

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

При непостоянном сбое один успешный проход устойчивой работы ещё не доказывает — за проблемным сценарием наблюдают и после сдачи.

Что остаётся у вас на руках

Описание найденной причины, перечень внесённых изменений, состав восстановленных данных и названные потери, если они были.

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

Опыт

Восстанавливать приходится то, что писал не ты

Чужой и устаревший код

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

Системы, которые нельзя остановить

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

Проекты, которые ведём годами

Часть сайтов развивается с первого запуска и до сегодняшнего дня. Такой опыт показывает обратную сторону аварий: какие решения потом годами мешают, а какие позволяют вернуть работу быстро.

Разборы конкретных ситуаций собраны в разделе журнала о диагностике и в разделе о безопасности . Проекты со ссылками — в разделе кейсов

Форматы работы

Можно начать с разбора или сразу с возврата в работу

Аварийный разбор

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

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

от 10 000 руб.

Работаем по договору, оплата по счёту до начала работ, закрывающие документы — через ЭДО. Без НДС: упрощённая система налогообложения.

Возврат сайта в работу

Восстановление из проверенной копии или исправление текущей версии, с учётом данных, появившихся после контрольной точки.

Лечение после взлома

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

Сборка заново, когда копий нет

Восстановление содержимого и адресов из уцелевших источников, с честно названными потерями и приоритетом на страницы, которые приносили обращения.

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

Кому подходит

Восстановление работает там, где ищут причину, а не только кнопку

Подходит, если

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

Не подходит, если

  • нужно вернуть доступ к аккаунту в соцсети, а не к сайту;
  • ожидается гарантия восстановления до осмотра источников;
  • нельзя трогать сервер, но нужно вернуть работу сайта;
  • следы уже стёрты и восстанавливать предлагается вслепую;
  • причину выяснять не планируется — важно только «чтобы открылось».

Вопросы

Что обычно спрашивают в первый час

Что сделать в первую очередь, если сайт перестал работать?
Записать адрес страницы, время с часовым поясом, текст ошибки и то, что меняли перед сбоем. Не удалять файлы и не запускать повторное обновление: эти действия стирают следы, по которым находят причину. Что именно собрать, перечислено в статье о том, что стоит за ошибкой 500
У нас есть резервная копия, этого достаточно?
Наличие архива ещё не означает, что из него можно развернуть рабочий сайт. Копию нужно пробно восстановить в отдельном месте и проверить, что файлы и база относятся к согласованному состоянию, а версии окружения ему соответствуют.
Можно просто вернуть вчерашнюю копию?
Это решение не должно быть автоматическим. За время после создания копии могли появиться заявки, заказы и правки содержимого. Их судьбу определяют до возврата, иначе восстановление работы превращается в потерю данных.
Сайт взломали. Достаточно удалить чужие файлы?
Нет. Очистка убирает последствия, но не закрывает путь, которым получили доступ. Отдельно проверяют учётные записи, права на файлы, устаревшие компоненты и доступы, которые могли пережить очистку.
Что делать, если резервных копий нет совсем?
Собирают то, что сохранилось: файлы на сервере, базу данных, выгрузки из учётной системы, сохранённые страницы в поисковых системах и веб-архиве. Из этого определяют, что можно вернуть, а что придётся создавать заново. Обещать полное восстановление без источников нельзя.
Вы работаете с чужим кодом и незнакомой CMS?
Да, это обычная ситуация при восстановлении: сайт делал кто-то другой, документации нет, а подрядчик недоступен. Основной опыт — 1С-Битрикс, WordPress и Joomla, были проекты на MODX и Webasyst.
Можно восстановить сайт без доступа к хостингу?
Начать разбор можно, но вернуть сайт в работу без доступа к серверу или панели управления не получится. Если доступы утеряны, первым шагом восстанавливают права владельца у регистратора домена и хостинг-провайдера — что для этого нужно, разобрано в статье о правах на сайт и исходники
Как понять, что сайт действительно восстановлен?
По тем же действиям, которые перестали работать: открытие нужного раздела, вход в личный кабинет, отправка формы, оформление заказа, обмен с учётной системой. Открывшаяся главная страница такой проверки не заменяет.

Контакты

Опишите, что случилось с сайтом

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

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

Напишите или позвоните

Работаем удалённо по всей России. Отвечаем с 8:00 до 18:00 по московскому времени

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