KapsuleHost Migrator

Description

KapsuleHost Migrator moves a WordPress site in one of two ways.

Move to KapsuleHost. Paste the one-time token from your KapsuleHost panel and the plugin sends your files and database straight to KapsuleHost. Your current site stays live and unchanged the whole time.

Download a copy. Package your files and database into archives you can download and take anywhere. No KapsuleHost account is needed.

How a move to KapsuleHost works

  1. In your KapsuleHost panel, open Websites, then Migrate a Site, and choose the plugin option.
  2. Copy the one-time migration token the panel gives you.
  3. Install and activate this plugin on the site you are moving.
  4. Go to KapsuleHost Migrate in your admin menu, paste the token and click Start the Move.

The plugin counts your files, packs them in pieces so large sites move without running out of memory, copies your database and sends it all to KapsuleHost. A live meter shows what has actually been sent. If the connection drops, it picks up from the last piece that arrived.

How a download works

  1. Install and activate the plugin. No account is needed.
  2. Go to KapsuleHost Migrate in your admin menu.
  3. Open the Download a Copy tab and click Package This Site. Packaging runs in the background.
  4. Download your files and database archives when they are ready.

Features

  • Works with any WordPress host, with no SSH or FTP details needed.
  • Moves sites of several gigabytes in pieces, within normal PHP memory limits.
  • The download option works without a KapsuleHost account.
  • A one-time token authorises the move, so no passwords are stored or shared.
  • wp-config.php is left out of every package.
  • Temporary files are removed when a move ends, and the token is deleted once KapsuleHost reports the move finished.

Security

  • Your migration token works once and expires after 2 hours.
  • Everything is sent over an encrypted connection (HTTPS).
  • The plugin never changes your content. It reads your files and database and writes only its own settings and temporary files, in a private, randomly named folder that is removed when the move ends.
  • wp-config.php and wp-config-sample.php are never included in a package.
  • The token is never sent to your browser. It stays on this server and is deleted when KapsuleHost reports the move finished, when the move stops, when you start over, or when the plugin is removed.

External Services

This plugin can send your site to KapsuleHost, a web hosting service operated by Kapsule Group
Limited (New Zealand). It is not required in order to use the plugin: the export path packages your
site into files you download yourself and contacts nothing.

When a connection is made. Only after you start a migration in your KapsuleHost panel and paste
the one-time token it gives you into this plugin, and only while that migration is running. Nothing
is sent when the plugin is merely installed or activated, and nothing is sent if you only use the
export path.

What is sent. Your site’s files and its database, uploaded in pieces to
kpanel.kapsulehost.com, because that is the migration. Alongside them the plugin sends your site
address, the token, a count of files and bytes so the progress bar can be honest, and the reason if
a piece fails so the move can be resumed rather than restarted. Your WordPress administrator
password is never sent: the token authorises the transfer, not your login.

What is received. The state of your migration (which step, what percentage, any error), so this
screen can report what is actually happening rather than guessing, and which pieces KapsuleHost
already holds, so a resumed move carries on from there. Both are asked by this server, never by your
browser, and the token is never sent to your browser.

Shop orders during the switch-over (WooCommerce only, only if you agree). After your site has
been copied, if your site is a WooCommerce shop and your KapsuleHost panel offers it, the plugin asks
you on its screen whether to keep sending new orders to KapsuleHost. Nothing is sent unless you
choose Yes. If you do, the plugin sends kpanel.kapsulehost.com the orders and refunds (with their
items, addresses and notes), stock levels, and customer accounts created here since the copy,
including those customers’ password hashes so they can sign in on the new site (never their login
sessions, application passwords, password-reset keys or other secret keys). It sends this every 15
minutes and shortly after an order changes, in the background (never during a shopper’s checkout),
until KapsuleHost reports the switch-over finished, and stops when you start over or remove the
plugin. KapsuleHost adds them to your new site.

Update checks. The copy of this plugin distributed from WordPress.org uses WordPress.org’s own
update system and makes no update requests to KapsuleHost. The copy downloaded directly from
kapsulehost.com asks kpanel.kapsulehost.com for the current version at most once every six hours.

Service terms: https://kapsulehost.com/legal/terms
Privacy policy: https://kapsulehost.com/legal/privacy

Screenshots

Installation

To move your site to KapsuleHost

  1. In your KapsuleHost panel, open Websites, then Migrate a Site (kpanel.kapsulehost.com/websites/migrate).
  2. Choose the plugin option and copy your migration token.
  3. In your WordPress admin, go to Plugins > Add New Plugin and search for “KapsuleHost Migrator”.
  4. Click Install Now, then Activate.
  5. Go to KapsuleHost Migrate in your admin menu.
  6. Paste your migration token and click Start the Move.

