Onecraft Site Migration

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) and wp-config.php. The
    destination must already be a working WordPress install; the destination keeps
    its own core and database connection settings.

Installation

  1. Upload the plugin ZIP under Plugins Add New Upload Plugin, then
    activate it (do this on both the source and destination sites).
  2. 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.
  3. On the destination site, open Migration, enter the source site URL,
    choose the downloaded package, and click Upload & import.
  4. Keep the browser tab open until the progress bar reports completion.

FAQ

Does the destination need WordPress already installed?

Yes. The package contains wp-content and 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-content files. 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 example wp_).

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.

Contributors

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.