Description
Spinix Migration & Backup packs your entire website – every file in the WordPress folder (including .htaccess, wp-config.php, .user.ini, .well-known and other dotfiles), the full database and all settings – into a single .spinix file. Restore it on the same site or on a completely different domain: URLs, server paths and the table prefix are updated automatically and permalinks stay exactly as they were.
Spinix Migration & Backup is developed and maintained by Spinix Technologies Ltd, a UK company.
Highlights
- Complete backups – all files and the full database in one
.spinixfile. - One-click migration – automatic URL change (including serialized data, nested serialized data and JSON-escaped URLs used by page builders), server path change, table prefix change.
- Safe restore – files are unpacked to a private staging folder and the database is imported into temporary tables. Your live site is untouched until the final step, which switches everything in seconds (one atomic database rename).
- Undo restore – the previous database and files are kept so a restore can be reverted with one click.
- No upload size limit – uploads are sent in small resumable pieces sized for your server. Interrupted uploads resume.
- FTP friendly – drop any
.spinixfile intowp-content/spinix-backups/and it appears on the Backups page, ready to restore. - Resumable everything – backups, restores and exports work in short steps, so low PHP time limits and dropped connections are no problem. Paused operations continue where they stopped.
- Plain-English errors – permission problems, missing PHP extensions, memory/time limits, firewall blocks, database privileges and corrupted files are explained with step-by-step fixes and a “Copy message for my host” button.
- Database only – download a MySQL dump (.sql or .sql.gz) without shell access, with optional find & replace.
- Files as ZIP – download all files, wp-content, uploads, all plugins or all themes as ZIP (ZIP64, no ZipArchive needed).
- Single plugin or theme as ZIP – ready to install elsewhere.
- Password-protected backups – AES-256-GCM encryption.
- Integrity check – every block carries a CRC32 checksum; verify any backup with one click.
- Scheduled backups – daily, twice daily or weekly, with retention and email notifications.
- System Health – pre-flight checks with a health score, activity log and downloadable debug report.
- WP-CLI –
wp spinix backup|restore|export-db|list|verify. - Works on Apache, LiteSpeed, Nginx and IIS. PHP 7.4 – 8.5.
What is migrated automatically
- Site URL and home URL (http/https, www and non-www, protocol-relative, JSON-escaped and URL-encoded forms).
- Absolute server paths (for example Wordfence’s .user.ini, cache plugins, upload paths).
- Table prefix (user roles and user capability keys are adapted).
- wp-config.php from the backup is used, but the destination server’s database name, user, password, host and table prefix are kept automatically.
- .htaccess: old host-specific PHP handler lines are disabled (a classic cause of “500 errors” after migration) and the destination server’s PHP handler is re-applied; RewriteBase is fixed when moving between root and sub-folder installs.
- Permalinks are rebuilt with all plugins active on the first page load after the restore, and popular caches are purged (WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed, SiteGround, Autoptimize, Breeze, WP Fastest Cache, Elementor CSS, object cache).
Source code
All JavaScript and CSS in this plugin is the original, human-readable source code. Nothing is compiled, bundled or minified, and no build tools are needed:
assets/js/admin.js– the admin interface (plain JavaScript, no framework).assets/css/admin.css– the admin styles.
The plugin includes no third-party libraries. To change the interface, edit these files directly.
Screenshots







