Every few months, someone writes a post about why they moved off WooCommerce. Shopify is easier. Medusa is more modern. Saleor gives you a real GraphQL API.
They are not wrong about any of those things.
I keep coming back to WooCommerce anyway.
Yes, I have built outside WooCommerce
I have evaluated the alternatives. I have built headless commerce setups where WooCommerce was just a backend API. I have worked with REST endpoints that make WooCommerce’s look old.
I am not betting on WooCommerce because it is all I know.
I worked on WooCommerce internals
I worked with the WooCommerce Core Extensions team at Fueled (for Automattic). The work involved diving into extensions like Composite Products and Product CSV Import Suite. Investigating bugs, writing documentation, and spending time understanding how these pieces fit together.
I was not looking at WooCommerce from the outside. I saw the inconsistencies in CSV import behavior between extensions. I saw where integration points are maintained on one side but not the other. The codebase has rough spots.
And I still bet on it.
The ecosystem is the product
WooCommerce is not just a plugin. It is a commerce ecosystem sitting on top of WordPress, which powers over 40% of the web. No standalone commerce platform can match that distribution.
A merchant running WooCommerce can use the same WordPress skills, the same theme system, the same block editor, the same hosting. Their developer already knows the stack. Their content team already knows the admin. No second platform to learn.
Shopify wins in many isolated comparisons. But Shopify is a walled garden. WooCommerce gives you the full code. You can fork it, extend it, host it anywhere, and own your data. For many businesses, that matters more than a nice onboarding flow.
Extensibility is messy, but it compounds
WooCommerce has thousands of hooks and filters. The extension ecosystem is massive. Yes, this leads to compatibility headaches. I have spent hours tracing why one extension breaks another.
But that extensibility is also why WooCommerce can do things Shopify cannot do without building a custom app. Composite products, complex subscriptions, B2B pricing, multi-vendor marketplaces, custom checkout flows. I have seen it first-hand.
Every extension you add builds on the same foundation. Every custom hook you write works with the same architecture. Over the years, that consistency adds up.
What I got wrong about hosted commerce
For a while, I thought hosted platforms like Shopify would replace self-hosted solutions for most merchants. No server management, no plugin conflicts, automatic updates. The simplicity argument is strong.
What I underestimated was the cost of constraints. Merchants who start on Shopify eventually hit walls. Custom checkout logic that Shopify does not allow. Data export limitations. Theme restrictions. Monthly fees that scale with revenue rather than with complexity.
WooCommerce’s self-hosted nature is a feature. You pay for hosting, not a percentage of your sales. You control the deployment. You decide when to update and what to customize.
Gutenberg changes things for WooCommerce too
I wrote about why I still bet on WordPress, and Gutenberg was a big part of that. The same logic applies here.
WooCommerce is building block-based checkout, block-based product pages, and block-based cart experiences. Merchants can customize their store layout without touching code. Developers can build custom blocks that plug into WooCommerce data directly.
The separation of structure from styling that Gutenberg brought to WordPress is now flowing into commerce. WooCommerce is inheriting the best architectural decisions WordPress has made in the last five years.
Where WooCommerce falls short
I am not going to pretend everything is great. The developer experience for building WooCommerce extensions is not clean enough. Documentation has gaps. Some core APIs feel dated compared to Medusa or Saleor.
Performance out of the box is not where it needs to be for large catalogs. The admin is getting better with React-based pages, but it is still a work in progress. And the gap between WooCommerce core and its extension ecosystem creates friction merchants should not have to deal with.
Real problems. But solvable ones.
Why I keep coming back
I care less about whether a platform is “modern” and more about whether it lets me ship things that work for real businesses.
WooCommerce gives me ownership, extensibility, and the full power of WordPress underneath. I can choose when to go headless, when to build custom, and when to just install an extension and move on.
The skills transfer to WordPress work and back. The ecosystem keeps growing. The architecture is improving. And with block-based commerce coming, the best parts of WooCommerce are still ahead.
I do not bet on WooCommerce because it is perfect. I bet on it because it compounds.
