Skip to main content

Восстановление сайта на 1С-Битрикс из веб-архива после полной потери данных: 2 недели работы

Клиент и контекст проекта

Заказчик — владелец интернет-магазина на 1С-Битрикс с каталогом товаров. Сайт работал несколько лет, приносил заявки и являлся основным каналом продаж. На момент обращения клиент обратился с экстренной задачей: сайт полностью потерян, нужно восстановить в минимально сжатые сроки. Все работы по восстановлению — от развёртывания нового Битрикса до написания парсеров и верстки шаблона — я выполнил лично за 2 недели. Обезличивание: домен сайта, название компании-заказчика, название хостинг-провайдера и контактные данные в публичной версии кейса не приводятся. Я базируюсь в Москве и работаю с заказчиками из любого региона РФ, СНГ и за рубежом — в данном случае все работы были выполнены удалённо.

Проблема

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

У клиента не было собственной резервной копии

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

Единственный источник данных — веб-архив

Единственное место, где осталась хоть какая-то информация о сайте — это веб-архив archive.org. Это публичный сервис, который периодически сохраняет снимки веб-страниц. У сайта клиента в веб-архиве оказались сохранённые версии страниц за разные периоды — это и стало отправной точкой для восстановления. Из веб-архива можно было получить: структуру страниц, текстовый контент, изображения, а также статичные HTML-файлы каталога с информацией о товарах.

Что нужно было восстановить

Клиент просил в минимально сжатые сроки:

  • Развернуть сайт на 1С-Битрикс с нуля.
  • Воссоздать всю структуру сайта — все страницы, которые ранее существовали.
  • Воссоздать весь товар, размещённый в каталоге, — с фотографиями, описаниями, характеристиками.
  • Воссоздать верстку шаблона (шапка, подвал, разделы).
  • Загрузить весь контент, который был на сайте.
  • По завершении — сделать резервную копию и передать заказчику, чтобы подобная катастрофа больше не повторилась.

Решение

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

Полная последовательность работ

Ниже — все этапы работы, от развёртывания Битрикса до передачи резервной копии заказчику:

 

Этап работы Описание
1. Развёртывание 1С-Битрикса С нуля установлен и настроен 1С-Битрикс на новом хостинге, подготовлена базовая структура для восстановления контента.
2. Парсер веб-архива (archive.org) Написан собственный парсер для выгрузки страниц сайта из веб-архива. Это позволило получить сохранённые версии страниц, структуру, тексты и изображения.
3. Парсер статичных файлов каталога Написан второй парсер для обхода выгруженных статичных файлов каталога. Извлечены данные товаров (название, описание, характеристики, цена) и фотографии. Сформирован файл для импорта в базу данных Битрикса.
4. Импорт товаров в Битрикс Данные товаров, извлечённые парсером, импортированы в инфоблоки Битрикса. Фотографии привязаны к соответствующим товарам.
5. Верстка шаблона с нуля Шаблон шапки, подвала и других разделов утерянного сайта сделан с нуля по сохранившимся в веб-архиве визуальным материалам. Воссоздан оригинальный дизайн сайта.
6. Создание всех страниц Созданы все страницы, которые ранее существовали на сайте. Контент загружен из выгрузки веб-архива.
7. Резервная копия и передача После завершения работ создана резервная копия восстановленного сайта и передана заказчику. Теперь у клиента есть и рабочий сайт, и собственная резервная копия.

Парсер №1. Выгрузка данных из веб-архива

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

  • Парсер использует API веб-архива для получения списка сохранённых снимков по каждому URL.
  • Скачиваются все доступные версии страниц — выбирается наиболее актуальная с актуальным контентом.
  • Скачиваются все изображения, привязанные к страницам.
  • Результат — полный локальный архив структуры сайта, готовый к обработке вторым парсером.

Парсер №2. Извлечение данных товаров из статичных файлов каталога

Второй парсер был написан для обхода выгруженных статичных файлов каталога. Его задача — извлечь из HTML-страниц карточек товаров структурированные данные и сформировать файл для импорта в базу данных Битрикса. Это позволило автоматизировать процесс восстановления каталога: вместо ручного переноса десятков и сотен товаров парсер сделал это за минуты.

  • Парсер обходит все выгруженные статичные файлы каталога.
  • Из каждой карточки товара извлекаются: название, описание, характеристики, цена, фотографии.
  • Фотографии скачиваются локально и подготавливаются для импорта в Битрикс.
  • Из извлечённых данных формируется файл импорта в формате, совместимом с Битриксом (CSV/XML).
  • Файл импорта загружается в Битрикс через стандартный механизм импорта каталога — все товары появляются в инфоблоке с привязанными изображениями.

Верстка шаблона с нуля

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

  • Сделана верстка шапки сайта с навигацией и контактами.
  • Сделана верстка подвала с юридической информацией и дополнительными ссылками.
  • Сделана верстка разделов — главная страница, страницы каталога, карточки товаров, информационные страницы.
  • Шаблон интегрирован с 1С-Битриксом — корректно работает с инфоблоками, компонентами каталога, поиском.

Создание страниц и загрузка контента

  • Созданы все страницы, которые ранее существовали на сайте — по данным из выгрузки веб-архива.
  • Контент страниц загружен из выгруженных HTML-файлов, с минимальной ручной обработкой.
  • Проверена корректность внутренней перелинковки — все ссылки между страницами работают.
  • Настроены человекопонятные URL (ЧПУ) — важно для сохранения SEO-позиций после восстановления.

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

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

Результаты

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

 

Показатель Результат
Срок восстановления 2 недели
Платформа восстановленного сайта 1С-Битрикс
Что было потеряно все файлы, база данных, бэкапы — на хостинге и у клиента
Источник данных для восстановления веб-архив archive.org
Парсеров разработано 2
Парсер №1 выгрузка страниц из веб-архива
Парсер №2 обход статичных файлов каталога, извлечение данных и фото товаров
Шаблон сделан с нуля: шапка, подвал, разделы
Передача заказчику развёрнутый сайт + резервная копия

 

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

Отступление: критическая важность собственных бэкапов

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

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

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

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

Технологический стек

 1С-Битрикс     PHP     MySQL     Веб-архив archive.org     Кастомные парсеры (PHP)     Парсинг HTML (DOM)     Импорт каталога (CSV/XML)     Bitrix API (инфоблоки)     Верстка шаблона с нуля     Автоматическое резервное копирование