Title: Spinix Migration &amp; Backup
Author: Muheyuddin
Published: <strong>October 24, 2026</strong>
Last modified: October 24, 2026

---

Search plugins

![](https://ps.w.org/spinix-migration/assets/banner-772x250.png?rev=3763816)

![](https://ps.w.org/spinix-migration/assets/icon-256x256.png?rev=3763816)

# Spinix Migration & Backup

 By [Muheyuddin](https://profiles.wordpress.org/muheyu/)

[Download](https://downloads.wordpress.org/plugin/spinix-migration.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/spinix-migration/#description)
 * [Reviews](https://wordpress.org/plugins/spinix-migration/#reviews)
 *  [Installation](https://wordpress.org/plugins/spinix-migration/#installation)
 * [Development](https://wordpress.org/plugins/spinix-migration/#developers)

 [Support](https://wordpress.org/support/plugin/spinix-migration/)

## 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](https://spinixtechnologies.com),
a UK company.

#### Highlights

 * **Complete backups** – all files and the full database in one `.spinix` file.
 * **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 `.spinix` file into `wp-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

[⌊Dashboard with one-click backup and import, backup count, health score and activity.⌉⌊
Dashboard with one-click backup and import, backup count, health score and activity
.⌉[

Dashboard with one-click backup and import, backup count, health score and activity.

[⌊Create a backup: choose what to include, advanced exclusions and optional password
encryption.⌉⌊Create a backup: choose what to include, advanced exclusions and optional
password encryption.⌉[

Create a backup: choose what to include, advanced exclusions and optional password
encryption.

[⌊Live progress for every step with a percentage per stage.⌉⌊Live progress for every
step with a percentage per stage.⌉[

Live progress for every step with a percentage per stage.

[⌊Before restoring, Spinix shows exactly what will change: domain, table prefix,
permalinks and compatibility warnings.⌉⌊Before restoring, Spinix shows exactly what
will change: domain, table prefix, permalinks and compatibility warnings.⌉[

Before restoring, Spinix shows exactly what will change: domain, table prefix, permalinks
and compatibility warnings.

[⌊Errors are explained in plain English with step-by-step fixes and a "Copy message
for my host" button.⌉⌊Errors are explained in plain English with step-by-step fixes
and a "Copy message for my host" button.⌉[

Errors are explained in plain English with step-by-step fixes and a “Copy message
for my host” button.

[⌊Downloads & Tools: database dump, files ZIP, and any single plugin or theme as
an installable ZIP.⌉⌊Downloads & Tools: database dump, files ZIP, and any single
plugin or theme as an installable ZIP.⌉[

Downloads & Tools: database dump, files ZIP, and any single plugin or theme as an
installable ZIP.

[⌊System Health checks your server before every operation.⌉⌊System Health checks
your server before every operation.⌉[

System Health checks your server before every operation.

## Installation

 1. Upload the plugin ZIP via Plugins  Add New  Upload Plugin and activate it.
 2. Open **Spinix** in the admin menu.
 3. Click **Create backup**. When it finishes, download the `.spinix` file.
 4. 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 the `SPINIX_STORAGE_DIR` constant
 * `spinix_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.

Contributors

 *   [ Muheyuddin ](https://profiles.wordpress.org/muheyu/)

[Translate “Spinix Migration & Backup” into your language.](https://translate.wordpress.org/projects/wp-plugins/spinix-migration)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/spinix-migration/),
check out the [SVN repository](https://plugins.svn.wordpress.org/spinix-migration/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/spinix-migration/)
by [RSS](https://plugins.trac.wordpress.org/log/spinix-migration/?limit=100&mode=stop_on_copy&format=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.

## Meta

 *  Version **1.0.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [backup](https://wordpress.org/plugins/tags/backup/)[clone](https://wordpress.org/plugins/tags/clone/)
   [database](https://wordpress.org/plugins/tags/database/)[migration](https://wordpress.org/plugins/tags/migration/)
   [restore](https://wordpress.org/plugins/tags/restore/)
 *  [Advanced View](https://wordpress.org/plugins/spinix-migration/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/spinix-migration/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/spinix-migration/reviews/)

## Contributors

 *   [ Muheyuddin ](https://profiles.wordpress.org/muheyu/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/spinix-migration/)