Migrate classic POM Composite products
The modern tweak replaces the retired POM Composite web runtime. Its site-scoped WP-CLI commands can inspect, migrate, roll back, and finally clean recognized POM-owned legacy values without loading the retired administration or storefront code.
Use a staging copy and a current database backup. Complete or empty open carts created by the retired format before starting. Every command must target one site with WordPress CLI's global --url=<site-url> parameter; the command never traverses the network.
Inspect and preview
wp pomtweaks composite-products status --url=https://example.com
wp pomtweaks composite-products dry-run --url=https://example.com
Confirm the retired tweak is inactive. Resolve every blocked, prepared, failed, unknown, or unverified result before migration. The dry run reports eligible product IDs, chapter counts, mapping hashes, and warnings without creating a run or changing product data or activation settings.
Products owned only by the official WooCommerce Composite Products extension are not migration targets.
Migrate and verify
wp pomtweaks composite-products migrate --url=https://example.com
wp pomtweaks composite-products status --url=https://example.com
The command records a recoverable site run and verifies a product backup before changing that product. Repeating migrate resumes a compatible interrupted run from its durable checkpoint.
After a verified result, edit every migrated product under Products → Edit product → Composite chapters. Check sources, quantities, labels, price, tax, stock, coupons, shipping, storefront, cart, checkout, and a test order. Migrated products use the Stacked layout so the cutover does not impose a more opinionated presentation.
Roll back before cleanup
wp pomtweaks composite-products rollback --url=https://example.com
Rollback restores recognized product types and settings, any pre-existing modern configuration, and the pre-migration activation state. It does not reactivate the retired web runtime. Repeating the command resumes a supported interrupted rollback.
After a verified rollback, start a separate reviewed attempt with:
wp pomtweaks composite-products dry-run --new-run --url=https://example.com
wp pomtweaks composite-products migrate --new-run --url=https://example.com
Clean retained migration data
Only after accepting the modern storefront and orders:
wp pomtweaks composite-products cleanup --dry-run --url=https://example.com
wp pomtweaks composite-products cleanup --yes --url=https://example.com
Cleanup requires a completely verified run and refuses unknown, failed, unverified, missing, rolled-back, or newly discovered classic product data. It removes only the run's recognized POM-owned legacy values and backups. After cleaned, command rollback is no longer available; recovery requires an external database backup.
Do not run concurrent Composite migration commands for the same site. Use wp help pomtweaks composite-products <subcommand> for the installed limits, formats, states, and exit codes.