aism_migration_run
Migrates a whole WordPress site between configured sites in resumable steps: users, terms, settings, media, content, comments, then finalizes ID remapping and source URL rewrites.
Instructions
Migrate a whole site in resumable steps: terms, site settings (front page, permalinks, media sizes, widgets, customizer), media (original files), all content types including menus, templates, global styles and patterns, comments, then a finalize pass that remaps IDs and rewrites source URLs to the target. User accounts come first, with their roles, profile and password hashes so people keep their passwords (needs users:read on the source key and users:write on the target key, companion 1.7.0+; otherwise authors are only matched by login/email). Target accounts with the same login or email are mapped, never changed. Returns within max_seconds; call again with the returned cursor until done is true. Re-running updates already migrated objects instead of duplicating them, so it also works as an incremental sync (with modified_after). Overwrites target settings and previously migrated objects, including passwords of accounts an earlier run created (use phases or on_existing=skip to avoid that).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"source": "<source>",
"target": "<target>"
},
"name": "aism_migration_run"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | cursor from the previous call; omit to start. | |
| phases | No | Subset of phases (finalize always runs). Default: all. | |
| source | Yes | Configured site name to migrate FROM (needs migration:read). | |
| status | No | preserve keeps source publication status; draft imports publicly viewable content as drafts (patterns, menus and templates stay usable). | preserve |
| target | Yes | Configured site name to migrate INTO (needs migration:read and migration:write). | |
| author_map | No | Source author login → target user login. Unmapped authors match by login, then email, then default_author. | |
| post_types | No | Only these post types (include attachment for media). Default: all. | |
| match_slugs | No | Adopt existing target posts with the same type and slug instead of creating duplicates. Terms and templates always match by slug. | |
| max_seconds | No | Time budget for this call. | |
| on_existing | No | For objects already migrated earlier: update them from the source, or leave them. | update |
| exclude_users | No | Source account logins not to copy (case-insensitive). Content they wrote is still matched by login/email or given to default_author. | |
| default_author | No | Target login used when no author matches. Defaults to the target key owner. | |
| modified_after | No | ISO date: only posts, media and comments changed after it (incremental sync). |