Store migration

WoodMart to Next.js: How to Migrate a WoodMart WooCommerce Store

A WoodMart store is two things sold under one name. One is a WooCommerce catalog of products, orders and customers, which moves cleanly. The other is a theme doing the work of a dozen plugins, and none of that work travels. Plan for both and the move is routine.

October 8, 2026 · 11 min read

The short answer

To migrate a WoodMart store to Next.js, export products, variations, categories, customers and orders from WooCommerce, then rebuild what WoodMart supplied itself: AJAX filters, swatches, wishlist, compare, quick view and live search. Keep product and category URLs or redirect them, reconnect the same payment accounts, and launch once test orders pass on a preview site.

On this page
  1. Two piles: the catalog that travels, the features that stay
  2. The WoodMart feature bill, line by line
  3. Unwinding the Header Builder, Layouts Builder and Theme Settings
  4. Eight steps to a new storefront with the till still open
  5. Shop addresses, filter links and the redirect map
  6. Payments, saved cards and customer logins
  7. When fixing WoodMart beats leaving it
  8. Behind the counter once the new store is live

Two piles: the catalog that travels, the features that stay

Start with the good news. WooCommerce keeps the catalog in its own data model, and WoodMart sits on top of it rather than replacing it. Everything WooCommerce knows can be pulled out through its REST API: products and variations, attributes and their terms, categories and tags, regular and sale prices, SKUs, stock, weights and dimensions, product images and galleries, reviews, coupons, customers and order history. None of it depends on the theme.

Moves with a clean export

  • Products, variations, SKUs, prices and stock levels
  • Categories, tags and attributes, slugs included
  • Product images and gallery order
  • Customer accounts and their order history
  • Reviews and star ratings
  • Coupons and their usage rules

Has to be rebuilt in the new store

  • AJAX filters and the shop sidebar
  • Variation swatches and their colors or images
  • Wishlist, compare and quick view
  • AJAX live search
  • Frequently bought together, free gifts and size guides
  • Abandoned cart and back-in-stock emails

The right column is the theme's real value. WoodMart builds those features in, and the vendor says buying them separately would cost '$813 every year'. That is a fair point in WoodMart's favor and a fair warning for a migration: a store that leaves the theme must replace each feature on purpose, or decide it never earned its place. The WoodMart WooCommerce guide explains what each one does in the theme today.

The WoodMart feature bill, line by line

WoodMart's built-in store features and what replaces each in a Next.js store
In WoodMart todayIn the Next.js store
AJAX filtersSidebar filters that reload products without a page refreshFaceted filtering on prerendered category pages, with clean filter URLs
Variation swatchesColor and image swatches attached to attribute termsSwatch data imported with the terms and drawn by the product page
Quick viewA product popup opened from the gridKept only if analytics show it sells; often a faster product page instead
WishlistSaved lists for shoppers, stored by WoodMartPart of customer accounts; existing lists imported if worth keeping
CompareA side-by-side product tableA compare view fed by attributes, for catalogs where specs decide
AJAX live searchResults appear as the shopper typesA search index built from the catalog at each deploy
Frequently bought togetherBundles suggested on the product pageBundle links imported and shown as a component
Abandoned cart recoveryReminder emails for unfinished checkoutsHandled by the checkout and your email platform
Back-in-stock alertsSubscribers told when an item returnsSubscriber list exported; alerts sent when stock changes
Size guidesSize tables attached to productsStructured tables in the CMS, linked to products
Free giftsGift rules applied in the cartCart rules written into the checkout

Two habits keep this list honest. First, check analytics before rebuilding anything; a feature switched on during demo import is not proof that anyone uses it. Second, build the survivors as part of the store, not as add-ons, so they are tested together. WoodMart's own compatibility policy warns against plugins that 'replace or modify the theme's AJAX filters' or duplicate its swatches and wishlists. That is the plugin economy admitting, in writing, that the seams are where stores break.

Unwinding the Header Builder, Layouts Builder and Theme Settings

WoodMart's design does not live in a file you can copy. The Theme Settings panel holds the global choices, including the Performance options. The Header Builder stores its three rows of elements. The Layouts Builder holds templates for single product pages, product archives, cart and checkout. The mega menu builder holds the column grids. All of it is saved in the database and read at render time with help from the required WoodMart Core plugin, so none of it means anything to a new codebase.

