Migrating from WooCommerce
Switching from WooCommerce? TitanCart includes a built-in WooCommerce Migration tool that reads the WooCommerce data already on your site and copies it into TitanCart’s own tables — products, categories, tags, customers, orders, reviews and coupons — in one guided run. It is part of the core plugin, in TitanCart Lite as well as Pro, so there is nothing extra to buy or install.
1. Before you start
- WooCommerce data must still be on this site. The tool reads WooCommerce’s own tables directly, so WooCommerce (or at least its data) has to be present on the same WordPress install. Do not delete WooCommerce until the migration is done and checked.
- Back up the database. The migration only adds rows to TitanCart’s tables and never changes anything in WooCommerce, but a fresh backup is the right move before any bulk job.
- Use an administrator account. The tool is for administrators only.
Tip: The migration is safe to run more than once. It skips records it has already imported — categories and tags by slug, products by product code (SKU), customers by their WordPress user, orders by order number, reviews by product, customer and date, coupons by code — so a second run fills in anything that was missed instead of creating duplicates.
2. Open the tool
Go to TitanCart → Settings and open the WooCommerce Migration card. The page immediately scans the site (“Scanning for WooCommerce data…”). If nothing is found you see WooCommerce Not Detected — the WooCommerce plugin or its data is not on this site.
3. Review what was detected
When WooCommerce is found, a card shows its version and whether orders use HPOS (High-Performance Order Storage) or legacy order storage. The tool reads either layout; you do not need to change anything in WooCommerce. Below that is a tile for each data type with the number of records found, for example “1,204 found”.
4. Choose what to import
All seven types are ticked by default, which gives a complete migration; tiles with a count of zero are greyed out.
- Categories — the full category tree.
- Tags — product tags.
- Products — the catalogue, including variable products.
- Customers — customer accounts and their saved addresses.
- Orders — order history with line items and totals.
- Reviews — product reviews and ratings.
- Coupons — coupon codes, rebuilt as TitanCart promotions (Pro only; Lite does not offer this step).
Note: Orders and reviews are linked to the products and customers imported in the same run. If you import orders without products, the line items still arrive with their name and product code, but they are not linked to a product in your catalogue. Keep everything ticked unless you have a reason not to.
5. Run the migration
Click Start Migration. A progress card shows a live bar, the type being processed (“Importing products…”), a running count and a scrolling log. The whole run happens in one request with a ten-minute time limit, so leave the tab open; large stores take a while. When it finishes you see Migration Complete, or Completed with warnings with the skipped records listed, and two buttons — View Products and View Orders — jump to the imported data.
6. What gets imported
- Categories keep their parent/child hierarchy and descriptions, plus any Yoast or Rank Math SEO title and description.
- Products bring name, description, product code (SKU), short description, regular and sale prices (a sale price becomes the price, with the regular price shown as the struck-through list price), weight and dimensions, the downloadable and virtual flags (a virtual product needs no shipping), stock quantity, stock status and the Track inventory switch, the featured flag, rating average and review count, sales count, category and tag links, Yoast / Rank Math title and description, and the main image plus gallery. WooCommerce Published arrives as Published, Draft as Inactive, Private as Draft.
- Variable products become TitanCart’s model: each WooCommerce variation is its own product, and they are linked as a Product Group so the storefront shows one page with selectors. The variation attributes (Colour, Size and so on) are created as TitanCart Attributes. A variable product with no variation attributes is imported as a simple product.
- Customers are the WordPress users with the Customer role, matched to their user account, with first and last name, phone, and their billing and shipping addresses. Users with other roles are not imported.
- Orders bring status, currency, totals (subtotal, discount, shipping, tax), billing and shipping details, the customer note and every line item. Statuses map one to one: pending, processing, on-hold → On hold, completed → Complete, cancelled, refunded, failed.
- Reviews arrive with rating, text, author and their approved or pending state.
- Coupons are rebuilt as cart promotions named “Coupon: CODE” with the code attached, carrying the discount (percentage or fixed amount off the order), the free-shipping flag, the minimum-spend condition, the usage limit and the expiry date.
Note: Product images are referenced from your existing WordPress media library, not copied, so the migration is fast and your storage does not double — but the media library has to stay in place. If you later move to a fresh WordPress install, move the uploads folder across too.
7. What it does not migrate
The tool migrates catalogue and commerce data, not store configuration, because settings work differently in TitanCart and are quick to set fresh. After migrating you still configure shipping methods and zones, tax rules, payment gateways, currency, company details and notifications — the Store setup checklist walks through them. On the catalogue side: product options (add-on choices such as gift wrap) and attributes that were not used for variations are not carried over, and downloadable products need their files attached again on the product’s Downloads tab.
TitanCart Lite: the migration offers six data types on Lite — coupons are left out, because promotions are a Pro feature and a Lite store has nothing to honour them with. After moving to Pro, run the migration again with only Coupons ticked; the other types are skipped as already imported.
Troubleshooting
- “WooCommerce Not Detected.” WooCommerce or its data is not present on this site. Reinstall or restore it, then reload the tool.
- The migration stops partway on a very large store. It runs in one request with raised time and memory limits, but a huge order history can still hit a server limit. Run it again — already-imported records are skipped, so it picks up where it left off.
- “Completed with warnings.” Some records were skipped; the reasons are in the log. The usual cause is an order or review whose product was not imported in the same run — re-run with Products ticked.
- A variable product came in as a single product. It had no variation attributes in WooCommerce. Fix it there and re-run, or split it in TitanCart.
- Some customers are missing. Only users with the Customer role are imported. Give the missing users that role in WordPress and re-run.
- An imported order’s items are not linked to products. Orders were imported without Products. Re-run with both ticked.
See also
- Store setup checklist — the configuration the migration does not bring over.
- Product variations — how Product Groups work after import.
- Admin dashboard tour — find your imported products, orders and customers.
- Adding your first product — the product editor, for tidying imported products.