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.
You bring your products across with a CSV import: export your Shopify products to CSV and upload them into BestWebby. This is the end-to-end migration path today, and it brings each product over with its options and variants. (A one-click, direct API import from Shopify is in active development, but is not live yet.)
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.
What doesn't migrate automatically:
- Customers and order history (set these up separately, or import customers from Customers → Import)
- 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 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:
- 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.
- 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.
- 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:
- Point your domain at BestWebby with the A record (or a CNAME on a subdomain) shown on the Domains page
- Click Verify & issue SSL — a certificate is issued automatically, typically within a few minutes of DNS propagation
- 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: Re-run the import for the affected products, 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.