WooCommerce to Shopify Migration: SEO-Safe Checklist
A complete WooCommerce-to-Shopify migration runbook covering data discovery, product mapping, URL redirects, SEO preservation, integrations, testing, launch, and monitoring.
Moving from WooCommerce to Shopify is not just a product import or website redesign. It changes the commerce platform, URL patterns, theme, checkout, customer-account behavior, integrations, structured data, analytics, and often the content-management workflow at the same time.
That combination creates risk. A store can look finished while old product links return 404 errors, variants are mapped incorrectly, customer accounts no longer work, analytics fires twice, or important search landing pages lose their relevance.
A safer migration treats the work as a controlled data and URL transition. The existing WooCommerce store remains the source of truth until the Shopify store has passed functional, data, SEO, and operational acceptance tests.
This guide provides a practical migration runbook for store owners, developers, SEO teams, marketers, and operations staff. It focuses on preserving business continuity and organic-search signals, not on promising that rankings will remain perfectly stable. Search visibility can fluctuate during any platform migration.
Key Takeaways
- Inventory the current store before choosing a migration method or Shopify theme.
- Back up files and databases, and keep a rollback path until the new store is stable.
- Map products, variants, customers, orders, content, discounts, gift cards, and custom plugin data separately.
- Do not expect customer passwords to migrate through CSV.
- Create an exact old-to-new URL map before launch.
- Redirect each valuable old URL to its closest relevant new destination.
- Rebuild metadata, canonicals, structured data, internal links, analytics, and feeds.
- Test real customer journeys, not only page appearance.
- Freeze conflicting changes before final export and run a delta migration when needed.
- Monitor redirects, crawl errors, indexing, traffic, transactions, and support issues after launch.
Decide Whether the Migration Is Necessary
A platform migration has real cost and risk. Clarify the business reason before implementation.
Possible reasons include:
- Reducing WordPress and plugin maintenance
- Simplifying hosting and security responsibilities
- Standardizing checkout and store administration
- Improving operational reliability
- Supporting new markets or sales channels
- Replacing a heavily customized stack that is difficult to maintain
- Consolidating fragmented apps and workflows
- Giving an internal team a more consistent editing experience
These are strategic goals, not automatic outcomes. Shopify may reduce some infrastructure responsibilities, but apps, theme code, product architecture, integrations, and operational processes still require governance.
Document the intended improvement in measurable terms. Examples include fewer maintenance hours, lower incident frequency, faster merchandising, improved checkout completion, or easier international operations. Without a baseline, the project can become an expensive visual redesign with no proven business benefit.
Define the Migration Scope
Create a signed-off scope before moving data. Include every record type and workflow that the current store depends on.
Commerce data
- Simple, variable, grouped, external, subscription, booking, bundle, and downloadable products
- SKUs, prices, tax classes, inventory, dimensions, and internal identifiers
- Variants, options, default selections, and product relationships
- Categories, tags, attributes, brands, images, video, documents, and alt text
- Customers, addresses, historical orders, refunds, notes, and fulfillment status
- Discounts, coupons, gift cards, store credit, loyalty balances, and subscriptions
- Reviews, questions, wish lists, and back-in-stock subscriptions
Content and SEO data
- Product, category, page, article, media, and campaign URLs
- Title tags, meta descriptions, canonical and robots directives
- Structured data, internal links, XML sitemaps, and active redirects
- International language and regional URLs
- High-value backlinks and landing-page performance
Operational systems
- Payments, shipping, tax, fulfillment, ERP, warehouse, and accounting
- CRM, email, support, review, loyalty, and subscription platforms
- Consent, analytics, advertising pixels, and server-side tracking
- Product feeds, marketplaces, fraud rules, staff permissions, and webhooks
Mark every item as migrate, rebuild, replace, archive, or retire. Assign an owner and acceptance test. “We thought the plugin handled it” is not a migration plan.
Phase 1: Audit and Back Up WooCommerce
Create recoverable backups
Take a complete database backup and a file backup that includes WordPress, themes, plugins, uploads, configuration, and relevant server or CDN rules. Verify that the backups can be restored; a file existing somewhere is not proof of recoverability.
Record the store timezone, software versions, active plugins, theme, hosting configuration, DNS, CDN, scheduled jobs, and integration ownership. Preserve exports separately from the live server.
Do not deactivate the WooCommerce store until Shopify has been validated and the agreed rollback period has passed.
Crawl and inventory the current site
Use a crawler, XML sitemaps, analytics, Google Search Console, database exports, backlink data, and server logs where available. No single source contains every URL.
For each URL, record:
- Status code, canonical, page type, and indexability
- Title, description, H1, and content
- Organic clicks, impressions, sessions, revenue, and backlinks
- Proposed Shopify destination
- Migration decision, owner, and test status
Include URLs absent from the current sitemap. Old campaigns, attachment pages, discontinued products, parameter patterns, translated paths, and existing redirects may still receive visits or links.
Export products carefully
WooCommerce includes a product CSV importer/exporter. Its current product export documentation explains the core schema and how custom metadata can be included. Third-party product types and extension fields require separate assessment.
Do not assume a WooCommerce CSV can be uploaded directly to Shopify without transformation. Build a field map.
| WooCommerce concept | Shopify destination | Migration question |
|---|---|---|
| Product ID | External reference or migration record | How will old and new records reconcile? |
| SKU | Product or variant SKU | Are SKUs unique and preserved? |
| Category | Collection | Is it manual or automated? |
| Attribute | Option, metafield, taxonomy, or tag | Does it create a purchasable variant? |
| Variation | Variant | Are price, inventory, and media correct? |
| Custom field | Metafield or app data | Is its type supported and needed? |
| Gallery | Product media | Are order and alt text preserved? |
| Cross-sell | Recommendation system or app | How are relationships rebuilt? |
Normalize data in a controlled working copy. Resolve duplicate SKUs, inconsistent option names, invalid prices, missing images, HTML artifacts, obsolete categories, and unused metadata without corrupting the source store.
Identify non-standard products
Subscriptions, memberships, bookings, bundles, composite products, personalized items, deposits, rentals, and digital licenses need individual plans.
For each type, document its current experience, stored data, billing behavior, fulfillment logic, customer entitlement, Shopify replacement, historical-data requirement, and rollback test.
Do not attempt to move saved payment methods or subscription billing credentials through an ordinary CSV. Coordinate sensitive migrations with the relevant payment and subscription providers.
Phase 2: Choose the Migration Method
Shopify's migration overview describes manual copying, CSV import, migration apps, Shopify Partners, and custom API solutions.
Manual or CSV migration
This may suit a small, standard catalog with limited history. It becomes fragile when the store has many variants, localized records, images, customers, orders, or plugin relationships.
Migration application
Test any app with representative records. Confirm supported fields, variant behavior, customer and order support, content handling, metafields, delta migration, error reporting, permissions, privacy, and support availability.
Custom API migration
This suits complex data relationships but needs idempotent imports, logging, retries, rate-limit handling, reconciliation, security controls, and tests.
Whichever method is selected, run a pilot containing a simple product, multi-option product, discounted item, out-of-stock item, large gallery, customer, historical order, refund, blog post, and an edge case from each critical extension.
Phase 3: Design the Shopify Architecture
Build collections intentionally
WooCommerce categories and tags do not need a one-to-one conversion. Preserve a grouping when it has demand, backlinks, revenue, or a genuine browsing purpose.
For each collection define its audience, membership rule, preferred handle, H1, introductory content, filters, metadata, internal links, and old URLs.
Avoid generating many thin collections from every legacy tag.
Model options, variants, and metafields
Classify each attribute as a purchasable option, filterable property, descriptive field, internal record, reusable content object, or obsolete data.
Check Shopify's current product and variant limits against the real catalog during implementation. Platform limits can change, so avoid relying on old numbers.
Select a theme from requirements
Assess product templates, variant selection, collection filters, search, navigation, localization, accessibility, performance, media, recommendations, content blocks, structured data, app compatibility, analytics, and editor usability.
A large collection of theme modifications and overlapping apps can recreate the complexity the migration was intended to reduce.
Phase 4: Import and Reconcile Data
Import in controlled batches
Use a test or non-public store. Begin with a sample, fix mappings, then increase batch size.
After every batch reconcile source and destination counts for products, variants, SKUs, images, prices, inventory, collections, metafields, vendors, product types, and tags. Counts alone are insufficient; inspect representative records field by field.
Validate images and media
Confirm image order, variant-specific assignments, resolution, cropping, alt text, videos, documents, and accessibility. Ensure live Shopify assets do not remain dependent on a temporary WooCommerce URL.
Migrate customers with clear communication
Shopify states in its customer import documentation that passwords encrypted outside Shopify cannot be migrated by CSV. Imported customers need to create new passwords.
Plan consent mapping, address normalization, duplicate emails, account activation, customer communication, support responses, and secure deletion or retention of exports. Never mark customers as subscribed without evidence.
Decide how order history will be retained
A customer CSV does not import order history. Define whether the business needs full history, a limited period, summaries, or read-only access to archived WooCommerce data.
Test imported orders carefully so they do not trigger customer emails, inventory changes, fulfillment, or incorrect reports. Preserve original order references where operationally necessary.
Phase 5: Protect URLs and Organic Search
Build an exact redirect map
Shopify uses fixed paths, so WooCommerce URLs generally change.
| Old WooCommerce pattern | Possible Shopify destination |
|---|---|
| /product/linen-shirt/ | /products/linen-shirt |
| /product-category/shirts/ | /collections/shirts |
| /category/style-guides/ | /blogs/style-guides |
| /size-guide/ | /pages/size-guide |
These are examples, not automatic rules. Map each valuable URL to its closest equivalent.
Prioritize traffic, revenue, backlinks, popular products, evergreen articles, navigation targets, and campaign links. Do not redirect every retired URL to the homepage. If no relevant replacement exists, a genuine 404 or 410 may be more honest.
Use direct permanent redirects
Google's site-move guidance recommends preparing a URL map and redirecting old URLs to new equivalents.
Shopify supports creating and importing redirects, subject to limitations documented in its URL redirect guide.
Rules:
- Map one old URL to one relevant destination.
- Avoid chains and loops.
- Test trailing slashes, capitalization, encoded characters, and international paths.
- Include redirects already active on WordPress, the server, or CDN.
- Keep redirects available for users, links, bookmarks, and search engines.
Shopify notes that redirects work from broken URLs and that some paths are reserved. Test the deployed store instead of trusting the CSV alone.
Preserve content relevance
A redirect cannot replace missing value. If an old collection ranked because it explained materials, sizing, use cases, or buying decisions, preserve or improve that content on the new page.
For priority pages migrate the main heading, useful copy, product selection, internal links, images, alt text, title, description, and relevant trust information.
Avoid changing platform, URLs, copy, architecture, branding, and assortment simultaneously without a strong requirement. Fewer uncontrolled variables make problems easier to diagnose.
Rebuild metadata and canonicals
Export current SEO fields, then create unique Shopify metadata.
Check that canonicals resolve to preferred live URLs; staging or myshopify domains do not become canonical; filtered, tagged, paginated, and search pages behave intentionally; and international pages point to the right version.
Validate structured data
Themes and apps may each output schema. Inspect rendered pages for duplicate or contradictory Product, Offer, Organization, Breadcrumb, and Article entities.
Test a one-variant product, multi-variant product, sale item, out-of-stock item, collection, article, and homepage. Verify name, image, SKU, brand, price, currency, availability, and canonical URL.
Rebuild internal links
Imported content can retain absolute WooCommerce links. Crawl the Shopify preview and update navigation, descriptions, collection copy, articles, recommendations, breadcrumbs, documents, policies, and app content to link directly to final URLs.
Phase 6: Rebuild Commerce Integrations
Payments, tax, shipping, and checkout
Requirements vary by market and business model. Involve qualified tax or legal advisers where needed.
Test successful and declined payments, alternative methods, tax rules, shipping zones, free-shipping thresholds, discounts, gift cards, refunds, cancellations, fulfillment, notifications, fraud workflows, and inventory release.
Shopify's current migration checklist specifically recommends test orders, refunds, cancellations, and fulfillment checks.
Analytics and advertising
Create an event plan for product views, searches, add-to-cart, checkout, purchases, refunds, consent, and attribution.
Compare event identifiers, values, currency, tax, shipping, discounts, and order IDs. Prevent theme scripts, tag managers, native integrations, and apps from counting the same purchase twice.
Annotate the migration date in reporting. WooCommerce and Shopify data may not be perfectly comparable because checkout and tracking behavior differ.
Product feeds and channels
Reconfigure Google Merchant Center, Meta, Pinterest, affiliates, email, marketplaces, and reviews. Validate product IDs, URLs, images, prices, inventory, variants, shipping, tax, language, and policy compliance.
For discovery-channel planning, see our Pinterest marketing guide.
Phase 7: Pre-Launch Quality Assurance
Create a test register with owner, device, expected result, evidence, severity, and status.
Data QA
- [ ] Products and variants reconcile
- [ ] SKUs, prices, inventory, weights, and currencies are correct
- [ ] Collections and metafields display properly
- [ ] Customers are deduplicated
- [ ] Historical orders behave safely
- [ ] Reviews, loyalty, gift cards, and subscriptions are verified
Frontend and accessibility QA
- [ ] Navigation, search, filters, and sorting work
- [ ] Variants update price, media, and availability
- [ ] Forms reach the correct system
- [ ] Account activation and login work
- [ ] Policies and contact information are visible
- [ ] Mobile, tablet, and desktop layouts pass
- [ ] Keyboard navigation, labels, focus, and contrast are reviewed
- [ ] 404 and empty states are useful
Checkout QA
- [ ] Successful and failed payments tested
- [ ] Guest and account checkout tested
- [ ] Discounts, gift cards, shipping, and tax tested
- [ ] Order email, refund, cancellation, and fulfillment tested
- [ ] Inventory changes correctly
- [ ] Analytics records one purchase
SEO QA
- [ ] Final URL inventory and redirect file complete
- [ ] Redirect samples tested without chains or loops
- [ ] Priority metadata migrated
- [ ] Canonicals and robots directives correct
- [ ] Structured data validated
- [ ] Internal links use final URLs
- [ ] XML sitemaps accessible
- [ ] Staging controls will not affect production
- [ ] Analytics and Search Console prepared
- [ ] Major backlink destinations verified
Run a complete preview crawl and compare it with the old inventory before changing DNS.
Phase 8: Cutover and Rollback
Set a change freeze
Choose a low-risk launch window based on traffic, staffing, campaigns, and fulfillment. Define what may change on WooCommerce during the freeze.
If orders continue, plan a delta transfer for customers, orders, inventory, products, prices, coupons, and other time-sensitive records.
Protect DNS and email
Confirm domain ownership, DNS access, existing records, SSL behavior, and rollback steps. Do not remove unrelated MX, SPF, DKIM, DMARC, verification, or subdomain records while changing the website destination.
Record previous DNS values and responsible contacts.
Establish go/no-go criteria
Stop launch for payment failure, incorrect prices or tax, severe inventory errors, broken fulfillment, missing priority products, data exposure, major redirect failure, SSL failure, or other critical defects.
A rollback plan needs an owner, decision deadline, exact steps, data reconciliation process, and customer communication approach.
Phase 9: Monitor After Launch
First hours
- Test the domain and SSL
- Place a live low-value order when authorized
- Verify payment, email, inventory, fulfillment, and analytics
- Test priority old URLs
- Check robots, canonicals, 404s, and redirect behavior
- Monitor support and application alerts
First week
- Review Search Console indexing and crawl signals
- Inspect platform and application errors
- Compare organic landing pages
- Monitor conversion and checkout failures
- Fix old internal links
- Review product-feed diagnostics
- Track customer-account issues
- Reconcile orders, refunds, and inventory
First 30 to 90 days
- Monitor migrated landing pages and queries
- Investigate unexpected 404s
- Review redirects for chains
- Compare revenue by landing page and channel
- Improve content weakened during the rebuild
- Revalidate schema after app and theme changes
- Retain the old environment according to the agreed compliance plan
- Document lessons and remaining technical debt
Do not promise a fixed ranking recovery period. Google must crawl old and new URLs, and timing varies by site size, crawl frequency, redirect quality, content changes, and other signals.
Common Migration Mistakes
Treating CSV import as the whole migration
CSV can move standard fields. It does not automatically recreate plugin logic, passwords, redirects, subscriptions, tracking, emails, integrations, or SEO value.
Launching without a full URL inventory
Sitemaps omit historical and redirected URLs. Combine crawl, analytics, Search Console, backlink, redirect, and database sources.
Redirecting everything to the homepage
Irrelevant redirects create a poor experience and can behave like soft 404s. Use the closest equivalent page.
Importing poor catalog data unchanged
Normalize SKUs, options, categories, images, and metadata in a controlled mapping layer.
Ignoring customer-account changes
Prepare activation messaging and support because customer passwords cannot move through CSV.
Installing overlapping apps
Multiple apps can duplicate schema, tracking, scripts, and business logic. Assign one owner to each capability.
Turning off WooCommerce too early
Keep a recoverable source and rollback route until reconciliation and retention requirements are complete.
Required Migration Deliverables
1. Scope and requirements
2. Source-system audit
3. Backup and restoration evidence
4. Data dictionary and field map
5. Product-type compatibility assessment
6. Integration map
7. Old-to-new URL matrix
8. Metadata and content migration sheet
9. Test plan and defect register
10. Analytics specification
11. Launch and rollback runbook
12. Reconciliation report
13. Post-launch dashboard
14. Staff handover documentation
For implementation assistance, review our e-commerce development services and technical SEO audit service.
Frequently Asked Questions
Can Shopify import products directly from WooCommerce?
Shopify offers CSV, migration apps, partner support, and custom APIs. The correct method depends on product types, variants, custom fields, history, integrations, and scale. Always run a representative test.
Can WooCommerce customer passwords be migrated?
Not through Shopify's customer CSV. Shopify says externally encrypted passwords cannot be migrated that way. Imported customers need an activation or new-password process.
Will the migration hurt SEO?
Visibility can fluctuate. Exact mappings, permanent redirects, retained relevance, correct canonicals, internal links, schema, and monitoring reduce avoidable risk but cannot guarantee unchanged rankings.
Should old URLs redirect to the homepage?
Only when the homepage is genuinely the closest replacement. Products should normally map to equivalent products, categories to collections, and articles to migrated articles.
Can historical orders be imported?
Some apps, partners, and custom solutions can migrate orders, but a customer CSV does not. Define the required history and test notifications, reporting, inventory, refunds, and customer visibility.
What happens to subscriptions and saved payment methods?
They require a specialized plan involving existing extensions, payment providers, the new subscription solution, customer communication, and compliance. Ordinary exports do not provide reusable payment credentials.
Should the domain change too?
Keeping the current domain reduces simultaneous changes. If it must change, follow Google's site-move guidance, verify both properties, map every URL, and plan additional monitoring.
When can WooCommerce be cancelled?
Only after Shopify is stable, reconciliation is complete, rollback is no longer required, records are retained safely, and all dependencies have been identified.
Final Recommendation
A successful WooCommerce-to-Shopify migration is measured by continuity: customers find products, accounts and orders behave as planned, staff operate the store, tracking remains trustworthy, and valuable old URLs lead to equivalent new content.
Begin with evidence from the current store. Build data and URL maps before launch, test representative edge cases, define go/no-go rules, and monitor long after DNS changes.
The safest migration is not the fastest import. It is the one in which every critical record, URL, integration, and customer journey has an owner and a verified outcome.
Related posts
Business Website Development Guide for Small Companies
A practical guide for small companies planning a business website that needs to look credible, load quickly, explain services clearly and convert visitors into real inquiries.
Read article →
Canonical Tags: A Practical Guide for Business and E-Commerce Sites
A practical canonical tags guide for business and e-commerce websites covering duplicate URLs, rel canonical, redirects, sitemaps, hreflang, product variants and audit workflows.
Read article →
Cross-Listing Inventory Management Without Overselling
A practical cross-listing inventory architecture covering canonical SKUs, stock states, reservations, marketplace mappings, order events, synchronization, reconciliation and recovery.
Read article →
Author
Anushka Dahanayake
Anushka Dahanayake is the founder of ANUSHKA DAHANAYAKE (PVT) LTD, building SEO-driven content, digital services, and revenue platforms for businesses in Sri Lanka and worldwide.