ReloadeD Backup releasesself-updates
Complete, portable WordPress backup & restore plugin
by Regis Vieira Delgado · github.com/finallf/rd-backup · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/finallf/rd-backup/releases/download/v1.2.1/rd-backup.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Readme
Features • Requirements • Installation • Backup & Restore • Updates • Security • Support
🖥️ About the project
A complete, portable backup & restore plugin for
— a full database dump plus the wp-content/uploads folder packaged into a single .zip, restorable on any host. Pure PHP, zero external dependencies. Pairs with the ReloadeD theme but runs standalone with any theme.
🪶 Features
Full site data:
- ✅ The entire database (minus regenerable transients) plus the uploads folder, in a single
.zipwith a manifest and an integrity hash.
Restore anywhere:
- ✅ Domain-safe — a serialized-aware search-replace rewrites the URLs on a cross-domain restore, so a backup from one site comes back correctly on another.
Resumable engine:
- ✅ Chunked, time-boxed steps driven from the browser. Big sites won't time out, and a run survives the tab being closed (state lives in a job file, not the database it's restoring).
Secure store:
- ✅ Backups live in
wp-content/rd-backup/— outside the plugin and outside uploads — with random-token filenames, an authenticated PHP-only download handler and an automatic.htaccessdeny.
Built-in self-updater:
- ✅ WordPress detects new releases on GitHub and offers a 1-click update, like any wp.org plugin — with stable and opt-in beta channels. No external dependencies.
Lean & CSP-safe:
- ✅ Native
ZipArchive, noexec()/mysqldumprequirement, no third-party libraries. All presentation in CSS, all behavior in unobtrusive JavaScript — no inline scripts or styles.
❓ Why use this plugin?
-
It's the "go-bag" for the worst case: if the server is gone, spin up WordPress anywhere, install the plugin, drop in the backup, and the site comes back exactly as it was.
-
Built for hosts where the usual tools don't work —
exec()disabled, no shell, low limits. The PHP-pure logical dump runs wheremysqldumpcan't.
📋 Requirements
[!IMPORTANT] ✔️ WordPress
6.0+
✔️ PHP8.0+
✔️ TheZipArchivePHP extension (checked on the Health tab).
🧰 Installation
1 - Download the latest rd-backup.zip from the Releases page.
2 - In your WordPress admin, go to Plugins → Add New Plugin → Upload Plugin, choose the .zip, and click Install Now.
3 - Click Activate. The plugin lives under Tools → ReloadeD Backup.
[!NOTE] From here on, updates are automatic — the plugin checks GitHub and offers a 1-click update on the Plugins screen, just like any other plugin. See Updates.
💾 Backup and Restore
Everything happens under Tools → ReloadeD Backup.
🔹 Backup
- Click Create backup to build a complete .zip (database + uploads) into the store. The list below shows your archives, with download and delete.
🔹 Restore
- Pick a backup and hit Preview — it validates the manifest, checks the integrity hash and shows compatibility warnings. Nothing is written.
- To apply it, type RESTORE to confirm. A safety snapshot of the current site is taken first (the last 2 are kept, so you can undo).
🔹 Upload
- Bring a .zip from another site straight from the admin (up to the server's upload limit). For larger archives, drop the file into the store via SFTP.
[!WARNING] A restore overwrites the current database. The safety snapshot taken right before it is your net. Restoring onto the same domain keeps you logged in; restoring onto a different domain may sign you out — just log back in.
🔄 Updates
The plugin checks GitHub Releases every 24h and surfaces the status on the Health tab (current/latest version, a Check for updates button, and Update now when one is available).
[!NOTE] Channels: stable follows the latest stable release; the opt-in Beta channel switch follows the newest release including prereleases, and auto-promotes back to stable when a newer stable ships.
🔐 Security
This plugin was built to be safe by default:
- 🔒 Protected store — random-token filenames + an authenticated PHP-only download handler. A direct URL to a backup never works; an automatic
.htaccessdeny adds defense in depth (with an optional nginx rule shown in the UI for nginx-in-front setups like HestiaCP). - 🔒 Capability + nonce on every action (
manage_options), genuine-upload validation (is_uploaded_file), and path-safe resolution inside the store. - 🔒 CSP-friendly — no inline scripts, no inline event handlers, no inline styles, no
eval.
☕ Support the Project / Apoie o Projeto
If this project has helped you in any way, consider buying me a coffee! Your donation helps keep the updates and documentation current.
🇧🇷 Se este projeto te ajudou de alguma forma, considere me pagar um café! Sua doação ajuda a manter as atualizações e a documentação.
| 🌎 GitHub Sponsors | ||
|---|---|---|
| You can support me through GitHub Sponsors. |
🇧🇷 Escaneie o QR Code:![]() |
Click or scan the QR code:![]() |
🇧🇷 Ou utilize a Chave Pix (Copia e Cola):
25d1d528-df10-4005-bb28-2acf89706243
💪 How to contribute to the project
[!NOTE]
- Fork the project.
- Create a new branch with your changes:
git checkout -b my-feature- Save the changes and create a commit message describing what you did:
git commit -m "feat: my new feature"- Send your changes:
git push origin my-feature
🛠️ Technologies
The following tools were used in the construction of the project:
🧑💻 Collaborators:
💜 Thank you to everyone who contributed to the improvement of this project 😊
|
Finallf |
semantic-release-bot |
🧙♂️ Author:
📝 License:
[!WARNING] This project is licensed under: GPL-2.0 license.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v1.2.1 | Jun 22, 2026 | rd-backup.zip | 1 |
| v1.2.1-beta.1 | Jun 22, 2026 | rd-backup.zip | 0 |
| v1.2.0 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.2.0-beta.5 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.2.0-beta.4 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.2.0-beta.3 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.2.0-beta.2 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.2.0-beta.1 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.1.2-beta.1 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.1.1 | Jun 21, 2026 | rd-backup.zip | 1 |
| v1.1.0-beta.5 | Jun 21, 2026 | rd-backup.zip | 0 |
| v1.1.0 | Jun 20, 2026 | rd-backup.zip | 2 |
| v1.1.0-beta.4 | Jun 20, 2026 | rd-backup.zip | 0 |
| v1.1.0-beta.3 | Jun 20, 2026 | rd-backup.zip | 0 |
| v1.1.0-beta.2 | Jun 20, 2026 | rd-backup.zip | 0 |
| v1.1.0-beta.1 | Jun 20, 2026 | rd-backup.zip | 0 |
| v1.0.0 | Jun 20, 2026 | rd-backup.zip | 1 |
| v1.0.0-beta.16 | Jun 19, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.15 | Jun 19, 2026 | rd-backup.zip | 1 |
| v1.0.0-beta.14 | Jun 18, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.13 | Jun 18, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.12 | Jun 18, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.11 | Jun 18, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.10 | Jun 18, 2026 | rd-backup.zip | 0 |
| v1.0.0-beta.9 | Jun 18, 2026 | rd-backup.zip | 0 |