The reference for the new build is therefore the store as shoppers see it, not its settings. We screenshot the header on desktop and phone, every Layouts Builder template, the mega menu open, and one product of each kind: simple, variable, on sale and out of stock. Those screenshots, plus a crawl of the live store, become the specification the Next.js storefront is checked against before launch.

Page content depends on the builder you picked

The setup wizard asked you to choose Elementor, WPBakery or Gutenberg, and that answer decides how your pages are stored. Elementor keeps layouts as JSON in post meta. WPBakery keeps them as shortcodes in the post content, WoodMart's own elements included, which print as raw bracketed text once the theme's plugin is gone, the same failure described in WPBakery shortcodes showing as text. Gutenberg keeps block markup, the easiest of the three to parse. Either way, the home page and promo layouts are rebuilt as components, and the words and images inside are extracted rather than retyped.

Demo leftovers

Stores that began from one of the 100+ prebuilt websites often still hold demo pages, draft sample products, placeholder images and menus nobody links to. They are listed, checked against analytics in case one picked up traffic, and left out of the export. A demo import that failed halfway can leave even more of this behind.

Eight steps to a new storefront with the till still open

  1. 1

    Crawl and record the store

    Every product, category, page and filter URL that is indexed, linked or earning traffic, plus screenshots of each template.

  2. 2

    Export through the WooCommerce API

    Products, variations, attributes, categories, customers, orders, coupons and reviews, plus WoodMart data worth keeping: swatches, size guides, wishlists and back-in-stock subscribers.

  3. 3

    Decide feature by feature

    Each WoodMart feature is kept, simplified or dropped, based on analytics rather than habit.

  4. 4

    Build the storefront and checkout

    Product and category pages are prerendered and refreshed when price or stock changes, and the checkout connects to the store's existing payment accounts.

  5. 5

    Import into Athena CMS

    Catalog, pages and content arrive as plain fields, with slugs kept so the addresses match.

  6. 6

    Place test orders

    Every payment method, shipping zone, coupon and tax rule is tried in the payment provider's test mode on the preview site.

  7. 7

    Sync the last orders and switch

    A short freeze on catalog edits, a final import of orders and customers created since the first export, then DNS moves.

  8. 8

    Watch the first weeks

    Search Console, 404 logs, checkout errors and conversion rates are checked daily until they settle.

Timing depends mostly on the catalog's shape, how many WoodMart features survive the review, and how much custom checkout logic the store carries, as explained in WordPress to Next.js timelines. The store-wide detail, including tax and order history, is in moving WooCommerce to Next.js.

The third option

Athena CMS, with AI agents on staff.

Not a theme and not a blank Next.js repo. The content system we put behind every custom site: plain fields, a real preview, every version kept, and AI agents that handle the chores a plugin only nags you about.

and 12 more agents. Two come with Athena; the rest are monthly add-ons.

The Athena CMS editor: plain fields with AI rewrite, a Publish box and revisions

