Description
Onecraft Site Migration moves a single WordPress website from one place to another.
On the source site you export everything into one downloadable package; on the
destination you upload that package and import it. The URLs are rewritten to the
new domain automatically.
It is built to be reliable on ordinary shared hosting, where a single PHP
request cannot do all the work:
- Runs in small, resumable steps. Long jobs are split into bounded “ticks”
driven from your browser, so they never rely on one giant request. - Streams, never loads everything into memory. Files and database tables are
processed in chunks, so a large file or table will not exhaust memory. - Serialization-safe search & replace. When the domain changes, PHP-serialized
option and meta values are rewritten correctly (string lengths recomputed). - Validates before it touches the destination. The uploaded package’s
checksums are verified before anything is imported. - Automatic rollback. The destination database is backed up before import; if
the database import fails, it is restored automatically.
This is an original implementation. It does not use or copy any other plugin’s
archive format, code, or interface.
What is migrated
- All of
wp-content— themes, plugins, and uploaded media. - The database — posts, pages, settings, users, and so on.
What is not migrated
- WordPress core files (
wp-admin/wp-includes) andwp-config.php. The
destination must already be a working WordPress install; the destination keeps
its own core and database connection settings.
Installation
- Upload the plugin ZIP under Plugins Add New Upload Plugin, then
activate it (do this on both the source and destination sites). - On the source site, open Migration, optionally enter the destination
URL, and click Start export. When it finishes, download the package from
the Recent jobs list. - On the destination site, open Migration, enter the source site URL,
choose the downloaded package, and click Upload & import. - Keep the browser tab open until the progress bar reports completion.
FAQ
-
Does the destination need WordPress already installed?
-
Yes. The package contains
wp-contentand the database, not WordPress core.
Install a fresh WordPress on the destination first, then import. -
Is importing destructive?
-
Yes. Importing overwrites the destination’s database and
wp-contentfiles. Use
a fresh or disposable destination site. The database is backed up before import
and restored automatically if the database import fails; replaced files are also
backed up within the job’s working directory. -
What if the domain is different on the destination?
-
That is the normal case. Enter the source site URL during import and the plugin
rewrites the old domain to the new one across the database (serialized data
included). Note that a scheme change (http https) or a change of subdirectory
is not rewritten in this version. -
Does the table prefix need to match?
-
Yes, in this version the source and destination must use the same database table
prefix (for examplewp_). -
Where is the export package stored?
-
Under
wp-content/uploads/ocsm-work/<job-id>/. That directory is protected from
direct web access; download the package through the plugin’s Download button,
which is capability- and nonce-checked. -
Does it call home or send my data anywhere?
-
No. The plugin makes no external requests and includes no tracking.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Onecraft Site Migration” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Onecraft Site Migration” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.0
- Initial release: browser-driven export and import.
- Resumable, chunked file scan, database export, and packaging (ZIP).
- Chunked, resumable, checksum-verified upload and package validation.
- File extraction to staging, streaming database import, serialization-safe URL
replacement, and promotion of files into place with a move-aside backup. - Automatic pre-import database backup with rollback on failure.
- Environment diagnostics, job logging, and capability + nonce protected REST
endpoints.