To download a copy of your site

  1. In your WordPress admin, go to Plugins > Add New Plugin and search for “KapsuleHost Migrator”.
  2. Click Install Now, then Activate.
  3. Go to KapsuleHost Migrate in your admin menu.
  4. Open the Download a Copy tab, then click Package This Site.
  5. Download your archives when packaging completes.

FAQ

Do I Need a KapsuleHost Account?

No. The Download a Copy tab works without any account. You only need a KapsuleHost account to move your site to KapsuleHost.

Will This Affect My Live Site?

No. The plugin reads your files and database and never changes your content; it writes only its own settings and temporary files.

What If the Migration Fails?

The plugin tells you in plain words what happened and gives you a support reference. Contact KapsuleHost support, quote the reference, and we will sort it out. Your site is unaffected.

Do I Need to Keep the Plugin Installed?

Once the migration is complete and you have confirmed your site is live on KapsuleHost, you can deactivate and delete the plugin. If your site is a WooCommerce shop and you chose to keep sending new orders, keep the plugin active until your KapsuleHost panel says the switch-over has finished.

What Files Are Excluded From Exports?

wp-config.php and wp-config-sample.php are always excluded. Common cache directories, node_modules, and backup directories are also skipped.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“KapsuleHost Migrator” is open source software. The following people have contributed to this plugin.

Contributors

Translate “KapsuleHost Migrator” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

The full notes for every release, in the same words, are in changelog.txt in the plugin’s folder.

1.6.12

  • Updated to the new KapsuleHost branding.

1.6.11

  • Fixed: while a move ran in the background, or an export was packaged, the progress figure was taken from a total still being counted and could read close to 100% on the first piece. No percentage is shown until the whole site has been counted.
  • Fixed: a write that failed or fell short while copying your database (a full disk, for example) was not noticed, so an incomplete copy could be sent. The move now stops with a clear message, removes its temporary files, and never checks, compresses or sends an incomplete copy.
  • Every other file write, archive step and server answer in the plugin was checked for the same two problems, and now stops the same way.

1.6.10

  • Security: symbolic links are no longer followed or packed, and archive names are always relative to your WordPress folder. The status check no longer puts the migration key in the address.
  • Fixed: removing this plugin now also clears a small housekeeping setting it used to throttle its once-an-hour cleanup check, left behind by earlier releases.

1.6.9

  • New: this plugin tells KapsuleHost which database table prefix your site uses, read from WordPress itself, and KapsuleHost sets up your moved site with it after checking that your database copy holds those tables. Until now KapsuleHost worked the prefix out from the database copy alone, and a database holding more than one WordPress site could leave that open, so the move stopped until our team had confirmed it with you. On a WordPress network the prefix sent is always the network’s own, whichever site’s screen the move starts from.

1.6.8

  • New: a WooCommerce shop keeps the orders it takes here after the copy. Where your KapsuleHost panel supports it, new orders, refunds, customers and stock changes are sent to KapsuleHost and added to your new site until the switch-over has finished. It only reads your shop. Keep this plugin active until your panel says the switch-over has finished.
  • Fixed: a site holding a file larger than about 100 MB (a video, a backup) can move: such a piece is sent in checked parts and put back together on KapsuleHost. Measured with a single 3 GB file.
  • Fixed: a database larger than PHP’s memory limit no longer stops the move at “99% database”.
  • Fixed: if PHP stops with an error while your database is copied, this screen says what happened and what to do, with a reference, and your panel is told.
  • Fixed: when this plugin stops a move, your KapsuleHost panel shows the same stop and one reference; the piece that could not be sent is removed from your server’s temporary folder.
  • Fixed: the support reference (KH-…) always stays on one line, reads left to right, and is selected with one click.
  • Fixed: on a server without PHP’s zip extension, the last piece of your site was not sent when the move ran in the background, and was missing from an export for a manual move. Every piece is now sent. Moves started from this screen were not affected.
  • Fixed: a file name containing a line break could change what the tar program packed, and pull in a file this plugin never sends, such as wp-config.php. File names can no longer do that, and a top-level file whose name starts with a dash is left out and named in your site’s error log.
  • Fixed: on a server with neither the zip extension nor a usable tar, a file name PHP’s archive format cannot hold no longer stops the move: that file is left out and named in your site’s error log.
  • Your site is sent through WordPress’s own connection system only, reading each piece from disk as it goes, so a large site needs no extra memory.
  • The WordPress.org copy is updated by WordPress.org only and carries no update code of its own, and it leaves translations to WordPress.
  • Database tables whose names hold unusual characters are copied under their real names, and messages are made safe to display where they are written.

1.6.7

  • This plugin sends your site without curl wherever WordPress itself can reach the internet, and says before starting when this server cannot send anything at all.