Move from XStore to a Next.js storefront
XStore has passed 55,000 sales and bundles a stack of licensed plugins. Leaving the theme means deciding what happens to each of them.

XStore sells well for a reason that also makes it hard to leave. For one licence you get the theme, over 140 demo imports, the XStudio layout library, and a set of premium plugins whose licences are tied to the theme purchase rather than bought separately. That bundle is genuinely good value while you stay. It becomes the central question the moment you plan to leave, because a migration that only replaces the frontend can silently strand three or four plugins the store depends on operationally.
The bundled licences are the part people forget to price
8theme ships XStore with premium plugins included in the purchase — slider, filter and popup tools among them, with the exact bundle varying by version. Their licences are activated through the theme, so removing the theme does not immediately break them, but it does end their update path. That matters most for anything touching the database or the admin: a filter plugin that stops receiving updates on a store still running WooCommerce upgrades becomes a security question within about eighteen months. Before development starts, list every bundled plugin, decide whether the new storefront replaces its function or the store buys a standalone licence, and put a date on the ones you are keeping.
- List bundled plugins and check which licence is theme-tied
- Decide per plugin: replaced by the storefront, bought standalone, or retired
- Flag anything writing to the database — those cannot simply be abandoned
- Budget standalone licences into the running cost, not the project cost
Demo imports scattered the design across three stores
XStore ships 140-plus demos and over 120 pre-built shop layouts, and almost every store started as one of them. The import writes into three places at once: theme options, Elementor page data, and the XStore-specific layout settings. Nothing in a page export tells you which of the three is producing a given part of the screen, so the audit has to work backwards from the rendered page. This is the step that separates a two-week estimate from a six-week one, and skipping it is how a rebuild ends up missing the product-page tabs or the mobile bottom bar that nobody mentioned because nobody knew where it was configured.
Elementor underneath means two extraction problems, not one
XStore is built to run with Elementor, which means page content sits in the _elementor_data JSON tree while product and archive presentation is driven by XStore's own options and XStudio layouts. Two different formats, two different extraction paths, and the boundary between them is not where people expect. A homepage is usually pure Elementor and extracts cleanly. A product page is usually XStore options with Elementor only in the description tab, and that half needs transcribing by hand from the settings screens. Quote them separately or the estimate will be wrong in a predictable direction.
What XStudio layouts translate into
XStudio's library — 900-plus layouts — is a design catalogue rather than a content store, which is good news: patterns rebuild as components with no parsing at all. The work is deciding which ones still earn their place. A store that imported a demo three years ago is usually carrying six or seven sections it has never measured, and a section nobody has measured has not earned a rebuild. Delete it and see whether anyone notices. Rebuilding a section faithfully because it exists is how a migration produces a faster copy of a page that was already too long.
Check the version before assuming the theme is the problem
XStore has been maintained continuously — version 9.7.7 shipped on 12 August 2026 — and recent releases carry real performance work. A store running a build from 2022 is not evidence about what the current theme does. Update on staging first, enable whatever asset-loading controls the current version exposes, and remeasure with field data rather than a lab score. Close the gap to green that way and the speed argument for migrating disappears with it. Anyone still quoting you on speed after that skipped this step.
When the rebuild is the right call anyway
Speed is the weakest reason to leave XStore and the most commonly cited. Green field data with a red lab score sitting on top of it is not something you buy your way out of. The stronger ones are structural. A catalog past roughly 5,000 products where category pages need filtering the theme's AJAX layer cannot do without visible delay. A store that needs its storefront in three languages with genuinely separate merchandising per market. A team that has hit the limit of what theme options express and is now paying a developer monthly to fight the theme rather than extend it. Each of those is a capability argument, and capability arguments survive the meeting where someone asks whether the current site is really that slow.
Order of work
Audit first: bundled plugin inventory, the three-store design trace, the Elementor-versus-options boundary. Then the product template, which on XStore is both the highest-traffic one and the most tangled in theme options; categories and filters after it; demo-derived marketing pages last. Keep the theme installed but inactive for a fortnight after cutover.
Frequently asked questions
What happens to XStore's bundled plugins?
Their licences are activated through the theme, so removing it ends their update path rather than breaking them immediately. Each one needs a decision: replaced by the storefront, bought standalone, or retired.
Can XStudio layouts be carried over?
They are design patterns rather than stored content, so they rebuild as components without parsing. The real work is deciding which sections still earn their place — usually two or three should simply be deleted.
Is XStore slow?
Not inherently, and recent versions carry genuine performance work. Update on staging and remeasure with field data before treating speed as the reason to migrate.
How is XStore page content extracted?
In two paths. Page content sits in Elementor's _elementor_data JSON, while product and archive presentation lives in XStore's own options and has to be transcribed by hand from the settings screens.
Elementor to Next.js
Migrate an Elementor WooCommerce store to a Next.js storefront: reading _elementor_data, rebuilding Theme Builder conditions, and what happens to popups and forms.
The7 to Next.js
The7 stores keep their design in a theme options panel rather than in page content, and often run two builders at once. What that means for extraction, and what it costs.
WoodMart to Next.js migration
How to migrate a WoodMart WooCommerce store to a Next.js storefront: extract theme options, WPBakery/Elementor layouts, HTML Blocks and swatches without losing SEO.
See how many sales your store is losing
Start with a free speed audit. You'll get your store's real numbers and an honest recommendation — even if it's "you don't need us".