Directory / plugin

Site Backup & Migration – Backup, Restore, Migrate & Clone WordPress

v1.1.0 · by webangon

Free WordPress backup, restore and migration. Back up your database and files, then restore or move your site. Large uploads work on 2 MB hosting limi …

About this plugin

Site Backup & Migration is a lightweight, free WordPress backup and restore plugin for backing up your site and moving it to a new host or domain. Large backup files can be imported without paid add-ons.

Most hosts limit uploads to 2–64 MB, which blocks importing a large backup. This plugin uploads archives in small adaptive chunks, so a 500 MB or 2 GB backup imports even when the host only allows 2 MB uploads. You don’t need to edit php.ini or .htaccess, or buy an “unlimited” extension.

Why choose Site Backup & Migration?

  • No upload size limit – adaptive chunked upload bypasses upload_max_filesize, post_max_size and web server body limits (nginx client_max_body_size, ModSecurity). The chunk size shrinks automatically on HTTP 413 or timeouts and grows on fast connections.
  • No timeout failures – backups, restores and uploads run step by step, so slow shared hosting doesn’t hit max_execution_time.
  • Safe restore – the database is restored into temporary tables first, so a failed restore leaves your live site untouched.
  • Automatic URL replacement – migrate to a new domain, from localhost to live, or from staging to production. Site URLs are replaced automatically, including in serialized data.
  • Google Drive & Dropbox backup – send every backup off-site automatically with resumable chunked uploads, and optionally delete the local copy afterwards.
  • Scheduled automatic backups – twice daily, daily, weekly or monthly, with automatic cleanup that keeps only the last N scheduled backups.
  • Content backup or full backup – back up only the database and media library, or everything including plugins and themes.
  • Import from a URL – pull a backup straight from another server, with resumable chunked downloads.
  • Works on any host – uses PHP ZipArchive when available and falls back to WordPress’s built-in PclZip.
  • Lightweight and free – no frameworks or external libraries, no account, no upsells for basic features.

Use cases

  • Backup WordPress before updates, theme changes or plugin installs.
  • Migrate WordPress to a new host or domain.
  • Clone a site for staging, testing or a client copy.
  • Move localhost to live (Local, Laragon, XAMPP, MAMP) and back.
  • Ship demo content – export a content package for a theme or client site.
  • Restore a site after a broken update, hack or mistake.

Features

  • Content backup – database + uploads, a portable demo/content package.
  • Full backup – database + uploads + plugins + themes.
  • Cloud storage – Google Drive and Dropbox (your own app, tokens stay on your site), with cloud retention and one-click restore from the cloud.
  • Backup scheduler – automatic backups at a chosen time, with retention (keep last N) and run status.
  • One-click restore – restores the database (with site-URL replacement) and files from any archive made by this plugin.
  • Download backups – download archives to your computer for safe keeping.
  • Upload / import backups – adaptive chunked upload with automatic retry and resume.
  • Import from URL – resumable chunked transfer from a remote server.
  • Resumable engine – background (loopback) processing. If loopback is blocked, the admin page keeps the process moving.
  • Protected storage – backups are stored in a folder protected by index.php and .htaccess.

Requirements

  • PHP 7.0+ (64-bit recommended for archives over 2 GB).
  • PHP ZipArchive (preferred) or zlib for the PclZip fallback.
  • HTTP loopback recommended. Without it, keep the admin page open during an operation.

External services

This plugin connects to external services only when you connect a cloud destination in Site Backup Cloud storage. Nothing is sent before you connect an account.

Google Drive (Google LLC) – used to store copies of your backup archives in your own Google Drive.
* When you click Connect, you are sent to Google to sign in and approve access (accounts.google.com). The authorization code, your client ID and client secret are then exchanged for tokens at oauth2.googleapis.com.
* After each backup, the archive file (your database and files) and its filename are uploaded to www.googleapis.com. The plugin also reads your account email to show which account is connected, and creates a backup folder.
* When you open the cloud backup list, or retention is enabled, the plugin lists the files in that folder and deletes old archives of this site. When you restore from the cloud, the chosen archive is downloaded from www.googleapis.com.
* On disconnect, the token is revoked at oauth2.googleapis.com/revoke.
* Terms: https://policies.google.com/terms – Privacy: https://policies.google.com/privacy

Dropbox (Dropbox, Inc.) – used to store copies of your backup archives in your own Dropbox.
* When you click Connect, you are sent to www.dropbox.com to approve access. Tokens are obtained from api.dropboxapi.com using your app key (PKCE, no secret stored).
* After each backup, the archive file and its filename are uploaded to content.dropboxapi.com. The plugin also reads your account email to show which account is connected.
* When you open the cloud backup list, or retention is enabled, the plugin lists the app folder and deletes old archives of this site (api.dropboxapi.com). When you restore from the cloud, the chosen archive is downloaded from content.dropboxapi.com.
* On disconnect, the token is revoked at api.dropboxapi.com.
* Terms: https://www.dropbox.com/terms – Privacy: https://www.dropbox.com/privacy

Notes

  • A full restore of plugins and themes needs filesystem write access. On hosts without direct access, set FS_METHOD / FTP_* in wp-config.php. Content restores (database + uploads) don’t need this.
  • Uninstalling removes the plugin’s options but keeps your backup archives.

Plugin tags