A backup is only worth the restore behind it. CloudScale Backup & Restore is built for the day something goes wrong: a multi-gigabyte site, a dead server, a plugin update that takes the site down. It backs up to every destination you choose at once, restores your whole site in one click, and can kee
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.0 and PHP 8.1.
SourceWordPress plugins · Nov 11, 2026
01 / Source details
Aboutthistool.
A backup is only worth the restore behind it. CloudScale Backup & Restore is built for the day something goes wrong: a multi-gigabyte site, a dead server, a plugin update that takes the site down. It backs up to every destination you choose at once, restores your whole site in one click, and can keep a second server ready to take over. No size limit, no destination limit, no paid restore button.
Why CloudScale
Free full restore. Files and database, from a local backup, an upload or any connected cloud. No premium tier is needed to get your site back.
Built for large sites. The database streams in 500-row pages, never loaded into memory. Uploads go in chunks, retried and resumed after a dropped connection or throttle.
Back up anywhere, to several places at once. A dozen storage services plus your own servers, listed under Where Backups Go.
Ten storage regions on six continents. Managed Cloud keeps backups on Amazon S3 in the Americas, Europe, Africa, Asia and Australia. Automatic mode uses the nearest region, so copies and restores take the lowest-latency path, or pick one for data residency.
Backoff protection, so a backup does not overwhelm your server or connection. Set a maximum CPU temperature and compression pauses until the host cools. Set a share of your upload speed and cloud uploads are spaced out to average within it. Both are off until you set them.
Automated disaster recovery. A standby server restores itself from the newest cloud backup on a schedule, refuses a stale one, and reports recovery time and a file-by-file reconciliation.
Self-healing backups. A backup killed mid-run is detected and finished or restarted, and you are told. Archives can be integrity-checked before upload.
Rollback for bad plugin updates. Automatic Crash Recovery copies a plugin before an update and rolls it back if the site starts failing.
Recovery from a hack, not only from a crash. Protected Mode locks out whoever got in while you repair the site.
Alerts that reach you. Email and Telegram alerts for failed backups, restores and recoveries, including PHP fatal errors.
This server: every backup is kept in a protected folder on your own server first, ready to download or restore
Amazon S3 , with access keys or an EC2 instance role
S3-compatible storage: Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage, Hetzner Object Storage, MinIO, or any other S3-compatible service through a custom endpoint
Google Drive, Dropbox, Microsoft OneDrive
Your own server: SFTP, FTPS or FTP, and WebDAV (Nextcloud, ownCloud, Synology, QNAP)
CloudScale Managed Cloud , with nothing to set up
Amazon EC2 AMI snapshots: a full machine image of an AWS-hosted server, beside your file backups
Every cloud and own-server destination gets the same retention, resumable transfers, one-click restore and Automated Restore. An AMI snapshot is restored from its own card, as a whole server.
Backup: Everything, Any Size
Pick any combination; it is packaged into one .zip whose name says what it holds, with a backup-meta.json inside:
Database (all tables), media uploads, plugins, themes
Site root extras ( robots.txt , favicon, .well-known/ ) and a snapshot of your server, PHP and MySQL settings
Optional AES-256 encryption with your own password
Schedule by day of the week and time, with retention (keep the last N) on every destination
Space check and “delete oldest” for cloud destinations that are filling up
Restore: One Click, Server-Side
Full restore puts back the backup’s files, then its database. It runs on the server, so you can close the page
Specific tables only or a single post or page with its metadata, no maintenance mode needed
Restore from this server, an uploaded .zip or .sql , or straight from any connected cloud. S3 and Managed Cloud downloads run in parallel when faster, and resume
Encrypted backups are checked against your password first
Visitors see a maintenance page; it is removed whether the restore succeeds or fails
wp-config.php is never overwritten, so the site keeps its own database credentials
Afterwards: file-by-file reconciliation, drop-in health check, and an old-versus-new server comparison
Restoring a Hacked Site
A plain restore of a hacked site is usually re-hacked within hours: it puts back the vulnerable plugin and leaves stolen credentials working. Tick This site was hacked on a full restore and, before visitors return, Protected Mode :
Rotates the security keys, signing everyone out everywhere, and revokes every application password
Makes every administrator set a new password
Locks sign-in, wp-admin, XML-RPC and changing REST requests to browsers holding a device pass, which the restoring browser is given
Blocks installing plugins and themes and the file editor, while updates stay allowed because updating is the cure
It stays on until you complete an exit checklist, with no timer that could reopen a site you have not finished repairing.
Disaster Recovery and Failover
Standby & DR tab: turn a second install into a hot standby or a refreshed test copy
Automated Restore: the standby lists your cloud storage, copies the newest backup straight to the server and restores it on a schedule. A backup older than your limit (36 hours by default) is refused and alerted
Safe by design: an armed standby never takes or uploads its own backups, so it cannot overwrite production’s. While it is serving traffic, refreshes pause so nothing visitors wrote is lost
DNS failover: a Cloudflare script in the plugin’s GitHub repository repoints DNS at the standby when production fails, and back when it recovers
EC2 AMI snapshots: create and restore full machine images of an AWS-hosted server from the plugin
Staging Clones
Clone any backup into a separate WordPress install on the same server, with its own directory and database. URLs are rewritten everywhere, including serialized data and JSON. It refuses this site’s own directory or database, and can refresh after each scheduled backup.
Security
Signed backups: every backup is signed with your site’s key. A standby holding that key automatically restores only what your site made, and refuses anything else placed in your storage
Backup folder with a random name, deny rules for Apache, nginx and IIS, and 0700 permissions
A daily self-check confirms backups are not publicly downloadable, and shows the server rule to add if they are
Cloud credentials and the encryption password are kept in a protected file outside the database, so they never travel inside your backups
Storage addresses cannot reach a cloud metadata service, or your server’s private network unless you allow it in wp-config.php
Plain FTP and FTPS are labelled for what they protect, and automatic restore refuses a source that can be altered in transit unless your backups are signed
WP-CLI
wp csbr restore, `wp csbr cloud-list`, `wp csbr cloud-pull`, `wp csbr sync-from-cloud`, `wp csbr auto-restore`, `wp csbr role` and `wp csbr doctor` let a system timer keep a standby in sync without WP-Cron.
Managed Cloud
Don’t have a cloud account? CloudScale Managed Cloud is $5/month for 750 GB on Amazon S3 Glacier Instant Retrieval, in ten regions worldwide: the one nearest your site by default, or the one you choose. Instant Retrieval means a restore downloads straight away, with no archive thaw. Your own destinations are always free.
Automatic backups are off by default. Run your first backup by hand to confirm your server, then switch on a schedule. Full documentation: help.cloudscale.consulting .
External services
Nothing below is contacted until you set it up or click something, and your keys go only to the service they belong to. Full reference, with every data item and endpoint: https://cloudscale.consulting/external-services/backup-restore/
Storage you connect (optional)
Only the backup zip is sent, to your own account, when you connect that destination. A backup holds your whole site, so choose Encrypt backups if you want it unreadable to the provider.
Amazon S3 : the Amazon S3 host for the bucket’s own AWS region, for example s3.eu-west-1.amazonaws.com. Terms https://aws.amazon.com/service-terms/ Privacy https://aws.amazon.com/privacy/
Google Drive : www.googleapis.com and oauth2.googleapis.com, after you complete its sign-in. Terms https://policies.google.com/terms Privacy https://policies.google.com/privacy
Dropbox : api.dropboxapi.com and content.dropboxapi.com, after you complete its sign-in. Terms https://www.dropbox.com/terms Privacy https://www.dropbox.com/privacy
Microsoft OneDrive : https://graph.microsoft.com/ and https://login.microsoftonline.com/, after you complete its sign-in. Terms https://www.microsoft.com/en-us/servicesagreement/ Privacy https://www.microsoft.com/en-us/privacy/privacystatement
Your own SFTP, FTP or WebDAV server : only the server you enter. Its owner’s terms apply.
CloudScale Managed Cloud (optional, paid)
Service: CloudScale Consulting, https://cloudscale.consulting/. Nothing is sent until a licence key is entered, except the PayPal button’s checkout details below. Data sent: licence key and hostname to the broker for a short-lived storage token; backu
See it in action
Screenshots & previews.
Backup schedule and settings: days of the week, run time, retention, folder sizes and system information, including the backup and restore methods detected on your server.Manual backup with per-component checkboxes and a live progress bar, and the backup history with type badges, age, and Download, Restore and Delete actions.
02 / Source details
Gettingstarted.
01In WordPress admin go to Plugins > Add New Plugin , search for CloudScale Backup & Restore , then click Install Now and Activate
02Open Tools > CloudScale Backup & Restore
03Click Back up my site now to take your first backup
04Optional: connect S3, Google Drive, Dropbox, OneDrive, SFTP/FTP, WebDAV or Managed Cloud, then turn on a schedule
To install by hand, upload the cloudscale-backup folder to /wp-content/plugins/ and activate it under Plugins > Installed Plugins .
03 / Source details
Frequently asked questions.
Is restore really free?
Yes. Full restore, selective table restore, single post restore, cloud restore, staging clones and automated standby restore are all in the free plugin. Only Managed Cloud storage is paid; your own cloud accounts cost nothing extra.
Which storage can I back up to, and how do I set it up?
Any of the destinations under Where Backups Go, several at once. Each has its own card on the Cloud Backups tab with Test Connection and Diagnose buttons. Step-by-step setup for every provider, including where to create the bucket and key and which region and endpoint to enter: https://help.cloudscale.consulting/plugin-help/backup-restore/s3/ (Amazon S3 and S3-compatible), https://help.cloudscale.consulting/plugin-help/backup-restore/sftp/ and https://help.cloudscale.consulting/plugin-help/backup-restore/webdav/.
Will it work on a large site?
Yes. The database is dumped in 500-row pages, so memory stays flat whatever its size. Backups and restores run without PHP’s time limit, large uploads are sent in retried chunks, and an S3 or Managed Cloud download that stops part way resumes. A backup killed mid-run is picked up and finished or restarted. The System Info panel shows your server’s limits and the methods in use.
Will a backup slow my site down or use all my bandwidth?
Not if you set Backup Limits on the Local Backups tab; both are off by default. A maximum CPU temperature pauses compression until the processor is 5°C cooler, up to 5 minutes at a time and 30 minutes per backup, so a host that never cools still gets its backup. This needs PHP 8.0 or newer and a host that exposes its temperature, and the card says when yours does not. A maximum share of your stated upload speed spaces out uploads to S3, Managed Cloud, Google Drive, Dropbox and OneDrive. It limits the average, not the peak, and does not cover SFTP, FTP or WebDAV.
Where are backups stored?
On your server in wp-content/uploads/cloudscale-backup-<random>/ . The random part makes the folder name unguessable, and it carries deny rules for Apache, nginx and IIS plus an index.php and 0700 permissions. Download any backup from the admin with the Download button. Copies go to every cloud destination you enable.
Where are Managed Cloud backups stored?
In one of ten Amazon S3 regions. Automatic picks the region nearest your site by measuring it; you can also choose one, for example to keep data in Europe. Changing region sends new backups there; backups in the old region expire within 90 days.
Can a hacked site erase its Managed Cloud backups?
No. A compromised site can remove a backup from the list, but storage keeps the deleted copy for 30 days and neither your site nor the CloudScale broker can erase it. Contact support to recover it. After those 30 days it is permanently deleted, so a backup that reaches the 90-day limit is erased by day 120.
Can I restore only the database, or only some tables?
Yes. In the Restore window choose Full restore (files, then database), Specific tables only (just the tables you tick) or Single post or page . Upload a .sql file to restore a database only. On the command line, wp csbr restore takes --db-only , --files-only and --components=<list> .
Can I migrate to a new host or domain?
Yes. Install WordPress and this plugin on the new host, then restore the backup from an upload or straight from your cloud storage. Files and database are both restored. If the domain changed, run wp search-replace 'old.example' 'new.example' --all-tables afterwards. To copy a site onto the same server under a new URL, use Clone Targets, which rewrites URLs for you.
How does scheduling work?
Choose the days of the week and the time of day; cloud copies run a set delay after the local backup. For reliable timing, point a real system cron job at wp-cron.php instead of relying on visitor traffic. Your server’s time and timezone are shown next to the schedule.
How do I set up a standby or disaster-recovery copy of my site?
Install WordPress and this plugin on the second server, then open the Standby & DR tab there (never on the live site). Choose a hot standby or a refreshed copy, label its alerts, type MAKE THIS A COPY and press Apply. On the Automated Restore tab connect the cloud storage the live site backs up to, choose the site to copy from, and switch on the schedule. The checklist shows anything still missing. A hot standby also needs something outside WordPress to move your DNS; the plugin’s GitHub repository has a Cloudflare script for that.
How do I clone my site to a staging copy on the same server?
Create an empty directory the web server can write to, with a wp-config.php naming an empty database (or one your database user can create). Take a backup that includes WordPress core files. On the Clone Targets tab add the directory, its URL and that wp-config.php , press Verify, then Clone Now. Everything in the target is replaced and every URL is rewritten. The wp-config.php must hold literal database values, and cloning needs the PHP mysqli extension. A clone is a complete copy, including mail settings and scheduled tasks, so block outgoing email on it before you browse it. Hook csbr_clone_post_restore to run your own steps afterwards.
What happens if a restore fails?
Maintenance mode is removed even when a restore fails, including on a PHP fatal or out-of-memory error, and you are alerted with the reason. The restore result lists anything that could not be written. There is no automatic rollback of a partly restored database, so take a server snapshot first (the Restore window asks you to confirm you have) and restore again or from that snapshot.
Can I run backups and restores from WP-CLI or cron?
Yes. wp csbr restore <file> restores a local backup, wp csbr cloud-pull --newest downloads the newest S3 backup, wp csbr sync-from-cloud pulls and restores in one step, and wp csbr auto-restore runs a standby’s configured restore. Run wp help csbr for every option.
Does it work on WordPress multisite?
No. A restore would overwrite every site in the network, while each site’s own administrator holds the permission its screens check. On a multisite network the plugin shows a notice and does nothing else.
Do I need ZipArchive or a recent PHP?
PHP 8.1 or newer and the PHP zip extension, which nearly every host includes. AES-256 encryption needs a zip extension built with encryption support; the plugin tells you if yours is not.
What is inside the backup zip?
The parts you chose: database.sql , the uploads, plugins, themes and other folders, plus backup-meta.json , which records the plugin and WordPress versions, site URL, table prefix and components, so you can check a backup without restoring it.
Which third-party libraries are bundled?
Two, both under the MIT licence and used only for SFTP: phpseclib 3.0.57 (https://phpseclib.com) and paragonie/constant_time_encoding 3.1.3 (https://github.com/paragonie/constant_time_encoding). They are renamed under the CSBR_Vendor namespace so they cannot clash with another plugin’s copy. Licence texts are in vendor/ .
Does the plugin contact help.cloudscale.consulting?
No. The plugin’s header links to its help pages there. It is an ordinary link the administrator may choose to open; the plugin itself never requests that host and sends it no data.
What files does the plugin write outside its own folder?
The Automatic Crash Recovery feature writes a single file outside the plugin folder when it is enabled: wp-content/fatal-error-handler.php . This is a WordPress-recognised drop-in file (documented in the WordPress Developer Handbook under get_dropins() ). WordPress core checks for this file on every request; if present, it replaces the default fatal-error screen with a custom handler. The plugin uses this mechanism to show a branded recovery page to visitors while a crash is being fixed, instead of a blank white screen.
The file is written using the WordPress Filesystem API (WP_Filesystem). It is only written when the feature is enabled, only overwritten if it was written by this plugin (identified by an internal marker), and is deleted when the feature is disabled or the plugin is uninstalled. No personal data is stored in this file.
The plugin also writes the following. Uninstalling removes them, except where noted:
wp-content/uploads/cloudscale-backup-<random>/ – the backup archives themselves, plus an .htaccess , a web.config and an index.php that block public access to them. The directory name carries a per-site random token because a fixed, guessable name meant sequentially-named archives could be downloaded by anyone who guessed a filename. Kept on uninstall so a reinstall or a manual restore can still use your backups; delete the folder yourself if you no longer want them. The token is kept in wp-content/csbr-state/dir-token (with the same deny rules), which also stays so a reinstall finds the folder.
wp-content/csbr-state/ – the plugin’s hardened state directory: the automatic restore schedule, the backup run lock and the crash-recovery configuration. Removed on uninstall, apart from dir-token and its deny rules (above).
wp-content/csbr-failover-mode.json , csbr-site-id.json and csbr-restore-ledger.json – small markers for the standby, failover and restore features, kept outside the database because a restore replaces the database. Removed on uninstall.
wp-content/csbr-site-role.json and wp-content/cloudscale-alert-env-label.json – the site’s role (primary or standby) and its alert label. Kept on uninstall , because the other CloudScale plugins read them too; delete them by hand if no CloudScale plugin remains.
wp-content/maintenance.php and wp-content/csbr-restore-progress.json – the visitor page and progress file shown while a restore runs, removed when it ends. Uninstall removes maintenance.php only if it is this plugin’s copy.
wp-content/csbr-secrets.php – cloud storage credentials, the licence key and the backup encryption password, held outside the database so they are not carried inside the database dumps this plugin creates. It beg
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati