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: S3-compatible storage, SFTP, or local disk. Image bytes and file data move directly from the site to storage using short-lived presigned URLs, never through the control plane.
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.
Client-side encrypted backups
Enable end-to-end encryption and the control plane stores only ciphertext. It never holds the decryption key, so even a compromised control plane cannot read your backup data.
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: S3-compatible object storage, SFTP, or local disk on the control plane host. File data moves directly from the site to storage using short-lived presigned URLs and never passes through WPMgr's control plane.
Can backups be encrypted?
Yes. Client-side encryption is opt-in per site. When enabled the control plane stores only ciphertext and never holds the decryption key. The key stays on your infrastructure.
Run your whole fleet from one dashboard.
Free and open source. No per-site fee. The full release is on GitHub.