Installation
- Upload the plugin ZIP via Plugins Add New Upload Plugin and activate it.
- Open Spinix in the admin menu.
- Click Create backup. When it finishes, download the
.spinixfile. - On the destination site, install Spinix, open Import / Restore, drop the file and click Restore now.
FAQ
-
Where are backups stored?
-
In
wp-content/spinix-backups/. The folder is protected against direct downloads (.htaccess, web.config, index files and unguessable file names). Downloads always go through an authenticated WordPress request. -
Can I cancel?
-
Backups and exports can be cancelled at any time. A restore cannot be cancelled once started; keep the tab open until it finishes. If it is interrupted, open Spinix again and it will finish the restore. Before the final step your live site has not been changed.
-
Will I be logged out after a restore?
-
Yes. The user accounts come from the restored database, so log in with the username and password of the site the backup was made from.
-
Is Multisite supported?
-
Not yet – single sites only in version 1.0.
-
Does Spinix send my data anywhere?
-
No. Spinix does not contact any external service, does not track you and collects no data. Backups stay on your server until you download them. The only network request Spinix makes is to your own website after a restore, to check that the restored site loads.
-
What happens if a plugin from the old host breaks the restored site?
-
Some hosting companies ship their own plugins that only work on their servers (for example Hostinger’s helper plugins). After every restore Spinix opens the restored site’s front page, login page and admin area on the new server. If a plugin, theme, must-use plugin or drop-in causes a fatal PHP error there, Spinix deactivates it (must-use plugins and drop-ins are renamed with a .spinix-disabled suffix), tests again, and lists exactly what it switched off and why on the success screen. Nothing is deleted, and you can re-activate anything from the Plugins page.
-
Why does a “Spinix Restore Guard” must-use plugin appear during a restore?
-
While a restore runs, Spinix temporarily adds a tiny must-use plugin. It only acts on Spinix’s own restore requests that carry the secret restore token, and makes those requests load without other plugins and the theme, so a plugin that is incompatible with the new server cannot interrupt the restore halfway. It is removed automatically when the restore finishes.
-
My backup contains symbolic links. What do I need?
-
To recreate symbolic links PHP must be allowed to use the symlink() function. Spinix checks this before the restore starts and explains how to enable it if your server has it disabled. Nothing is changed until the server is ready.
-
Can I upload a backup with FTP?
-
Yes. Copy the .spinix file into wp-content/spinix-backups/ (binary mode) and click Refresh on the Backups page.
-
What happens when I delete the plugin?
-
Settings, scheduled events, temporary files and undo data are removed. Your .spinix backup files in wp-content/spinix-backups/ are kept on purpose, so deleting the plugin never deletes your backups. Remove that folder manually if you no longer need them.
-
Are there hooks for developers?
-
spinix_step_budget(float seconds of work per request, default 20)spinix_compression_level(int 0-9, default 3)spinix_storage_dir(string) or theSPINIX_STORAGE_DIRconstantspinix_capability(string, default manage_options)spinix_job_complete(action, receives the job)spinix_after_restore(action, runs on the first normal page load after a restore)
WP-CLI:
wp spinix backup,wp spinix restore <file>,wp spinix export-db,wp spinix list,wp spinix verify <file>.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Spinix Migration & Backup” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Spinix Migration & Backup” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Plugin renamed to “Spinix Migration & Backup” (the plugin folder and settings are unchanged).
- Security hardening of the restore and rollback folders.
- Undo copies are stored compressed and never as runnable .php files.
- Folder locations are resolved in one place with the WordPress API; local files are read with the WordPress Filesystem API.
- The admin JavaScript and CSS are formatted for readability (they were always unminified source).
- Developer hooks for add-ons (admin pages, jobs, backup/restore options, database export, archive contents).
- Backups can be restored per table and file by add-ons; incremental archives can be combined.
- Restore: protected plugin folders and a hook right before files are switched.
1.0.0
- Initial release.
- Complete backups of all files and the database into a single .spinix file, with optional AES-256 encryption.
- One-click restore and migration with automatic URL, server path and table prefix changes (serialization- and JSON-safe).
- Safe restore: staging folder and temporary tables, atomic switch, one-click undo.
- Automatic post-restore self-test that switches off plugins that crash on the new server (for example host-specific plugins).
- Symbolic link support with a pre-restore server check.
- Chunked, resumable uploads with no size limit; FTP-uploaded backups appear automatically.
- Database export (.sql / .sql.gz) with find & replace, website files ZIP, single plugin or theme ZIP.
- Scheduled backups with retention and email notifications, backup verification, System Health, activity log, WP-CLI commands.
- Plain-English error messages with step-by-step fixes.
