- Резервирование сайта
- Статьи
- Резервная копия сайта на WordPress
Резервная копия сайта на WordPress: как сделать без плагинов и с плагинами — и как проверить, что она рабочая

Полная копия WordPress — это две вещи: база данных (записи, страницы, заказы, настройки) и папка wp-content (темы, плагины, загруженные файлы). Копия только базы или только файлов — половина сайта. Ниже три способа сделать полную копию, где её хранить и как убедиться, что из неё можно поднять сайт на другом сервере.
Что именно копировать
База — целиком. Файлы — wp-content/uploads (самое ценное: картинки и документы), wp-content/themes и wp-content/plugins (их можно переустановить, но настроенная тема — ваша работа), wp-config.php (параметры подключения и ключи). Ядро WordPress копировать не обязательно — его ставят заново той же версии. Исключить: кеш плагинов кеширования, wp-content/upgrade, логи.
Способ 1. Плагин
UpdraftPlus, All-in-One WP Migration, Duplicator и подобные делают копию базы и файлов по расписанию и умеют отправлять её во внешнее хранилище. Плюсы: без программиста. Минусы: на больших сайтах архив создаётся долго и может упасть по лимиту времени PHP; у бесплатных версий бывают ограничения на размер архива и восстановление на другой сервер — проверьте условия своего плагина; плагин живёт на том же сервере — если сервер недоступен, копию из него не достать, поэтому хранилище должно быть внешним.
Способ 2. WP-CLI
На сервере с доступом по SSH: wp db export backup.sql для базы, tar или rsync для wp-content. По cron — ночью, с отправкой на другой сервер. Это самый предсказуемый способ для сайтов, где есть программист.
Способ 3. Вручную
Экспорт базы через phpMyAdmin в панели хостинга, файлы — через SFTP. Подходит для редких ручных копий перед обновлениями; как регулярный бэкап — нет, потому что про него забывают.
Где хранить
Не у того же хостера: его бэкапы недоступны, когда он лежит. Внешнее хранилище или отдельный сервер; глубина — 7 ежедневных и 4 еженедельных копии.
Как проверить восстановление
Поднять копию на тестовом сервере: установить WordPress той же версии, импортировать базу, положить wp-content, прописать подключение в wp-config.php. Если проверяете на тестовом домене — заменить адрес сайта в базе (wp search-replace в WP-CLI; простой поиск-замена в дампе ломает сериализованные данные). Открыть главную, запись, страницу с формой, админку; сбросить постоянные ссылки («Настройки → Постоянные ссылки → Сохранить») и кеш. Проверка занимает час и показывает, рабочая ли копия.

Ошибки, из-за которых копия не разворачивается
- Другая версия PHP — белый экран.
- Не совпадают права на файлы — не грузятся картинки, не ставятся плагины.
- Остался кеш старого сервера — старые страницы.
- В базе остались
siteurl/homeтестового домена после переноса обратно. - Плагин безопасности заблокировал вход с нового сервера.
- Не скопировали
uploads— все картинки «битые».
Когда бэкапа мало
Бэкап — это «данные вернём». Если нужно «сайт работает через 15 минут после сбоя хостинга» — это резервный сайт; разница — в статье «Бэкап или резервный сайт». Сайт лежит сейчас — срочное восстановление.
Частые вопросы
Достаточно ли бэкапа хостинга?
От своих ошибок — да; от сбоя хостинга — нет.
Как часто?
Магазин на WooCommerce — не реже раза в сутки, лучше чаще; блог — раз в сутки.
Нужно ли копировать ядро?
Нет, если знаете версию; да, если на сайте есть правки в ядре — что само по себе плохо.
Бесплатный разбор
Инженер посмотрит ваш сайт, хостинг и DNS и скажет, что нужно именно вам, — иногда достаточно проверенного бэкапа.
Проверить сайт за 10 секунд
Код ответа, HTTPS, TTL DNS и у одной ли компании DNS и хостинг — бесплатно.
Ещё по теме

Резервная копия сайта на 1С-Битрикс
Штатный бэкап и копия через mysqldump и rsync: что исключить, где хранить, как проверить.
Читать
Резервная копия сайта и резервный сайт: в чём разница
Почему бэкап не спасает от простоя и какие два вопроса задать подрядчику.
Читать
Хостинг недоступен: как восстановить сайт на другом сервере
Четыре сценария — с копией и без, с доступом к домену и без — и что в каждом вернуть нельзя.
Читать