
Every backup plugin promises peace of mind. Almost none of them prove it. The real question is not whether a plugin can create a backup, it is whether that backup can put your site back online in minutes instead of hours, with nothing missing. If you have never actually run a restore, you do not know the answer.
What a Backup Actually Needs to Cover
A WordPress site is really three things: a database, a set of files (themes, plugins, uploads), and configuration (wp-config.php, .htaccess or server config, any mu-plugins). A backup that only covers the database is not a backup, it is half of one. Before trusting any plugin, confirm its snapshot scope includes:
- The full database, not just posts and options tables
- The wp-content directory, especially uploads, since that is usually the largest and most irreplaceable part of the site
- Active theme and plugin files, so you are not reconstructing a stack from memory
- Configuration files, or at least documentation of what your hosting environment expects
Some plugins let you exclude large folders (cache directories, log files) to keep backups lean. That is fine, and often smart. Just be deliberate about it. An exclusion you forgot about becomes a gap you discover during a restore, which is the worst possible time to discover it.
Off-Site Storage Is Not Optional
A backup stored on the same server as the site it protects is a backup in name only. If the server fails, gets compromised, or the account gets suspended, the backup goes down with it. Every credible backup plugin supports pushing snapshots to remote storage: an S3-compatible bucket, Google Drive, Dropbox, or a dedicated backup service.
Off-site storage also protects against a scenario people underestimate: a slow-motion compromise. Malware sometimes sits quietly for days before doing anything destructive, which means your last few local backups could all be infected. Keeping a longer retention window off-site, ideally with versioning so old copies are not immediately overwritten, gives you a way back to a known-clean point.
Full Backups vs Incremental: Know the Tradeoff
A full backup captures everything, every time. It is simple and easy to reason about, but it gets slow and storage-hungry as your site grows, especially with media-heavy sites.
Incremental backups capture only what changed since the last snapshot, then reconstruct a full restore by replaying the chain of changes. This is faster to create and lighter on storage. The tradeoff is restore complexity: a corrupted or missing link in that chain can break the whole restore, and reconstructing a site from twenty incremental layers takes longer than pulling one full archive.
A sensible middle ground, and what most mature backup plugins default to, is a periodic full backup (weekly, for example) with incrementals in between. That bounds the length of the chain you would ever need to replay and keeps worst-case restore time predictable.
The Real Test: Time a Restore
Here is the exercise every site owner should run at least once, ideally on a staging copy: actually restore a backup and time it.
- Spin up a staging environment or a local copy separate from production
- Restore your most recent full backup, plus any incrementals, into that environment
- Confirm the site loads, plugins are active, and recent content is present
- Check that uploads and media render correctly, not just that the database imported
- Write down how long the whole process took, start to finish
That number, not the backup plugin’s marketing page, is your real recovery time. If it takes four hours to restore a site that needs to be back in twenty minutes, you have a gap that only shows up during an actual incident, when it is most expensive.
wp-cli is worth knowing here even if your backup plugin has a one-click restore button, because it lets you script and verify parts of the process independently. You can export a database on your own terms with:
wp db export backup-$(date +%F).sqlAnd import it into a fresh WordPress install to sanity-check that the export is valid and complete:
wp db import backup-2024-01-01.sqlRunning that kind of manual spot check occasionally, independent of whatever plugin automation you rely on, catches problems like silently truncated exports or missing tables that a plugin’s own “success” notification would never flag.
What Slows Restores Down in Practice
A few patterns show up repeatedly when restores take longer than expected:
- Large media libraries stored inside the backup archive rather than referenced separately. Some plugins let you back up the database and configuration frequently while syncing media less often or via a separate mechanism, which speeds up both backup and restore for image-heavy sites.
- Single-threaded transfer from remote storage back to the server. If your provider or plugin supports parallel downloads or chunked restores, use it.
- Server resource limits during restore, particularly PHP memory limits and execution time caps. A restore that keeps timing out halfway through is not a backup problem, it is an environment problem, and it is worth knowing in advance whether your hosting stack can handle a large restore without manual intervention.
- DNS and edge caching confusion after a restore, especially if the site sits behind Cloudflare. A restored site can look broken to visitors simply because cached edge content or DNS records have not caught up. Purging cache after any restore should be a standard step, not an afterthought.
Choosing With Restore Speed in Mind
When comparing backup plugins, ask about restore mechanics specifically, not just backup frequency and storage options:
- Does it support one-click restore, or does it require manual file and database work?
- Can you restore selectively (just the database, just uploads) or is it all-or-nothing?
- Does it verify backup integrity automatically, or only when you manually check?
- How does it behave with large sites, and does it document expected restore times?
A managed host that handles server-level snapshots and staging environments as part of the platform, which is one of the things ServerBorn’s NVMe infrastructure is built around, can take some of this burden off a plugin entirely, but it is still worth understanding your own backup chain rather than assuming any single layer has it covered.
The Takeaway
A backup you have never restored is a hypothesis, not a safety net. Choose a plugin with clear snapshot scope, off-site storage, and a sane full-plus-incremental strategy, then actually run a timed restore on staging before you need one on production. The plugin’s job is to create the backup. Your job is to make sure it works.