Сайт не открывается
Ошибка вместо страницы, белый экран, бесконечная загрузка или сообщение сервера. Содержимое при этом обычно цело, и задача — найти, что мешает его отдать.
Аварийные работы
Сайт перестал открываться, сломался после обновления, начал отдавать чужие страницы или остался без доступов вместе с ушедшим подрядчиком. Возвращаем его в работу, выясняем, что к этому привело, и закрываем причину — чтобы история не повторилась через месяц.
Не начинаем с кнопки «восстановить вчерашнее». Сначала фиксируем состояние и определяем, что именно сломано: иначе вместе с поломкой легко стереть и данные, и следы её причины.
Аварийный разбор от 10 000 руб. · что входит ↓
Работаем удалённо по всей России. Отвечаем с 8:00 до 18:00 по московскому времени.
Четыре разные задачи
Под одной фразой скрываются непохожие ситуации. Вернуть доступность, вернуть пропавшее содержимое, вылечить сайт после чужого вмешательства и собрать его заново, когда возвращать не из чего, — это разный объём, разный порядок действий и разный результат. Первый разговор нужен, чтобы понять, какая из четырёх задач у вас.
Ошибка вместо страницы, белый экран, бесконечная загрузка или сообщение сервера. Содержимое при этом обычно цело, и задача — найти, что мешает его отдать.
Пропали разделы или картинки, не отправляются заявки, не проходит оплата, перестал идти обмен с учётной системой. Отказ частичный, и его границу нужно установить до правок.
Посторонние страницы, перенаправления на незнакомый домен, неизвестный администратор, файлы, которые возвращаются после удаления. Здесь восстановление работы — только первая половина задачи.
Копий нет, хостинг закрыт за неуплату, доступы ушли вместе с подрядчиком. Собирают то, что сохранилось, и честно определяют, что придётся создавать заново.
Первый шаг
Самый дорогой ущерб при аварии наносят не поломкой, а спешной починкой. Повторный запуск обновления, удаление «подозрительных» файлов и возврат старой копии поверх изменившейся базы стирают и данные, и следы, по которым устанавливают причину. Поэтому работа начинается с копии текущего состояния — даже если запускать сайт из неё нельзя.
Что именно записать и в каком виде передать исполнителю, подробно разобрано в статье о том, как отличить поломку сайта от проблемы на вашей стороне ↗
Как работаем
Порядок один и для сбоя после обновления, и для последствий взлома. Меняется набор проверок, но не последовательность: сначала понять, потом менять, затем подтвердить результат на тех действиях, которые не работали.
Весь сайт или один раздел, до входа в аккаунт или после, при чтении или при сохранении данных. Эти различия определяют, какой участок исследовать первым.
Файлы, база и журналы аварийной версии откладываются отдельно от рабочих резервных копий. Этот комплект нужен и для разбора, и для извлечения свежих данных.
Что меняли, когда и кто: обновление системы, установка расширения, переключение версии PHP, работы хостинга. Совпадение по времени даёт гипотезу, которую проверяют отдельно.
Сообщение сервера и приложения сопоставляются с конкретным неудачным запросом. Текст записи обычно сразу разделяет сбой кода и настройку окружения.
Исправление готовится вне рабочего сайта. Так видно, что оно действительно устраняет причину, а не маскирует симптом.
У отката и у исправления разная цена и разные потери. Решение принимают, когда понятна причина и судьба данных, появившихся после контрольной точки.
Изменения вносятся по согласованному плану, с подготовленным возвратом назад. Для части работ нужно согласованное техническое окно.
Восстановленная работа без устранённой причины — отложенное повторение аварии. Что именно закрывать, зависит от находок: устаревший компонент, права на файлы, чужой доступ, отсутствие копий.
Резервная копия
Существование файла с датой в имени ничего не доказывает. Копию нужно пробно развернуть в отдельном месте и убедиться, что файлы и база относятся к одному состоянию, а версии системы, PHP и окружения ему соответствуют. Иначе возврат базы приводит к ошибкам структуры, а не к рабочему сайту.
Дату и часовой пояс, согласованность файлов и базы, версии системы и значимых расширений, требования к серверному окружению.
Отдельно — пригодность самого архива: если сбой связан с заражением, возраст копии ещё не подтверждает её чистоту.
Заявки, заказы и правки, появившиеся после контрольной точки, простой возврат копии потеряет. Их судьбу определяют до переключения, а не после.
Обычно выбирают одно из двух: ненадолго остановить приём новых данных либо подготовить проверенный способ перенести их в восстановленную версию.
Полный порядок — в статье о восстановлении базы сайта из резервной копии ↗. Если сайт сломался сразу после обновления системы, разбор идёт вокруг этого изменения ↗
После взлома
Удалить чужие файлы и переустановить систему поверх — не то же самое, что завершить лечение. Пока не выяснено, каким путём получили доступ, заражение возвращается: иногда через ту же устаревшую точку, иногда через учётную запись или ключ, которые пережили очистку.
Разбор по шагам — в статьях о плане восстановления после взлома ↗ и о защите от повторного заражения ↗. Заключение «на сайте вирус» само по себе ещё не объясняет, каким путём получили доступ.
Если копий нет
Эта ситуация встречается чаще, чем кажется: копии не делались, хостинг закрыт за неуплату, доступы ушли вместе с подрядчиком. Полного возврата здесь пообещать нельзя, но часть сайта почти всегда восстановима — из уцелевших файлов, выгрузок из учётной системы, сохранённых страниц в поиске и веб-архиве.
Остатки файлов и базы на сервере, старые копии у прежнего подрядчика, выгрузки каталога, сохранённые страницы и изображения во внешних источниках.
Адреса и содержимое страниц, которые приносили обращения. Остальное достраивается дальше, по приоритетам бизнеса, а не по порядку в меню.
Чего в источниках нет, то не вернётся. Такие потери называем до начала работ, а не после, и показываем, из чего именно собираем результат.
Отдельный вопрос — кому принадлежат код, дизайн, домен и доступы, если сайт делал прежний подрядчик. Он разобран в статье о правах на сайт и исходники ↗
Приёмка
Восстановление принимают по тем действиям, которые перестали работать: нужный раздел, вход в личный кабинет, отправка формы, оформление заказа, обмен с учётной системой. Для операций с записью данных используют согласованный тестовый сценарий, чтобы проверка не создала настоящий заказ или повторное списание.
Исходный сценарий в исходных условиях, состояние входа, работу на телефоне и на компьютере, результат операции в системе, а не только вид страницы.
При непостоянном сбое один успешный проход устойчивой работы ещё не доказывает — за проблемным сценарием наблюдают и после сдачи.
Описание найденной причины, перечень внесённых изменений, состав восстановленных данных и названные потери, если они были.
Плюс то, что закрывает причину на будущее: порядок резервного копирования, список доступов и их владельцев, перечень компонентов, требующих обновления.
Опыт
Типичная для аварии ситуация: систему ставил другой подрядчик, документации нет, спросить не у кого. Работа идёт по журналам, структуре базы и конфигурации сервера, без требования пересобрать сайт целиком.
Каталоги, личные кабинеты и обмены с учётными системами восстанавливают с оглядкой на то, что бизнес продолжает работать. Отсюда тестовые контуры, согласованные окна и подготовленный возврат назад.
Часть сайтов развивается с первого запуска и до сегодняшнего дня. Такой опыт показывает обратную сторону аварий: какие решения потом годами мешают, а какие позволяют вернуть работу быстро.
Разборы конкретных ситуаций собраны в разделе журнала о диагностике ↗ и в разделе о безопасности ↗. Проекты со ссылками — в разделе кейсов ↗
Форматы работы
Когда непонятно, что произошло и насколько всё серьёзно. Устанавливаем границы отказа, находим причину и говорим, какой объём работ нужен на самом деле.
Результат — письменное заключение: что сломано, что сохранилось, какие есть пути возврата и чем они отличаются по потерям. Его можно отдать любому разработчику: продолжать с нами не обязательно.
от 10 000 руб.
Работаем по договору, оплата по счёту до начала работ, закрывающие документы — через ЭДО. Без НДС: упрощённая система налогообложения.
Восстановление из проверенной копии или исправление текущей версии, с учётом данных, появившихся после контрольной точки.
Очистка, поиск пути доступа, ревизия учётных записей и прав, обновление уязвимых компонентов и контроль повторного заражения.
Восстановление содержимого и адресов из уцелевших источников, с честно названными потерями и приоритетом на страницы, которые приносили обращения.
Цена разбора зависит от размера сайта и от того, что осталось доступно: точную называем после осмотра, до начала работ. Срок аварийных работ заранее не обещаем — он определяется тем, что уцелело. Чтобы авария не повторилась, сайт после восстановления обычно передают на поддержку и сопровождение ↗
Кому подходит
Вопросы
Контакты
Посмотрим, что именно отказало, какие источники для восстановления есть и какой путь возврата обойдётся дешевле по потерям. Если задачу можно закрыть меньшими силами, скажем прямо.
Ответим, если задача подходит по формату и бюджету. До нашего ответа лучше ничего не удалять и не запускать обновление повторно.
Напишите или позвоните
Работаем удалённо по всей России. Отвечаем с 8:00 до 18:00 по московскому времени
Напишите адрес сайта, что перестало работать и когда это заметили. Если знаете CMS, хостинг и есть ли резервные копии — укажите.