automated WordPress backups
every site is backed up daily, stored off-server in Cloudflare R2, and restorable in one click. you don't run a plugin, you don't pay extra, and the list keeps working when your server doesn't.
Docs / Automated WordPress backups
WordPress backups on Yovale run automatically once a day, zip everything (database + uploads + plugins + themes + mu-plugins), and stream the archive to Cloudflare R2. you can also create a backup on demand any time, restore in place, or download the archive directly without needing the WordPress server to be reachable.
Try it
this is the real Backups tab from your dashboard, running on mock data. browse, create one, restore, and try the offline-cache fallback that keeps backups visible when your server is down.
- 1Browse the list
see automated daily backups stacked newest-first.
- 2Create a backup
create one on demand — runs in the background, lands at the top.
- 3Restore in place
pick a backup, confirm, and Yovale rolls the site back to that exact state.
- 4Server offline
toggle offline mode — the list stays visible from the cache, downloads still work.
Step by step
What every action in the Backups tab actually does behind the scenes.
1. automated daily backups
every site runs a daily cron-driven backup at a randomized time within a 24-hour window (so we don't hammer R2 from every site at midnight). the agent zips the WordPress filesystem and a mysqldump together, computes a SHA-256, and uploads to your team's R2 backup bucket. the new entry shows up in the dashboard within a minute of completing.
2. on-demand backups
click "Create backup" to trigger one immediately. the create call returns instantly — the actual zip+upload runs in the background. you can keep using the dashboard while it runs. when it lands, the row appears at the top of the list with a MANUAL pill.
- no extra credit-card cost — counts toward your plan's retention window
- manual backups expire on the same retention rules as auto backups
- useful before plugin upgrades or content imports
3. restore in place
the most common restore path: pick a backup, confirm, and Yovale rolls your site back to that exact state. the agent stops the WordPress container, swaps the bind-mounted volume out, restores the database, then brings the container back up. typical downtime is under 30 seconds for sites under a few hundred MB.
- in-place restore preserves the same site URL and SSL certificate
- a pre-restore snapshot is taken automatically — if the restore breaks something, you can roll back to the snapshot
- the operations panel polls for completion and surfaces errors with the agent's exit code
4. restore to a new site (clone)
instead of overwriting the current site, you can restore the backup as a brand-new site within your team. picks a fresh slug, gets a new preview URL, and SSL issues automatically. useful for staging clones, post-mortem investigation, or as a safety net before a risky migration.
5. download the archive
Download generates a short-lived signed R2 URL straight from Yovale (not from your VPS), so it works whether the server is up or down. the archive is a .zip containing the wp-content directory and a sql.gz dump — restorable into any other WordPress install, Yovale or not.
6. server offline cache
if your VPS is down, the backups list stays visible. Yovale mirrors every successful agent listing into Supabase, so when the live agent call fails the dashboard falls back to the cache and shows an amber banner. Create / Restore / Delete are disabled in this state (they need a live agent), but Download still works because R2 signing happens on Yovale's side.
Common questions
where are WordPress backups stored?
Cloudflare R2, off-server. Yovale uses your team's R2 bucket so backups never share a disk with your live site. that means a server failure, container corruption, or rogue plugin can't take your backups with it.
how long are backups kept?
14 days on Starter, 30 days on Growth, 90 days on Business. Yovale rotates them automatically — old archives are deleted from R2, no manual cleanup. need longer retention? download archives via the dashboard and store them yourself.
do backups count against my disk quota?
no. backups live in Cloudflare R2, not on your WordPress server. your site's disk quota only counts the live wp-content directory and the database.
can I restore a backup to a different site?
yes — pick "Restore to new site" instead of "Restore in place". Yovale provisions a fresh site, restores the archive into it, and gives you a new preview URL. useful for staging or post-incident investigation.
what's in a backup archive?
the entire wp-content directory (uploads, plugins, themes, mu-plugins) plus a mysqldump of the WordPress database, all zipped together with a SHA-256 manifest. it's a standard WordPress export — restorable into any other host.
do backups work if my site is broken?
automated backups continue running even if your site is down — the agent backs up the disk + database directly, not by hitting WordPress over HTTP. so a broken plugin, a 500 error, or a fatal PHP error won't stop tonight's backup from running.
how long does a restore take?
depends on archive size. under 100 MB usually completes in under 30 seconds. multi-GB stores can take a few minutes. the operations panel shows a live progress bar.
can I see what's in a backup before restoring?
yes — click "Preview" on a backup row. Yovale runs the manifest read on the agent side and shows you the directory tree, plugin list, theme list, database table count, and total uncompressed size. no surprises before you commit to a restore.
can I download backups when my server is offline?
yes. Download generates a signed R2 URL from Yovale's side — no roundtrip through your VPS. so even if the server is down, you can pull the archive and restore it elsewhere.
are backups encrypted?
encrypted at rest in R2 by Cloudflare's defaults, encrypted in transit (TLS) on every read/write. the signed URLs Yovale generates for downloads are short-lived (15 minutes) and scoped to the single archive.