Incremental WordPress backups with point-in-time restore
Schedule full and incremental backups for every site in your fleet. Restore to any snapshot with the site staying online, all without touching a shared password.
A full backup every night wastes time and storage
Most WordPress backup plugins copy the entire site on every run. When something breaks at 2 am, that nightly archive is hours old, and restoring from a giant zip on a live server takes down the site for everyone. A smarter approach records only what changed, keeps the full history in an expandable chain, and lets you restore to any point without going offline.
Under the hood
The steps that make it work, and what each one does.
Schedule backups per site
Set a daily or weekly schedule per site, or run a manual backup on demand before a risky change. WPMgr queues the job and the lightweight agent plugin handles the export on the site's own server with no SSH and no shell access required.
Increments pack only changed files
The first run is a full base snapshot. Every subsequent run packs only files that changed since the last base or increment. Database dumps use a pure-PHP streaming archiver that works on locked-down managed hosts without mysqldump.
Stored to the destination you choose
Completed archives are streamed to your configured backup destination. The default is a control-plane-managed bucket, on plans with managed backup storage; point a site at your own S3-compatible bucket or a local folder on its own server instead and they land there, off the control plane. The Free plan has no managed bucket, so a site needs one of those two configured before backups will run.
Restore to any snapshot
Pick any base or increment in the chain and restore. The site stays online through the restore, the previous state is preserved as a restore point, and you can revert the revert if something still looks wrong.
What's included
Every capability ships in the open-source release.
Incremental backup chains
Base plus increments in one expandable chain. Increments pack only files that changed, so storage costs stay proportional to what actually changed, not the full site size every time.
Point-in-time restore
Restore to any snapshot in the chain, full or incremental. The site stays reachable during restore. Disconnect and reconnect history is preserved so a full history is never lost.
Fleet backup browser
See every site's backup status across the fleet: protected, stale, or unprotected. Sort and filter to find sites that have not run a successful backup in the last 24 hours.
Backup storage: control-plane-managed, or yours
The default destination is a bucket the control plane manages, on plans with managed backup storage. The Free plan is bring-your-own, so a site there needs its own S3-compatible bucket or a local folder before backups run. Pointing a site at your own S3-compatible bucket or a local folder keeps the chunks off the control plane on any plan. Client-side encryption before upload is planned.
No shell access required
The agent uses a pure-PHP streaming dump and archiver. Backups work on managed and locked-down WordPress hosts without mysqldump, shell access, or FTP credentials.
Automatic pre-update snapshot
Fleet update runs take an automatic snapshot before applying changes. If a health check fails post-update, the site auto-reverts to the snapshot and reports the failure.
Questions answered
Common questions about this feature.
How are incremental backups stored?
WPMgr uses a content-addressed chunk store. A full base snapshot is taken on the first run and on a configurable cadence thereafter. Every subsequent run identifies changed files and packs only those into an incremental archive. The dashboard shows the full base-plus-increments chain so you can restore to any point.
Can I restore to a specific point in time?
Yes. Every base snapshot and every incremental archive is listed in the dashboard. Pick any one and restore. The site stays reachable during the restore, and the previous state is preserved as a revert point.
Does it work on managed WordPress hosts that restrict shell access?
Yes. The agent uses a pure-PHP streaming dump and archiver. There is no dependency on mysqldump, shell access, or cron-level permissions beyond what WordPress itself uses.
Where are backups stored?
You configure the destination. On plans with managed backup storage, the default is a bucket the control plane manages, so those chunks land there. Point a site at your own S3-compatible bucket or a local folder on its own server instead, and the chunks land there, not with the control plane. The Free plan has no managed bucket: a site needs one of those two destinations configured before backups will run.
Can backups be encrypted?
Not yet. Backup chunks are stored as WPMgr writes them at the destination in use: a control-plane-managed bucket protects them however that storage is configured, your own S3-compatible bucket protects them however you have configured that, and a local folder gets no encryption from WPMgr at all, only whatever the host's own disk provides. Client-side encryption before upload is planned.
Run your whole fleet from one dashboard.
Free and open source. No per-site fee. The full release is on GitHub.