Skip to main content

Migration

Migrating from Shopify to BestWebby

A practical guide to moving your Shopify store to BestWebby — products, then your domain — with no downtime.

Before you start

Migration runs in parallel with your live Shopify store. Your Shopify store stays active the whole time — you switch DNS to BestWebby only when you're ready, so there's no forced cutover and no downtime window.

Importing products is part of every plan.

You bring your products across with a CSV import: export your Shopify products to CSV and upload them into BestWebby. It brings each product over with its options and variants. You can also connect your Shopify store under Catalog → Products → Import → Import from CSV → Marketplace sync and pull products in by API, but that sync brings each product with its main price only, not its options or variants, so the CSV export is the way to move a full catalog. To connect, create an app for your store in the Shopify Dev Dashboard (in the same Shopify organization as the store) with the read_products scope, install it, and enter its Client ID and Client secret with your myshopify.com address; a custom app made in your Shopify admin before 2026 can use its Admin API token instead.

What migrates:

  • Your products with their options (such as size and colour) and variants. The rows of a Shopify export that share a handle become one product.
  • Each variant's price, compare-at price, SKU, barcode, weight, stock level and variant image, plus the product's images in their original order.
  • Your images are copied into your BestWebby store a few minutes after the import and prepared the same way as a photo you upload, so your products no longer depend on your old store's server. Importing the same file again reuses those copies.

What doesn't migrate automatically:

  • Customers and order history, which come over as their own CSV imports: customers with Import on the Customers page (see Customers), up to 5,000 a file, and past orders with Import history on the Orders list. Imported orders are history only: they move no stock, charge nobody and email nobody.
  • Discount codes and gift cards (recreate them in BestWebby)
  • Shopify-specific apps or integrations (Klaviyo flows, custom apps)
  • Shipping rates and tax settings (configured fresh in BestWebby)

Step 1: Export your Shopify products

In your Shopify admin, go to Products and use Export to download your products as a CSV.

Step 2: Run the import in BestWebby

In the BestWebby dashboard, go to Catalog → Products → Import → Import from CSV. Upload your file — BestWebby recognises a Shopify export, auto-detects the columns and lets you re-map them before importing. The preview shows how many products and variants your rows will become. New products are created as drafts so you can review before publishing, and a product keeps its Shopify handle as its web address when no other product in your store already uses that address.

Step 3: Review and configure

After import:

  1. Review products: Check that images, variants, and pricing look correct. Pay special attention to products with multiple variants (size/color) — open the product's Variants section and confirm each option, price and stock level came across as expected.
  2. Refresh your content: In the product editor, Draft description for me writes a fresh draft you can edit before saving, if you want to improve on your existing copy.
  3. Set storefront prices: If you run more than one storefront, give each product its price on each one, or keep it off one (see Storefront prices).

Step 4: Configure your storefront

Set up your storefront design before switching DNS, so the storefront is ready to go live when you make the switch. Go to Channels → Sites, add or edit your site to set its brand colour and logo, open Pages to build its pages, and use Channels → Appearance for fonts, corners and theme presets. Review your store policies in Settings → Legal too (see Going live).

Connect your domain to BestWebby (Settings → Domains → Connect domain) and verify ownership by adding the TXT verification record we display. Do not update your A record yet — just verify ownership.

Step 5: Test before switching

Before switching DNS, test the full purchase flow on your storefront:

  • Product pages load correctly
  • Add to cart works
  • Checkout completes with a test payment
  • Order confirmation email arrives

Run through at least a few representative product types to confirm edge cases (products with many variants, digital products, subscription products).

Step 6: Switch DNS (go-live)

When you're ready to go live:

  1. Point your domain at BestWebby with the A record (or a CNAME on a subdomain) shown on the Domains page
  2. Click Verify & issue SSL — a certificate is issued automatically, typically within a few minutes of DNS propagation
  3. BestWebby begins serving traffic from your domain

Most DNS providers propagate changes within 15-60 minutes. During that window, some visitors may still see Shopify and others may see BestWebby — this is normal, and your store remains active throughout.

Step 7: Post-migration checklist

  • Cancel your Shopify subscription (do this after the DNS switch, once you've confirmed everything is stable)
  • Set up shipping rates and tax settings in BestWebby
  • Recreate any discount codes and gift cards you rely on
  • Update external links to your store (Google Merchant Center, email footers, social bios)
  • Set up redirects for any URLs that changed structure (Channels → Sites → Redirects)
  • Invite your team members (Settings → Team)

Troubleshooting

Some product images didn't come across: An image that could not be copied (its server did not answer, or it is not a JPEG, PNG or WebP file) keeps its original link. Re-run the import for the affected products to try again, or re-upload the images by hand from the product in Catalog → Products.

Variants are missing or came in as separate products: Variants are grouped by the Handle column of a Shopify export, so keep that column and the Option1/2/3 columns in the file. A file without them — from another platform or your own spreadsheet — is read as one product per row; add options in the product's Variants section afterwards.

Running the import again: Re-importing the same export updates the products it already created (matched by handle, then SKU) instead of duplicating them. Existing variants are updated in place and new ones are added; a variant is never deleted by an import, so remove one you no longer sell from the product's Variants section. A storefront price you set by hand is kept.

Some products were skipped: The summary after the import lists each one with the reason — for example a price of zero, a variant SKU another product already uses, or your plan's product limit.

Customers or orders are missing: These are not part of the product import. Bring customers over with Import on Customers, and keep order history in Shopify for reference, or re-key what you need.

Need help? Contact support and include the products affected.