Store URLs carry money. A product page that ranks, a category shoppers bookmark and a filtered view a blogger linked to are all addresses the new store has to answer. WooCommerce's defaults are predictable: products under /product/, categories under /product-category/, the catalog at /shop/, plus cart, checkout and my-account pages. Many stores changed those bases in the Permalinks settings, so we read the live addresses rather than assume.

  • Products and categories keep their slugs. The new routes copy the old pattern, trailing slash included, so most addresses need no redirect at all.
  • Filtered URLs get a decision. Filtered views put parameters in the address (WooCommerce's own use names like filter_color and min_price). Those that earn search traffic map to the new filter format; the rest point to the clean category page.
  • Retired products redirect to their closest live page, usually the category, never the home page.
  • Image URLs that rank in image search keep working or redirect to the new copies, as covered in WordPress images to Next.js.
  • Account, cart and checkout paths redirect to their new equivalents so bookmarks and order emails still land.

The redirect method is in WordPress to Next.js redirects, the routing patterns in URL structure, and the full ranking checklist in migrating without losing SEO. Product titles, descriptions and structured data carry over, so search results look the same the morning after the switch.

Payments, saved cards and customer logins

This is where owners worry most, and where the facts are kinder than the fear. WoodMart does not process payments; WooCommerce payment gateways do, most often Stripe or PayPal, both of which WoodMart's docs list among its integrations. Card numbers never lived in WordPress. With Stripe, customer and saved-card records sit in your Stripe account, and WooCommerce stores the link between each shopper and their Stripe record, so a new checkout on the same account can find them again. PayPal shoppers log in to PayPal at checkout, as before.

  • Subscriptions need a cutover date. If a WooCommerce subscriptions extension schedules renewals, those renewals run inside WordPress. They are moved to Stripe's own billing one subscriber at a time, so nobody is charged twice or skipped. Trouble on the old store is covered in subscriptions not renewing.
  • Passwords are hashed, not stored. Shoppers either sign in with their old password, checked once against the imported WordPress hash and then replaced, or get a reset email at launch. We agree which before import.
  • Order history comes along. Past orders are imported so customers see their history and your books stay whole. Newer stores keep orders in WooCommerce's own order tables (HPOS) rather than as posts; the REST API reads either.
  • Taxes, shipping zones and coupons are rebuilt as rules and tested before launch, because a checkout that charges the wrong tax is worse than a slow one.

On the new site, Athena CMS runs the store: products, prices, stock and offers are plain fields with a preview and every version kept, and the same system handles password-protected member areas with Stripe subscription billing when the business sells access rather than boxes. Our e-commerce development team builds the checkout, and e-commerce financing can spread the cost.

When fixing WoodMart beats leaving it

Plenty of WoodMart stores should stay. As of October 2026 a Regular License costs $69 for one store, with six months of support, and filters, swatches and wishlists are already built in. That is good value for a store with a modest catalog and a team that likes building its own pages. The stores that should leave tend to share a different problem: a slow checkout as traffic grows, clashes whenever a plugin overlaps a theme feature, a server that needs PHP 8.3 and generous limits to stay upright, or a business model the theme cannot bend to.

If the store mostly needs repair, start at the WoodMart repair hub, which covers WooCommerce faults, update problems and a slow WoodMart store. The WoodMart speed guide covers lazy loading, Preload LCP Image and local Google Fonts. Front-end faults have their own pages, from a missing header to a mobile menu that will not open. Weigh the whole trade in WoodMart vs Next.js before deciding.

Behind the counter once the new store is live

The daily jobs stay the same: add a product, change a price, start a sale. In Athena they happen in plain fields with a preview, without Theme Settings, a Header Builder and a page builder each claiming a slice of the screen. Structural changes, like a new product type or an extra checkout step, go to a developer, which is also why they do not break on their own after an update nobody scheduled.

Agents pick up the work WoodMart's extras and a shelf of marketing plugins used to do. Demeter prepares seasonal offers. Zeus builds event banners from live feeds. Echo handles reviews. Picasso makes sure every product image is described and sized. Argus watches for failing forms, broken links and slow pages. Ares keeps an eye on competitors. Most draft for approval rather than acting alone. The first weeks are described at switching from WordPress, and the money at what a migration costs. Projects are quoted after a free site audit and built by our Next.js rebuild team; every other guide sits on the WordPress to Next.js hub.

Questions people ask before they call

Yes. WooCommerce stores reviews with their ratings, authors and dates, and its REST API exports them product by product. They are imported against the matching products in the new store, so the stars and counts on each product page match what shoppers saw before. Review structured data is rebuilt too, which keeps the rating snippets eligible in search results.

Yes. The WoodMart store keeps trading the whole time. The new store is built and tested on a preview address with its own test orders. At launch there is a short freeze on catalog edits, a final import of the orders and customers created since the first export, and then the domain switches over. Shoppers see one store, then the other.

Somewhat. Gutenberg pages are stored as block markup and parse cleanly. Elementor pages are JSON in post meta, which takes more mapping. WPBakery pages are shortcodes, WoodMart's own elements included, which need the most extraction work. Product data is the same in all three cases, so the builder mostly affects the home page, landing pages and promotional layouts.

Often, yes. A store with a modest catalog, steady traffic and a team happy in WoodMart's builders gets a lot for a $69 license, and tuning the WoodMart speed settings may be all it needs. A rebuild pays off when checkout speed, plugin conflicts, custom pricing, subscriptions or heavy traffic start costing more than the build would.

You can. WooCommerce can stay as the back office while a Next.js storefront reads products and sends orders through its API. It keeps familiar order screens, but you still maintain WordPress, WooCommerce and their extensions behind the scenes. The trade-offs are covered in keeping WordPress as your CMS.

Keep reading

Free · No obligation

Get a move plan for your WoodMart store

Tell us the store address and what is bothering you. We will list the WoodMart features in use, map the URLs and payments, and send a fixed quote or a reason to stay.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote