How do you migrate an online store safely?
Online store migration works when you inventory everything first, export products, customers and orders, map every old URL to its new address with a 301 redirect, rebuild payment and shipping, and test a full order before switching the domain. Keep the old store live until the new one passes. Allow one to three weeks for a mid-size catalogue.
Is moving actually the right call?
A migration solves a platform problem: high fees, feature limits, a missing payment method, a weak Arabic theme or no link to your stock system. It does not fix a thin product page or slow photos, which travel with you. Write down what the new platform must do that the old one cannot. If you are still choosing, read Salla, Zid or Shopify first.
Inventory the old store before you export anything
Open the old store and list what is in it. The forgotten item is the source of most launch-day surprises.
| Area | What to list | Moves automatically? |
|---|---|---|
| Products | SKUs, titles, descriptions, variants, images, categories, tags | Usually via CSV or an import tool |
| Customers | Names, emails, addresses | Yes, but passwords cannot move |
| Orders | History, statuses | Often as an archive only |
| Discount codes | Active codes and rules | Rebuild by hand |
| Pages | About, shipping, returns, privacy, blog | Copy or import |
| Reviews | Product reviews and ratings | Needs an app or import |
| Redirects | Existing redirects | Rebuild |
| Settings | Taxes, shipping zones, payment methods | Rebuild by hand |
Customers must reset their passwords on the new store because platforms do not share password data. Email them before launch.
Clean the product data before it is exported
A migration carries your mistakes along. Fix these first:
- Duplicate products and old test items.
- Missing or repeated SKUs. Every variant needs its own unique one.
- Images named IMG_2043, and images under 1000 pixels wide.
- Supplier descriptions copied word for word, which duplicate other shops.
- Overlapping categories.
If the store will also connect to stock, read our guide to product data before store integration.
Map every old URL to a new one
This step protects your Google visibility. Export the old addresses, mainly products, categories and pages, from the old platform or from Google Search Console. Match each to its new equivalent in a sheet:
| Old URL | New URL | Type |
|---|---|---|
| /product/leather-bag-brown | /products/leather-bag-brown | 301 |
| /category/bags | /collections/bags | 301 |
| /about-us | /pages/about | 301 |
Load the pairs as 301 redirects on the new store. A 301 tells Google the page moved permanently and passes most of its standing to the new address. Without it, every old link in search results and on other sites lands on an error page.
Carry the search details across
- Titles and meta descriptions. Export them with the products and import them again.
- Page structure. Keep a single H1 and clear headings on key pages.
- Image alt text. It often drops out during import.
- Sitemap. Submit the new one in Google Search Console and Bing Webmaster Tools.
- Analytics. Add the Google Analytics 4 tag and ad pixels before launch, not after.
- Same domain. Keep it if you can. A new domain adds a second variable to the move.
Rebuild payment and shipping, then test them
Connect the payment gateway and couriers on the new platform. Some gateways need documents and several days to approve, so apply early. Then place real test orders:
- A card payment.
- A cash on delivery order, if you offer it.
- An order with a discount code.
- An order to a distant region to test the shipping fee.
- A refund or cancellation.
Check that the confirmation email arrives, the order appears in the dashboard and stock drops. Our payment and shipping integration service covers this stage.
Launch day, hour by hour
| When | Action |
|---|---|
| A week before | Freeze product edits on the old store, email customers about the move |
| The day before | Final export of new orders and customers, import the difference |
| Launch | Point the domain at the new store, switch on SSL, enable redirects |
| Same day | Place a live order, check the sitemap, confirm tracking fires |
| Week one | Watch Search Console for 404 errors and add missing redirects |
| Week two | Compare traffic and orders with the previous period |
Pick a quiet day, not the day before a campaign. Keep the old store reachable and do not cancel its subscription until the new one has run for a few weeks.
Cases that need extra care
Variants. Colours and sizes are what imports break most often. Check that each variant keeps its own SKU, stock count and photo. Open ten products at random on the new store and click through every option.
Arabic and right-to-left layout. Import product text as UTF-8 and read a sample. Look for question marks where letters should be, broken line order and punctuation on the wrong side. Check the checkout page as well as the product page.
Two languages. If the old store ran in Arabic and English, confirm the new platform handles both without duplicating products, and that each language keeps its own address.
Subscriptions, bundles and pre-orders. These rarely move by import. List them early and decide whether the new platform has an equivalent app.
Gift cards and store credit. Customers hold balances. Export them and decide how to honour them on the new store.
Who does what
| Task | Owner | When |
|---|---|---|
| Inventory sheet | Store owner with us | Week 1 |
| Product clean-up | Store owner | Week 1 |
| URL map and redirects | PROIDEA Egypt | Weeks 1 to 2 |
| Import and theme set-up | PROIDEA Egypt | Week 2 |
| Gateway account and documents | Store owner | Week 1 |
| Test orders | Both | Weeks 2 to 3 |
| Customer email about passwords | Store owner | A week before launch |
| Domain switch | PROIDEA Egypt, with your approval | Launch day |
What a poor migration looks like
- Traffic drops sharply in week one because redirects are missing.
- Customers cannot log in, and nobody told them to reset their passwords.
- Variants merge into one product and the colour photos vanish.
- A payment method that used to exist is gone and orders fall.
- Tracking went in late, so a week of sales has no source data.
Each of these is preventable with the steps above.
How we run a migration
We start with the inventory sheet and the URL map, import into a staging store you can see, test the full order flow and only then switch the domain. You approve the staging store before launch, and we watch for errors in the first weeks. See our website and store migration service and how we work.
