ENGINEER-LED Our engineers run every migration with you. Explore what each way in reaches, then apply to have your site moved.

MOVE · MIGRATION

We rebuild your site in Praxis, page by page.

Migration is a room in every Praxis admin, and the engine our engineers run for you. Your pages become native sections you can edit, not a copy of the old code, and before you switch, you see what moved and what did not. Our engineers run every migration with you, from the first look at your site to the switch.

Every figure on this page is as of October 2026.
On this pageWhat it does
  1. What it does
  2. The engine reads a WordPress site in one of four ways, and takes the strongest one your site allows.
  3. Two doors in the room, and pages and posts land as drafts.
  4. Every imported item, in one queue, with a decision beside it.
  5. The original and the new page, side by side, at the same size.
  6. Nothing lost in silence.
  7. Assets
  8. Publish
  9. Sign-off and cutover
  10. Undo and roll back
  11. The copilot
  12. The read-only exporter
  13. How it works
  14. From your WordPress site to native Praxis pages.
  15. What keeps it safe
  16. Common questions

What it does

Migration lives in your site's own admin, beside the site it builds. Our engineers drive it with you, and every screen below is one you both see.

Four ways in

The engine reads a WordPress site in one of four ways, and takes the strongest one your site allows.

A WordPress site has twelve parts the engine tracks: content, media, users, taxonomies, menus, options, redirects, forms, commerce, builder data, theme data and plugin data.

Way in Reaches in fullReaches in partCannot reach
The Praxis exporter plugin Every part it declares, all twelve as of October 2026
A WordPress application password Content, media Users, taxonomies Menus, options, redirects, forms, commerce, builder data, theme data, plugin data
A WordPress export file (WXR) Content, menus, taxonomies, builder data Media, users, forms, commerce, plugin data Options, redirects, theme data
The site's public interface, with no sign-in Public content, media, taxonomies The other nine

"Scan" returns a receipt for the way you chose: each of the twelve parts marked "Available", "Partial" or "Unavailable", and why this way in was chosen. Only a read through the exporter, with nothing partial or missing, is eligible for the full cutover.

Importing

Two doors in the room, and pages and posts land as drafts.

  • "Import a live WordPress site". The site's address, a WordPress user and an application password; then "Scan", and "Import live".
  • "Import a WordPress export". "Inspect WXR", then "Import as drafts", for files up to 25 MB. Before you start, the panel tells you what goes live at import: your redirects, a menu of the same name, and the theme.
  • Pages, posts and their hierarchy become native collections with their nested addresses, all as drafts, and a custom post type becomes a collection of its own after "Import as collection".
  • From a multisite network, each site becomes its own Praxis site, with its own database.
  • "Migration jobs" lists every job with its status, beside a "Workspace fleet" summary.
  • On the sign-up form, "Existing WordPress site (optional)" lets you name your site. After you verify your email, we scan it anonymously, and nothing imports until you authorize a way in.

Review

Every imported item, in one queue, with a decision beside it.

  • Tiles at the top: "Imported", "Clean", "Needs review", "Resolved", "Findings open", "Media transferred", "Links rewritten" and "Redirects serving".
  • "Imported items" is a queue with search and a spreadsheet download. Beside each item: "Convert", "Undo conversion", "Fix with the copilot", "Accept as-is" or "Mark for manual work".

Before and after

The original and the new page, side by side, at the same size.

  • The original page beside its native draft, at the same 1280 by 900 viewport, with "Compare ⇆" and "Native preview ↗", and a one-page view with "Accept the page".
  • Our engineers also run a look-alike comparison: the original and the migrated page in the same browser, whole-page pixels plus every visible element's position and style, at six widths from 390 to 1920 pixels and at two pixel densities. On a customer's import, our operators start it.
  • The standard we hold a page to is that, to the eye, you could not tell the two apart.

What the migration found

Nothing lost in silence.

  • The promise, printed on the sign-up form and in the Migration room: "The migration is the site: plugin data is absorbed natively, plugin software does not come, and no loss is silent."
  • Every page carries its findings, each of one of four kinds: "fixable natively", "needs your call", "platform gap", and "someone has to look at it".
  • Each page states "N source constructs answered: X mapped, Y named", so every part of the old page is accounted for.
  • Anything the engine does not recognise goes to review with a plain reason; nothing is dropped quietly. The "Honesty report" tab lists, by name, what did not come.

Assets

  • "Assets" names every file "migrated", "deduped" or "failed".
  • Each file is checked for its status, type, size and a SHA-256 checksum, duplicates are merged, and the files are stored on Cloudflare R2. Through the exporter, each file is also checked against your site's own checksum, and a mismatch blocks the cutover.

Publish

  • "Publish N" puts the accepted pages live together, after a second click to confirm.
  • The same publishing rule that guards the Composer applies here.

Sign-off and cutover

  • "Cutover" ties your sign-off to sealed evidence, and issues an 11-check "Native cutover receipt" before the switch.
  • "Safe to turn off the source" appears only when every class of loss stands at zero.
  • "Workflow" shows where the migration stands, from the scan through the import and the review to the cutover, and what comes next. "Native site" shows what the import made: the home page, menus, redirects and search records. "Scan" shows how complex the move is, labelled plainly as an estimate.
  • Then your domain moves to Praxis with one record.

