This website uses cookies

We use a few cookies to keep the site working. Anything else, like anonymous statistics, only with your permission. Accept all, reject the non-essential, or choose category by category. See our cookie policy.

restora 1.0.0

Requirements

  • WordPress 6.0 or newer, tested up to 7.1.
  • PHP 7.4 or newer, 64-bit, with the zip, zlib and pdo_mysql extensions (present on almost every host).
  • MySQL or MariaDB.
  • A single site. Multisite networks are not supported yet.

Install

In the WordPress admin go to Plugins › Add New, search for “Restora”, then install and activate it. Or download the zip from WordPress.org and upload it under Plugins › Add New › Upload Plugin.

Open Restora in the admin menu. Nothing else needs setting up: no account, no API key, no service of ours in between.

Your first backup

Press Create backup and choose what it should hold: the full site in one zip, or separate files for the database, plugins, themes, media uploads and the rest of WordPress.

The backup runs in short slices and continues where it stopped, even in the middle of a large file, so a short PHP time limit on shared hosting is enough. You can close the tab; it keeps going.

Each backup is a normal zip you can open anywhere. The database is plain SQL inside the .restora/ folder of the archive.

Schedules and retention

Under Settings, turn on daily, weekly or monthly backups of the whole site and of the database, and choose how many of each to keep. Older ones are removed automatically.

Scheduled backups start through WP-Cron. On a site with very few visits they may start late; a server cron job that calls wp-cron.php makes the timing exact:

*/15 * * * * curl -s https://example.com/wp-cron.php > /dev/null

Restore a backup

Pick a backup in the list and press Restore, then choose the database, the files, or both. Restora first takes a safety backup of the site as it is now.

Every file in the archive is verified before anything is written. Files are replaced one by one with their current versions set aside, and the database is loaded into temporary tables and swapped in at the very end, in one step.

If the restore cannot finish (the disk fills up, a folder cannot be written, the window is closed), every file goes back to how it was and the database is left untouched. wp-config.php is never overwritten, and files that are not in the backup are left in place.

Tables outside WordPress

Custom code sometimes keeps its own tables in the same database, without the WordPress prefix. Restora lists them under Settings › Other tables in the database; tick the ones a backup should take. Tables you do not tick are never touched by a restore.

add-on

Restora Pro

Pro is a separate plugin installed next to Restora. It adds:

  • Copies on SFTP and S3-compatible storage (Amazon S3, Backblaze B2, Wasabi, MinIO, Cloudflare R2), with their own retention.
  • AES-256 encrypted backups, locked with a key pair (only the public key is on the site) or a password. They restore with your private key or password, even without Pro.
  • An emergency recovery page that restores the site when WordPress itself no longer loads.
  • Moving a site to another server or domain with one installer file.
  • The hub: one screen to watch, run and download the backups of all your sites.

Activate it with your licence key under Restora › Settings › Licence. A key covers as many sites as your plan.

Troubleshooting

  • A backup does not start: the site must be able to call itself over HTTP. Security plugins or a firewall that block loopback requests stop it; allow requests from the server's own address.
  • Restore is unavailable: Restora shows what the server is missing (the zip or pdo_mysql extension, or a WordPress folder it cannot write to).
  • Backups reachable from the web on nginx: Restora checks this once a day and shows the line to add to your nginx configuration.

Still stuck? Write to us with the job log from the backup list.