Сайт живет не в вакууме: обновления, плагины, эксперименты, человеческий фактор. Ошибка в один клик способна вырубить продажи и доверие аудитории. Спасает только привычка делать бэкапы, и делать их без участия человека, по расписанию, с проверкой восстановления.
Я однажды поднимал магазин после сломанного обновления темы. Выручил ночной архив, отправленный в облако. С тех пор автоматизация стала правилом, а не опцией. Ниже три рабочих подхода, каждый со своим характером и ценой внимания.
Способ 1. Плагины с расписанием и облачным хранилищем

Для большинства проектов это самый быстрый путь. Плагины берут на себя упаковку базы и файлов, ставят расписание, отправляют бэкапы в Google Drive, Dropbox, Amazon S3 или SFTP. Настраивается за десять минут, держится годами.
Стабильно работают UpdraftPlus, BackWPup, Jetpack Backup, BlogVault. У них есть инкрементальные копии, шифрование, хранение версий. Важно заранее выбрать, что копировать: только базу, только wp-content или весь сайт.
Настройка на примере UpdraftPlus
Откройте Настройки — UpdraftPlus. Установите частоту для файлов и базы, например файлы раз в день, база каждые 6 часов. Выберите хранилище и подключите аккаунт по инструкции плагина.
Установите ротацию, скажем 7 последних копий. Исключите кеш-папки и любые временные каталоги, чтобы архивы не пухли. Проверьте восстановление на тестовой копии сайта, не на боевом.
- Файлы: wp-content/uploads, темы, плагины.
- База данных: все таблицы с префиксом вашего сайта.
- Хранилище: облако или удаленный SFTP с ограничением доступа по ключу.
Способ 2. Резервные копии на стороне хостинга
Многие провайдеры делают ежедневные снимки. В cPanel это JetBackup или Backup, в Plesk — Scheduled Backup. Плюс такого решения в скорости восстановления: нажали кнопку, выбрали дату, вернули папку или базу.
Минус в том, что копии часто лежат на том же провайдере. При сбое дата-центра или блокировке доступ может пропасть. Поэтому хорошо настроить экспорт части архивов во внешнее облако и проверить срок хранения — обычно от 7 до 30 дней.
Что важно проверить у провайдера
Уточните, инкрементальные ли бэкапы, можно ли скачать архив вручную, восстанавливаются ли выборочно таблицы базы. Спросите про расписание ночных задач и лимиты на размер аккаунта. Один раз протестируйте откат на отдельном поддомене.
| Метод | Что сохраняет | Куда | Плюсы | Ограничения |
|---|---|---|---|---|
| Плагин | Файлы и БД | Облако/SFTP | Гибкость, версияность | Нагрузка на сайт при архивировании |
| Хостинг | Аккаунт целиком | Инфраструктура провайдера | Быстрое восстановление | Часто без внешнего оффсайта |
| Cron + WP-CLI | Точное выбранное | Туда, куда укажете | Контроль и скриптуемость | Нужна админ. компетенция |
Способ 3. Автоматизация через WP-CLI и cron

Для тех, кто не боится терминала. WP-CLI быстро выгружает базу, а системные утилиты архивируют файлы и отправляют их на удаленный сервер. Работает на VPS и на shared, если доступны SSH и cron.
Пример шага: wp db export ~/backups/site-$(date +%F).sql. Затем tar -czf ~/backups/wp-content-$(date +%F).tar.gz wp-content. Отправка на удаленный сервер: rsync -az ~/backups user@host:/backup/site. Удаление старше 14 дней: find ~/backups -mtime +14 -delete.
Пример задания cron
crontab -e и строка: 0 3 * * * /usr/bin/wp db export ~/backups/db-$(date +%F).sql -path=/var/www/site && /bin/tar -czf ~/backups/files-$(date +%F).tar.gz -C /var/www/site wp-content && /usr/bin/rsync -az ~/backups user@host:/backup/site
Следите за правами и безопасностью: подключение по SSH-ключу, доступ к каталогу backups ограничен, архивы с базой можно шифровать через gpg. Логи скрипта перенаправьте в файл, иначе ошибки пройдут мимо.
Политика хранения и проверка восстановления
Любая стратегия буксует без дисциплины. Работает правило 3-2-1: три копии, на двух типах носителей, одна вне площадки. Для новостного сайта уместны дневные инкрементальные и недельные полные, для лендинга достаточно недельного цикла.
Раз в месяц поднимайте стенд на поддомене и проходите путь восстановления до конца. Смотрите, совпадает ли версия PHP и расширений, открываются ли медиа, сходятся ли права. Это пятьдесят минут, которые экономят недели нервов.
Наконец, зафиксируйте ответственных и напоминания: кто следит за расписанием, где лежат ключи доступа, как получить архив, если админ недоступен. Когда все это записано и проверено, бэкап перестает быть «чем-то на всякий случай» и становится нормальной частью жизни сайта.