Как я за утро поднял сайт клиента, который пропал вместе с хостингом, — без бэкапов и танцев с бубном
Это тот редкий случай, когда мы много лет ведём у клиента ИТ, но разработкой его сайта не занимаемся. Поэтому выяснять, где лежат исходники, бэкапы и репозиторий (нигде), я начал на 5 часу простоя — когда сайта не было, а провайдер хостинга.
Интернет помнит
У Internet Archive есть Wayback Machine — он годами обходит сайты и сохраняет копии страниц. Я попросил Claude собрать сайт из открытых источников: найти снимки в архиве, выкачать страницы, разобрать их в данные и залить в новый WordPress.
Сайт был хороший, архив заходил на него регулярно. Поэтому быстро удалось восстановить:
• 1 244 страницы сайта;
• 1 053 товара с ценами, характеристиками и отзывами покупателей;
• 80 категорий каталога с описаниями;
• 70 проектов портфолио и страницы «О производстве», «Доставка», «Контакты»;
• оформление: оригинальные стили, логотип, иконки и меню. PHP-шаблоны архив не хранит, их написали заново так, чтобы старые стили легли без правок.
Адреса страниц совпадают со старыми — для поисковиков сайт никуда не переезжал.
Фото — с Яндекс Диска клиента
Из картинок каталога в архиве нашлось около 10%. Исходные фото клиент хранит на Яндекс Диске: это много гигабайт съёмки с фотоаппарата, по 15 МБ на кадр. Качать всё и разбирать руками — дни.
Поэтому мы сделали небольшой плагин для WordPress:
1. Клиент вставляет публичную ссылку на папку с фото.
2. Плагин обходит папки и показывает превью: «вижу такие изделия — планирую вставить их вот в эти карточки». Уверенные совпадения отмечены, спорные клиент поправляет из списка.
3. По кнопке скачивает фото по одному, ужимает до 1600 px и ставит в карточку. Исходники на сервере не хранятся.
4. Раз в сутки сам проверяет Диск и подтягивает новые фото.
У Яндекса есть суточный лимит на скачивание по публичной ссылке. Плагин считает трафик, честно останавливается на лимите и в следующий раз заранее подсказывает, сколько папок влезет за день.
Хорошая новость: домен жил отдельно
Домен был зарегистрирован у отдельного регистратора, а не в той же корзине, что хостинг. Поэтому адрес не потерян — осталось переключить его на новый сервер.
Даже если завтра хостинг пришлёт бэкап, я не расстроюсь: сайт уже работает и без него.
Три правила после этой истории
1. Бэкапы хранятся не там же, где сайт. Копия на том же хостинге — это не бэкап.
2. Доступы к хостингу, домену и коду — у владельца бизнеса, а не только у подрядчика или сотрудника, который «всё настраивал».
3. Домен — у отдельного регистратора, не в одной корзине с хостингом.
Проверьте, как это устроено у вас, пока всё работает.
---
Code+Service — ИТ-сопровождение бизнеса. codeservice.pro