Description
Transit packs your complete WordPress site into a single .tsmig file and restores it on any other WordPress site: a new domain, a new host, or local live. URLs, server paths and the database table prefix are updated automatically while the database is imported — no separate search-and-replace step.
Built for large sites
- No size limit from your host. Uploads are sent in chunks, so
upload_max_filesizedoesn’t matter. Big files — a 20 GB video — are copied across as many requests as needed. - Every request stays short. Export and import work in steps of about 20 seconds, well below PHP and proxy timeouts.
- Flat memory use. Files are streamed straight to disk, and the database is read with index-based pagination, however many rows a table has.
- Resumes after interruptions. Close the page, lose the connection or hit a server timeout: the export, the upload and the import continue where they stopped. Downloads can be resumed too.
- Crash-safe. A request that dies mid-write is rolled back and redone. Database imports run in transactions, so an interruption never duplicates rows.
- WP-CLI support for very large sites:
wp transit-site-migration exportandwp transit-site-migration import.
What a backup contains
- The database — every table with your site’s prefix
- Media library (
wp-content/uploads) - Plugins, themes and must-use plugins
WordPress core, wp-config.php and transients (temporary cache data) are not included.
Import that just works
- Site URL,
https/http,www, JSON-escaped and URL-encoded URLs, email domains and server paths are replaced. - Serialized data (widgets, theme and plugin settings) stays valid.
- A different table prefix on the new site is handled.
- After import, plugins that were active stay active. Caching and host-specific plugins are deactivated with a clear note, and caches (including Elementor CSS and block-theme styles) are cleared.
- Server checks run before an import: PHP version, memory, disk space, folder and database permissions.
Backups page
Every backup is listed with its source site, date and size. Download it, import it again with one click (no re-upload), or delete it. The newest 5 backups are kept automatically.
Privacy
Transit does not connect to any external service and sends no data anywhere. Backups stay on your server in wp-content/transit-site-migration-backups/, which is protected against direct web access.
Installation
- Install Transit from Plugins Add New and activate it — on both the old and the new site.
- On the old site, go to Transit Export and click the export button. Download the file when it’s done.
- On the new site, go to Transit Import, drop the
.tsmigfile onto the page and confirm. - When the import finishes, log in with the old site’s username and password.
Nginx servers
Apache, LiteSpeed and IIS block direct access to the backup folder automatically. On Nginx, add this to your server block:
location ^~ /wp-content/transit-site-migration-backups/ { deny all; }
FAQ
-
Is there a file size limit?
-
Transit accepts backups up to 100 GB (a filter can raise this). Your server needs enough free disk space for the backup file.
-
The import overwrote my users — why can’t I log in?
-
The whole database is replaced, including users. Log in with the username and password of the site you exported from.
-
What happens to URLs and links?
-
They are changed to the new site’s address during the import, including links inside page builder data and serialized settings.
-
The export or import stopped. What now?
-
Open the Export or Import page again. Transit continues where it left off.
-
My host has short timeouts.
-
Steps take about 20 seconds by default. Lower it with the
transit_site_migration_step_time_budgetfilter, or use WP-CLI, which has no web timeouts. -
Does Transit work on WordPress Multisite?
-
Not yet. On a Multisite network Transit is disabled and shows a notice.
-
File changes are disabled on my site (DISALLOW_FILE_MODS).
-
Transit respects it: the database and media are restored, but plugin and theme files from the backup are not installed. A warning lists how many were skipped.
-
Why is it slow on my Windows computer?
-
Antivirus software such as Windows Defender scans every script file as it is opened, which slows down copying plugin files. Linux hosting servers are not affected.
-
Can I use WP-CLI?
-
Yes:
wp transit-site-migration export wp transit-site-migration import /path/to/site.tsmig wp transit-site-migration list
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Transit – Site Migration & Backup” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Transit – Site 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.0
- First public release.
