Kerishna Shop Migrator gives store owners a controlled way to move important commerce data between WordPress sites without turning migration into an all-or-nothing process.
Need only your orders? Export only orders. Need customer accounts for a new store? Export customers separately. Have a backup file and do not remember what it contains? Drop it into Kerishna and the importer identifies whether it contains orders, customers, or a compatible combined backup.
The source site stays read-only during export and direct site-to-site transfer. Kerishna does not intentionally delete, trash, renumber, or move source orders, customer accounts, products, or source IDs.
Store migrations often become difficult for three reasons: source and destination IDs do not match, customer accounts can be duplicated, and users are forced to move more data than they actually need.
Kerishna is designed around those problems:
Order backups are intentionally separate from customer-account backups. This is useful when you need sales history, accounting data, or order archives on another site but do not want to create customer accounts there.
Order exports include the order information required for restoration, including:
During an order-only import, Kerishna does not create new customer accounts as a side effect. If a matching account already exists on the destination, the order can reuse that account; otherwise the order remains safely importable without forcing customer creation.
Customer exports contain registered WooCommerce customer accounts separately from orders. This lets you migrate customer profiles only when the destination actually needs them.
Customer backups can include:
Passwords and password hashes are never included in export files. A newly created destination customer receives a generated password and can use the normal WordPress password-reset flow.
Before Kerishna creates a destination customer account, it checks for an existing match in this order:
Phone matching normalizes common number formats, including Persian and Arabic digits and common Iranian mobile prefixes such as +98, 0098, 98, and 09.
Existing matched accounts are reused instead of being duplicated. Kerishna does not overwrite an existing customer’s profile merely because the source contains different values.
The admin interface uses a single import area instead of separate JSON/CSV and order/customer import buttons.
Drop a supported file into the import area or click to select it. Kerishna determines:
This keeps the interface simpler while preserving explicit control over what is exported.
Kerishna supports both JSON and CSV workflows:
New exports identify their data type so the importer can distinguish order-only and customer-only backups. Compatible older combined JSON/CSV backups remain supported.
WordPress and WooCommerce numeric IDs are site-specific. Kerishna does not assume that a product ID or variation ID from the source points to the same object on the destination.
Product and variation matching uses stable information such as available SKU/global identifiers, product identity data, parent-product context, and variation attributes. If a safe destination match cannot be found, the order line is preserved without connecting it to an unrelated product.
The source site is treated as read-only during export and direct site-to-site copy.
Kerishna includes safeguards intended to prevent accidental writes back to the source:
The destination creates and uses its own WordPress/WooCommerce IDs.
For repeated migrations or backup workflows, Kerishna can connect two sites with generated API credentials and send order batches directly to the destination.
You can choose whether registered customer accounts should be included in direct transfers. Requests are signed and authenticated, and the source remains read-only during the operation.
Kerishna can be useful when you are:
The Kerishna admin interface includes:
The JavaScript source code is included in the plugin package:
No obfuscated code is included. The source files are readable and maintained with the plugin.