Автоматический бэкап WordPress: лучшие плагины и примеры кода

Резервное копирование — одна из важнейших процедур для любого сайта на WordPress. Не важно, ведёте ли вы блог, интернет-магазин или корпоративный сайт — потеря данных из-за сбоя, взлома или ошибки администратора может привести к серьёзным проблемам. В этой статье подробно разберём, как настроить автоматический бэкап WordPress с помощью проверенных плагинов и собственного кода. Это поможет защитить ваш ресурс и быстро восстановиться в случае непредвиденных ситуаций.

Почему важно настроить автоматический бэкап WordPress

Ручное копирование базы данных и файлов — крайне ненадёжный и неудобный способ защиты сайта. Многие забывают делать бэкапы или делают их нерегулярно, а это увеличивает риск потери данных.

Автоматический бэкап позволяет:

  • Регулярно сохранять актуальные копии сайта без участия человека;
  • Хранить резервные версии в облаке, на внешних серверах или на том же хостинге;
  • Быстро восстановить сайт после сбоев, ошибок обновлений или взлома;
  • Обеспечить аудит изменений и соблюдать требования безопасности.

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

Лучшие плагины для автоматического резервного копирования WordPress

Существует множество плагинов, которые позволяют гибко настраивать бэкапы. Рассмотрим три популярных и надёжных варианта.

1. UpdraftPlus — универсальный и понятный

UpdraftPlus — один из самых популярных плагинов для резервного копирования с миллионами активных установок. Он позволяет создавать полные бэкапы, сохранять их на популярных облачных хранилищах (Google Drive, Dropbox, Amazon S3 и др.) и восстанавливать одним кликом.

Основные возможности:

  • Планирование автоматических бэкапов по расписанию;
  • Выбор компонентов для резервного копирования (файлы, база данных, плагины, темы);
  • Возможность восстановления из панели администрирования;
  • Поддержка мультисайтов;
  • Шифрование и защита бэкапов.

Для установки достаточно зайти в Плагины - Добавить новый, найти UpdraftPlus, установить и активировать. Затем в настройках задать расписание и подключить облачное хранилище.

2. BackWPup — мощный и бесплатный

BackWPup предлагает широкий функционал для создания резервных копий и их хранения на внешних сервисах. В бесплатной версии можно настроить планировщик, создавать архивы в ZIP, TAR.GZ и TAR.BZ2, а также отправлять бэкапы на FTP, Dropbox, S3 и др.

Особенность BackWPup — возможность тестирования архива прямо из админки, что удобно для проверки целостности.

3. WP Time Capsule — инкрементные бэкапы

WP Time Capsule отличается тем, что делает инкрементные бэкапы — копирует только изменённые файлы и записи, что экономит место и ресурсы сервера. Поддерживает интеграцию с Google Drive, Dropbox и Amazon S3.

Это особенно удобно для сайтов с большим объёмом данных и частыми обновлениями.

Пример: как создать простой автоматический бэкап WordPress с кастомным кодом

Если вы хотите сделать резервное копирование без плагинов, можно написать свою функцию, которая будет сохранять базу данных и архивировать папку с файлами сайта. Ниже приведён пример, который выполняет экспорт базы и создаёт ZIP с корневыми файлами WordPress.

