Title: JRT Database and File Migrator
Author: jrtwebsolutions
Published: <strong>August 5, 2026</strong>
Last modified: August 5, 2026

---

Search plugins

![](https://ps.w.org/jrt-database-file-migrator/assets/banner-772x250.png?rev=3634788)

![](https://ps.w.org/jrt-database-file-migrator/assets/icon-256x256.png?rev=3634788)

# JRT Database and File Migrator

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

[Download](https://downloads.wordpress.org/plugin/jrt-database-file-migrator.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/jrt-database-file-migrator/#description)
 * [Reviews](https://wordpress.org/plugins/jrt-database-file-migrator/#reviews)
 * [Development](https://wordpress.org/plugins/jrt-database-file-migrator/#developers)

 [Support](https://wordpress.org/support/plugin/jrt-database-file-migrator/)

## Description

JRT Database and File Migrator moves WordPress databases between environments without
corrupted serialized data, timeouts, or guesswork.

**Free features**

 * Export any selection of database tables to a SQL file (optionally gzip-compressed)
 * Find & replace on the way out — PHP-serialized and JSON values are rewritten 
   safely with corrected string lengths
 * Import a SQL file back into any site, including one that uses a different table
   prefix
 * Chunked, resumable processing: large databases never hit PHP timeouts, and an
   interrupted job resumes where it stopped

**Pro features (subscription)**

 * Push & pull your database directly between two connected sites over signed requests
 * Transfer media uploads, themes and plugins alongside the database — only new 
   and changed files are sent
 * Destination checks are run before a transfer starts, so a server that cannot 
   receive files says so up front instead of failing halfway
 * Automatic safety backup before every import and pull
 * Saved profiles: store a configuration once, re-run it in one click

Pro licences are sold as subscriptions handled by Freemius, including checkout, 
invoices and licence management.

## FAQ

### Does the free version phone home?

No data leaves your site unless you opt in to Freemius usage tracking or activate
a Pro licence.

### How does find & replace handle serialized data?

Two strategies, chosen per value. Where the payload can be parsed, it is unserialized
with object instantiation disabled, walked recursively, and re-serialized with corrected
byte lengths. Where it cannot — for example when it contains objects of classes 
this site does not have — a token rewriter edits the `s:N:"..."` segments in place
without ever instantiating anything, so PHP object injection is not possible either
way.

If a payload cannot be handled safely by either strategy it is left untouched. The
plugin will not corrupt data to force a replacement.

### Which files are transferred?

Media uploads, themes and plugins, each selectable independently. Files are compared
by size and modification time, so re-running a transfer only sends what actually
changed.

Anything else under `wp-content/` — including `mu-plugins/`, caches, and files at
the site root such as `.htaccess` — is not transferred. Move those yourself if your
site depends on them.

### Can I pull a live site down to a local development install?

Yes, and this is the direction to use. A pull is driven entirely by the site you
are sitting at: it makes outbound requests to the live server, which never needs
to reach back. That means your local machine does not have to be publicly reachable,
and it does not need HTTPS of its own.

Pushing _to_ a local machine from a live server is not possible without a tunnel,
because the live server would have to open a connection to your desktop.

### A transfer failed with a permissions error. What now?

The destination reports the directory it could not write to. Give the web server
write access to that directory and run the transfer again.

Transferred files are given the same permissions WordPress itself uses for new files(`
FS_CHMOD_FILE` / `FS_CHMOD_DIR`), so a restrictive umask on the receiving server
cannot leave you with files the web server is unable to read back.

### My local install cannot verify the live site’s certificate.

Turn off “Verify TLS certificates” in Settings. This is separate from the plain-
HTTP option, so switching it off does not otherwise weaken how sites connect. Leave
it on in production.

### Transfers time out against a slow server.

Raise “Remote request timeout” in Settings. A request that times out part way through
cannot be retried safely, because it may already have been applied on the other 
side, so it ends the transfer rather than risking duplicate work.

### How are site-to-site transfers secured?

Each site has a random 64-character connection key. Every request between sites 
is signed with HMAC-SHA256, has a 5-minute validity window, and replay protection.
HTTPS is required by default.

### Does it work on multisite?

Not yet. Multisite support is planned.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“JRT Database and File Migrator” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ jrtwebsolutions ](https://profiles.wordpress.org/jrtwebsolutions/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

[Translate “JRT Database and File Migrator” into your language.](https://translate.wordpress.org/projects/wp-plugins/jrt-database-file-migrator)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/jrt-database-file-migrator/),
check out the [SVN repository](https://plugins.svn.wordpress.org/jrt-database-file-migrator/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/jrt-database-file-migrator/)
by [RSS](https://plugins.trac.wordpress.org/log/jrt-database-file-migrator/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.
 * Free: table-selective export, serialized-safe find & replace, import across differing
   table prefixes, resumable chunked jobs.
 * Pro: push/pull database transfers between connected sites, media/theme/plugin
   file transfers, automatic safety backups, saved profiles.
 * Pro: destination writability is checked before a transfer begins, and permission
   failures report the directory at fault instead of a generic error.
 * Pro: TLS certificate verification and the remote request timeout are configurable
   independently of the plain-HTTP option.

## Meta

 *  Version **1.0.0**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [database](https://wordpress.org/plugins/tags/database/)[export](https://wordpress.org/plugins/tags/export/)
   [find & replace](https://wordpress.org/plugins/tags/find-replace/)[import](https://wordpress.org/plugins/tags/import/)
   [migration](https://wordpress.org/plugins/tags/migration/)
 *  [Advanced View](https://wordpress.org/plugins/jrt-database-file-migrator/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/jrt-database-file-migrator/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/jrt-database-file-migrator/reviews/)

## Contributors

 *   [ jrtwebsolutions ](https://profiles.wordpress.org/jrtwebsolutions/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/jrt-database-file-migrator/)