How to Assess a WooCommerce Store Before Migration
Summary
WooCommerce stores carry hidden complexity that doesn't show up in a feature list. A proper assessment uncovers plugin dependencies, custom code, hosting constraints, and data model assumptions that determine whether a migration is straightforward or a minefield.
WooCommerce Is a Platform Assembled from Parts
WooCommerce isn't a monolithic platform. It's WordPress plus a commerce plugin plus dozens of extensions plus whatever customizations the last three developers added. That flexibility is its strength and its risk.
Unlike Shopify or BigCommerce, there's no single source of truth for how the store works. Configuration lives in the database, in plugin settings, in theme files, and in custom code scattered across child themes and mu-plugins. Some stores are clean. Most are not.
The assessment challenge is reconstructing what the store actually does, not what someone remembers it doing.
Plugin Inventory Reveals Accumulated Debt
Start with the plugin list, but don't stop at names and versions.
Identify:
- Active plugins that touch orders, products, or checkout
- Plugins that haven't been updated in 12+ months
- Plugins from developers who have abandoned the project
- Premium plugins with expired licenses (no updates, no support)
- Plugins that duplicate functionality
Plugin debt accumulates silently. A store might have three different plugins all modifying shipping calculations because someone added a new one instead of configuring the existing one.
Document which plugins provide critical functionality and which are vestigial.
Custom Code Hides in Predictable Places
WooCommerce stores accumulate custom code in:
functions.phpin the child theme- Custom plugins in
wp-content/plugins - Must-use plugins in
mu-plugins - Direct modifications to plugin files (dangerous but common)
For each piece of custom code, determine:
- What does it do?
- Does it modify core commerce behavior (pricing, tax, inventory)?
- Does it integrate with external systems?
- Who wrote it, and is that knowledge documented anywhere?
Custom code that touches the checkout flow or order processing is high-risk. If it's undocumented and the original developer is gone, assume it will cause problems.
Product Data Structure Determines Migration Difficulty
WooCommerce's product model is flexible but easy to abuse. Audit the actual data:
- Product types in use (simple, variable, grouped, external, custom)
- How attributes are structured, global vs. local, consistent vs. chaotic
- Custom post types or taxonomies added for products
- Meta fields on products, orders, and customers
- How variations are structured on variable products
A store with 50 products might have a clean data model. A store with 5,000 products built over six years almost certainly doesn't. Inconsistencies in product data will surface during migration as broken imports and missing information.
Orders Are the Hardest Data to Migrate Cleanly
Assess:
- Order volume and history depth (how far back matters?)
- Custom order statuses
- Order meta fields from plugins (subscriptions, deposits, custom fields)
- How refunds and partial fulfillments are recorded
- Guest checkout vs. account orders
For customers:
- What data lives in user meta vs. custom tables?
- Are there membership or subscription relationships?
- How are customer groups or segments defined?
Hosting Configuration May Not Transfer
WooCommerce performance depends heavily on hosting. Document:
- Current hosting provider and plan
- PHP version and configuration
- Database size and structure
- Caching setup (page cache, object cache, CDN)
- SSL configuration
- Any external services (payment gateways, ERPs, shipping APIs)
Stores on cheap shared hosting often have performance problems that mask deeper issues. Stores on managed WordPress hosts may have configurations that don't transfer.
Integration Mapping Prevents Migration Surprises
Map every external connection:
- Payment gateways (and their configurations)
- Shipping carrier integrations
- ERP or inventory management connections
- Email marketing platforms
- Accounting software
- CRM or customer service tools
For each integration, determine: Is it handled by a plugin, custom code, or a third-party middleware like Zapier? What data flows in which direction? What breaks if this connection stops working?
Patterns That Indicate Risk
Multiple developers over time with no documentation. Every developer added their own approach. The codebase is a patchwork.
Heavy reliance on a single premium plugin. If WooCommerce Subscriptions or WooCommerce Bookings is central to the business model, the migration complexity multiplies. These plugins store data in custom tables with their own schemas.
Direct database queries in custom code. Custom code that reads or writes to the database directly instead of using WooCommerce APIs will break on any platform change and may already be causing subtle data corruption.
Abandoned premium plugins still in production. Stores running plugins that haven't been updated in two years are carrying security risk and technical debt.
No staging environment. If the client has been making changes directly on production, the current state is the only record of what exists.
Patterns That Indicate Opportunity
Clean product data with consistent attributes. Migration will be smoother and faster.
Standard plugins with well-documented configurations. Less custom work to replicate functionality.
Recent WordPress and WooCommerce versions. The store has been maintained.
Clear separation between content and commerce. Blog posts, pages, and products are organized logically.
Assessment Deliverables That Drive Decisions
A thorough WooCommerce assessment should produce:
- Plugin audit, categorized by function, risk level, and migration path
- Custom code inventory, documented with purpose and dependencies
- Data model map, product types, attributes, custom fields, taxonomies
- Integration inventory, every external system with data flow documentation
- Technical debt summary, what needs fixing regardless of migration
- Migration complexity rating, realistic effort estimate by component
- Risk register, known unknowns and where surprises are likely
This requires someone who has worked inside WooCommerce stores and understands how they break.
How DigitalStack Connects Findings to Decisions
DigitalStack structures WooCommerce assessments so findings feed directly into project planning.
Plugin inventories link to architecture requirements. Custom code documentation ties to build estimates. Integration maps feed into the systems module where you model the future state.
Instead of a static audit document, you maintain a living assessment that updates as you learn more. When stakeholders ask why migration will take longer than expected, you can trace the answer back to specific plugins, data structures, or integrations documented in the platform.
Next Step
Structured discovery determines whether a WooCommerce migration lands on time or spirals. See how DigitalStack helps agencies run platform selection engagements that surface complexity early.
[Explore Platform Selection →]