function wplink_backup_database() {
    global $wpdb;
    $tables = $wpdb->get_results('SHOW TABLES', ARRAY_N);
    $sql_dump = "";

    foreach ( $tables as $table ) {
        $table_name = $table[0];
        $create_table = $wpdb->get_row("SHOW CREATE TABLE {$table_name}", ARRAY_N);
        $sql_dump .= $create_table[1] . ";\n\n";

        $rows = $wpdb->get_results("SELECT * FROM {$table_name}", ARRAY_A);
        foreach ( $rows as $row ) {
            $values = array_map('esc_sql', array_values($row));
            $values = array_map(function($val) { return "'" . addslashes($val) . "'"; }, $values);
            $sql_dump .= "INSERT INTO {$table_name} VALUES(" . implode(',', $values) . ");\n";
        }
        $sql_dump .= "\n\n";
    }

    $backup_dir = WP_CONTENT_DIR . '/wplink-backups';
    if ( ! file_exists($backup_dir) ) {
        mkdir($backup_dir, 0755, true);
    }

    $db_file = $backup_dir . '/db-backup-' . date('Y-m-d-H-i-s') . '.sql';
    file_put_contents($db_file, $sql_dump);

    // Создание архива сайта
    $zip = new ZipArchive();
    $zip_name = $backup_dir . '/site-backup-' . date('Y-m-d-H-i-s') . '.zip';

    if ( $zip->open($zip_name, ZipArchive::CREATE) === TRUE ) {
        $root = ABSPATH;
        $files = new RecursiveIteratorIterator(
            new RecursiveDirectoryIterator($root), RecursiveIteratorIterator::LEAVES_ONLY);

        foreach ( $files as $name => $file ) {
            if ( ! $file->isDir() ) {
                $filePath = $file->getRealPath();
                $relativePath = substr($filePath, strlen($root));

                // Исключаем папку бэкапов
                if ( strpos($relativePath, 'wplink-backups') === false ) {
                    $zip->addFile($filePath, $relativePath);
                }
            }
        }
        $zip->close();
    }

    return ['db' => $db_file, 'zip' => $zip_name];
}

// Хук для запуска резервного копирования по расписанию
function wplink_schedule_backup() {
    if ( ! wp_next_scheduled( 'wplink_daily_backup' ) ) {
        wp_schedule_event( time(), 'daily', 'wplink_daily_backup' );
    }
}
add_action('wp', 'wplink_schedule_backup');

add_action('wplink_daily_backup', function() {
    wplink_backup_database();
});

Этот код создаёт резервную копию базы данных и архивацию файлов сайта раз в сутки. Копии сохраняются в папку wp-content/wplink-backups. В реальных проектах стоит добавить отправку этих архивов на внешний сервер или облако для дополнительной безопасности.

Как интегрировать резервное копирование с облачными хранилищами

Хранение резервных копий локально на сервере удобно, но рискованно — если хостинг упадёт или случится аппаратный сбой, бэкапы могут пропасть вместе с сайтом.

Поэтому рекомендуется выгружать копии в облачные сервисы, например:

  • Google Drive — удобен и бесплатен до 15 ГБ;
  • Dropbox — интеграция с большинством плагинов и API;
  • Amazon S3 — платформа для масштабируемого хранения с высокой надёжностью.

Плагины UpdraftPlus и BackWPup имеют встроенные настройки для подключения к этим сервисам. Для кастомных решений можно использовать API каждого сервиса. Например, для Google Drive существует официальная PHP-библиотека, которая позволяет загружать файлы программно.

Рекомендации по безопасности и хранению бэкапов

При настройке резервного копирования важно соблюдать несколько правил:

  • Храните копии вне корневой папки сайта, чтобы исключить доступ злоумышленников через веб;
  • Шифруйте резервные копии, особенно если в них содержится чувствительная информация;
  • Проверяйте целостность архивов и тестируйте восстановление на тестовом сервере;
  • Настраивайте уведомления о выполнении бэкапа и ошибках процесса;
  • Регулярно очищайте старые копии, чтобы не забивать место на сервере.

Соблюдение этих рекомендаций поможет сохранить данные в безопасности и быстро реагировать на проблемы.

Как создать собственный шорткод в WordPress
05.11.2025
Как удалить пустую страницу в WordPress с помощью кода
14.01.2026
Как удалить редирект в WordPress
13.11.2025
Как удалить пустые категории в WordPress без плагинов
21.12.2025
Как успешно использовать WPCommunity для создания форума на WordPress
18.01.2026