Undo and roll back

  • "Job controls": cancel a job, roll back its drafts or delete it, each confirmed with a second click, and resume a stopped job so you can attach its source again.
  • "Undo conversion" on any single item.
  • Below the jobs list, "Reset workspace" asks for a second confirming click. Confirming removes all migration jobs in this workspace, their records and automatic redirects, and moves their drafts to Trash. Published content and imported themes stay.

The copilot

  • 13 migration tools as of October 2026, 8 of them paused for approval, such as "Import this WordPress site?". The copilot's tools refuse WordPress passwords.
  • In a sentence: "Scan our current site: how hard is the move?" · "What still needs review?" · "Issue the cutover receipt".
The Amadalis WordPress migration page: the Private preview banner with Request an invitation, and the opening, Your site has twelve parts. We show you which ones survive the move, with Read-only at every level and Nothing is published, anywhere, ever.

migrate.amadalis.ai

Explore it

  • The engine's public door: "Your site has twelve parts. We show you which ones survive the move." Anyone can explore the four ways in and what each one reaches.
  • With an invitation, it runs a real migration of your own site into a private sandbox that expires 30 minutes after the import.
See the engine

The read-only exporter

  • "Praxis Migration Exporter" is a WordPress plugin that only reads: two read-only routes, open only to a WordPress user who already holds WordPress's own Export permission.
  • It is the way in that reaches all twelve parts, and the one that checks every file against your site's own checksum.
  • When it is the right way in for your site, our engineers send you the plugin and walk you through it.

Our engineers

Our migration service

An engineer on every migration,

from the first look at your site to the switch.

Any site is welcome, priced by its scope.

Sites built with Elementor or the WordPress block editor need the least hand work; very large or unusual sites, and sites not on WordPress, are scoped as projects of their own.

For Lighthouse customers and agencies.

We migrate a Lighthouse customer's site, or a sample of it first; agencies subcontract their clients' migrations to us, and we work behind them.

How it works

From your WordPress site to native Praxis pages.

  1. Read.

    The engine takes the strongest way in your site allows, and its receipt names what that way cannot reach.

  2. Sort.

    A conservative sorter sends anything unknown to review with a plain reason.

  3. Convert.

    Builder layouts become native rows and sections; fields, forms, search records and products become native records. The old HTML is not simply copied: a part that cannot be rebuilt without losing words is kept as it was and held for a person's review.

  4. Land as drafts.

    Pages and posts arrive as drafts. Redirects go live at import where possible, and the imported menu takes the place of a live menu of the same name.

  5. Take the look.

    A browser measures your live pages' colours, fonts, sizes and widths into a native theme, and makes it active.

  6. Compare and review.

    Each page beside its original, its findings, and our engineers' hand where a page needs one.

  7. Sign off and switch.

    The cutover receipt, then one record moves your domain.

What keeps it safe

Your site keeps running.

We only read from it, and it stays live until you approve the switch.

Drafts first.

Pages and posts arrive as drafts, and none is published until a person approves it. Redirects go live at import where possible, as do a menu of the same name and the theme, and the panel names each one before you begin.

No silent loss.

What could not come is named, page by page, and the source is not marked safe to turn off until every class of loss is zero.

A confirming click for destructive acts.

Cancelling, rolling back, deleting and resetting each wait for a second click on a button that names the act.

Credentials stay out of chat.

The copilot's tools refuse WordPress passwords. Passwords, sessions and payment details never move with the site, by design, and accounts arrive ready for their owners to claim.

Files with proof.

Every file carries a checksum, and through the exporter a mismatch blocks the cutover.

Common questions

Will my site look the same?

Our engineers compare every page with its original and finish what needs a human hand. You see each page side by side, and nothing moves to your domain until you approve.

How long does a migration take?

It depends on the site. We give you a schedule when we scope it.

Can I try the engine first?

Yes. Anyone can explore it at migrate.amadalis.ai, and with an invitation it runs a real migration of your own site into a private sandbox. For the move itself, our engineers run every migration with you.

What happens to my plugins?

Their software stays behind. What they held, such as forms, search settings, custom fields and products, comes across as native content wherever the engine can carry it, and anything it cannot carry is named before you switch.

What happens to my old addresses?

They become native redirects at import, except where the destination is missing or a redirect conflicts; those are listed for review. Some archive addresses point to the home page. Rules from the Redirection plugin come across through the exporter, and its pattern rules become review items.

What happens to my SEO?

Titles, descriptions, canonical addresses, robots settings and social cards from Yoast, Rank Math, SEOPress and All in One SEO become a native search record for each page.

Do you move stores?

Yes. Products, variations, coupons, tax and shipping come across as native data, and past orders as history. A moved store runs on Praxis's own checkout, paid through Stripe, and our engineers scope and test every store move with you.

Do you move sites that are not on WordPress?

Yes, as a project of its own, priced by its scope.