Medusa vs WooCommerce: free to start, paid to maintain
Both licences cost nothing. The difference sits in the build, the running cost and the price of the first change after launch, so we split the bill into three explicit layers. Twelve dimensions side by side, plus an honest section on when WooCommerce is the cheaper answer. Vendor data checked 11 August, build ranges 12 August 2026.
Choose WooCommerce if your store fits the standard: a straightforward catalogue, one market, content and commerce in a single system, and maintenance that has to stay cheap and hireable almost anywhere. Choose Medusa if your selling logic, your product model or your integrations have outgrown what a stack of extensions can express, and you have someone to maintain your own code instead of somebody else’s.
Key takeaways
- The licence costs nothing on both sides. Neither platform takes a revenue share, and in both cases the code and the database belong to you. Three other layers create the difference: the build, the running cost, and the price of the first change after launch.
- On a simple store WooCommerce is cheaper and faster, and it is not close. In Poland, where we build, agencies quote roughly 2,800 to 5,800 EUR and four to six weeks for a straightforward WooCommerce store, against our Medusa builds from about 14,000 EUR and eight to twelve weeks. WooCommerce itself publishes no build costs at all.
- Higher up the arithmetic changes. A WooCommerce build with integrations and a data migration runs to roughly 5,800 to 14,000 EUR, and above that sits enterprise scope. Our typical Medusa build lands between 18,500 and 46,500 EUR, so at that level you are comparing two projects rather than two licences.
- The honest advantage arrives after launch. On WooCommerce a change outside the standard is another extension, with its licence, its release cycle and its conflict risk. On our side it is a backlog item on code that belongs to you.
Both are free to install and both leave the code and the database on your side. That symmetry removes most of the arguments you see in comparisons against hosted platforms: no revenue share, no plan tiers, no vendor who can rewrite the terms. What is left is a duller question. What does it cost to keep alive a thing you already own?
Since the licence costs nothing on both sides, setting a platform price against a build price compares two different things. The bill splits into three layers and that is how we break it down here: licence, build, running cost. Then a fourth line nobody budgets for, the price of the first change after launch.
Free to start is where the similarity ends
The common mistake is to file WooCommerce under “free” and Medusa under “expensive”. Both are open source. WooCommerce is a free plugin for WordPress, stewarded by Automattic, and the Medusa core ships under the MIT licence, with separate terms for its Enterprise edition.
Three things look identical on both sides. Set them aside before comparing anything else.
- No revenue share. WooCommerce states 0% revenue share; Medusa states a 0.0% GMV platform fee, including on its Cloud plans. You pay your payment processor, not the platform.
- The data is yours. MySQL or MariaDB behind WooCommerce, PostgreSQL behind Medusa, both on infrastructure you control.
- Hosting is your job. Neither one runs a server for you unless you buy a managed service on top.
Split the bill before you compare it
The fairest way to price this decision is to break it into layers and say where each number came from. The first layer is identical on both sides. The second and the third are where these platforms genuinely part company.
| Layer | WooCommerce | Medusa |
|---|---|---|
| Licence | Zero. A free open-source plugin for WordPress. | Zero for the MIT-licensed core. The Enterprise edition sits under separate commercial terms. |
| Build | The vendor publishes no build costs at all. Agencies in the Polish market, where we work, quote roughly 2,800 to 5,800 EUR for a straightforward store on an off-the-shelf theme, 5,800 to 14,000 EUR with integrations and a data migration, and more again at enterprise scope. | The vendor publishes nothing here either. Ours: from about 14,000 EUR, typically 18,500 to 46,500 EUR depending on catalogue, integration count and migration scope. |
| Time to launch | Four to six weeks for a straightforward store, eight to fourteen weeks with integrations and a migration, three to six months at enterprise scope. | Eight to twelve weeks. Agencies on several continents quote the same band, and it matches what the work takes us. |
| Running cost | Hosting and care, plus an annual licence for every extension. In the Polish market that lands around 70 to 400 EUR a month before extension renewals. | Your own infrastructure, or Medusa Cloud from 29 USD a month, plus care: ours starts at about 800 EUR a month. |
| Cost of change after launch | Another extension, or work inside somebody else’s code. You buy the annual licence, the author’s release schedule and the risk of a conflict with the rest of the stack. | A backlog item on code that belongs to you. You pay for the work, not for another dependency. |
Net of tax. The WooCommerce build and running figures come from agencies in the Polish market and were collected on 12 August 2026; they differ between suppliers, so treat this as a band rather than an average. Our own ranges are set in Polish złoty (from 60,000 PLN, typically 80,000 to 200,000 PLN for the build, from 3,500 PLN a month for care) and converted here at a rounded 4.30 PLN to 1 EUR, the NBP mid rate of 11 August 2026. Vendor-published hosting and extension prices are in the table below, checked 11 August 2026.
Two caveats about where those numbers come from. Neither vendor publishes a build price, so the left column is a market rather than a price list. One data point circulates on the Medusa side, a Gdańsk agency quoting “from around $20,000”, but a single point is not a range and its scope is unknown.
The band is also local. Rates decide a build price more than the engine does: agencies in Eastern Europe quote 40 to 70 USD an hour against 70 to 100 in Western Europe, with Poland clustering at 50 to 99 on Clutch. Read the figures above as our market, then reprice them for yours.
Before any of the arithmetic: on a simple store WooCommerce is cheaper and faster, and it is not close. Roughly 2,800 EUR and four weeks against 14,000 EUR and eight weeks is not a gap that an argument about architecture closes. Our offer only starts to make sense further up the scale.
“Further up” has a specific address. It begins where WooCommerce stops being cheap as well, in its own 5,800 to 14,000 EUR band and above, because by then the price is set by integrations, data migration and selling logic. At that level you are comparing two projects, not two licences.
That is a range, not a quote. The exact number falls out of a conversation about your catalogue, your integrations and the state of your data. The pricing model itself is set out on our pricing page.
Twelve dimensions, side by side
This table holds only what can be checked at source: vendor pages, documentation, the repository. None of the figures below is an estimate of ours or a quote from anybody else.
| Dimension | WooCommerce | Medusa |
|---|---|---|
| Licence model | Free open-source plugin for WordPress, stewarded by Automattic | MIT-licensed core, Enterprise edition under separate terms |
| Stack | PHP 8.3+ (older branches supported but past end of life), MySQL 8.0+ or MariaDB 10.6+, WordPress 6.9+, 256 MB memory | Node.js 20+ LTS, PostgreSQL, TypeScript |
| Cost to start | Nothing for the core; you pay for hosting, a theme and extensions | Nothing for the core; you pay for the build and the infrastructure |
| Cost to run | $25-350 per month hosting and $29-299 per year per extension (ranges published by WooCommerce) | Your own infrastructure, or Medusa Cloud from $29 per month; maintaining the code stays with you |
| Revenue share | 0% on the platform side | 0.0% GMV platform fee, Cloud plans included |
| Ownership of code and data | Full; the database sits on your server | Full; the database sits on your infrastructure |
| Extensibility | WordPress hooks and filters, third-party extensions, your own plugin when needed | Modules and workflows; payment, fulfilment, CMS and search providers swap out without forking the core |
| Ecosystem and integrations | Very wide extension marketplace covering most common commerce needs | Officially documented: Stripe, PayPal, ShipStation, Algolia, Meilisearch and others; anything else is a module you write |
| Time to launch | Days if you stand it up yourself on an off-the-shelf theme; weeks once a supplier does it (bands in the table above) | Weeks; the storefront and the integrations are built |
| Skills required | WordPress and PHP, server administration, extension hygiene | TypeScript and Node.js, PostgreSQL, API work, DevOps |
| Lock-in risk | Not to a platform vendor, but to extension authors and their lifecycles | Not to a vendor, but to the team that maintains your code |
| Cost of change after launch | Another extension and its lifecycle, or work inside somebody else’s code | A backlog item on code that belongs to you |
Checked 11 August 2026. Sources: woocommerce.com (server requirements, pricing), wordpress.org, docs.medusajs.com, medusajs.com/pricing, github.com/medusajs/medusa. Amounts are quoted in the currencies the vendors publish. We revisit this table quarterly.
Where the WooCommerce bill actually arrives
Not in a licence, because there is none. It arrives in four places, none of them alarming on its own, which together become a line item nobody put in the budget.
An extension is not a feature, it is somebody else’s code in your checkout
Anything WooCommerce does not do natively gets closed with an extension: subscriptions, contract pricing, tax rules, shipping logic, channel feeds. WooCommerce prices extensions at $29 to $299 a year each, and its own Subscriptions extension at $279 a year.
The money is the smaller half of this. The larger half is that after a year your buying path is assembled from the work of a dozen independent authors, each with a separate release cadence, a separate quality bar and separate plans for the future.
Four clocks that do not tick together
An update in this stack is not one event. Four independent clocks are running, and it is the drift between them, rather than any single release, that puts the checkout at risk:
- PHP. WooCommerce now asks for 8.3 or greater and tests up to 8.4, describing older branches as past their official end of life.
- WordPress. Version 6.9 or greater is required, and core moves more often than most extensions do.
- WooCommerce itself. Version 11.0.1 on the day we checked, across seven million or more active installations.
- Every extension, separately. A different author, a different pace, a different decision about whether to keep up at all.
Nobody tests your particular combination before shipping, because your combination exists only on your site. In practice that means a staging environment and a person who looks at it before anything reaches production. That is the hour a month that never shows up on an invoice.
Security here is an ecosystem statistic, not a scare story
Patchstack, a company that sells WordPress security, reports in “State of WordPress Security in 2026” that 11,334 new vulnerabilities were found across the WordPress ecosystem during 2025, a 42% increase on the year before. 91% of them were in plugins and 9% in themes, while core accounted for six, described as low priority.
Two honest caveats. The source is a security vendor, so it has an interest in the number landing hard. And the figure covers the whole WordPress ecosystem rather than WooCommerce, so it says nothing about your store. What it does say is where the attack surface sits: in the extension layer, which is the layer you choose.
Practical takeaway: in the same report, 46% of vulnerabilities were not fixed in time for public disclosure. On WooCommerce the number of installed extensions is therefore a decision about risk, not a technical detail. Reviewing that list once a quarter costs less than one incident.
Large catalogues: what HPOS fixed, and what it did not
The most repeated criticism, that WooCommerce keeps orders in the WordPress posts tables, is out of date. Since version 8.2 High-Performance Order Storage gives orders dedicated tables and indexes, enabled by default on new installations. WooCommerce presents it directly as an answer to scalability, reliability and a simpler data structure.
We have not benchmarked either platform and will not put numbers here. What can be said is where the architecture creates exposure: on WooCommerce, performance depends on the sum of every extension installed, because each one adds its own queries and scripts. HPOS tidies the core, not what the extensions do. What breaks first as traffic climbs we cover separately in what breaks at 10x traffic.
One installation for content and for commerce
The store and the blog share an installation, a database and an admin. That is an advantage until it turns into a cost: a change in the content layer can reach the sales path, and article traffic shares resources with the cart.
Medusa draws that boundary by design, because commerce lives behind an API while the storefront and the content layer can stand apart. That is not better in itself. It is better when you genuinely need separate release paths for content and for selling, which is what we mean by headless architecture.
What Medusa gives you, and what it charges in return
Medusa is a commerce backend in TypeScript, arranged in four layers: API routes, workflows holding the business logic, domain modules, and a PostgreSQL data store. Payment, fulfilment, CMS and search providers are swapped as modules rather than forked into the core.
- A product model shaped around your assortment. Made-to-measure goods, bundles, configurations and parameter-driven pricing do not have to end up in description fields.
- Selling logic as code, not as a workaround. Contract pricing, order approvals and your own discount rules are written as workflows instead of assembled from three extensions.
- One boundary for many channels. The same backend serves the web store, an app and your integrations, because everything travels through the API.
The bill for that is simple and worth stating plainly. The third-party extension problem disappears and a staffing requirement takes its place: TypeScript, PostgreSQL, DevOps, and integrations nobody has written for you. One cost is exchanged for another, not removed.
The price of the first change after launch
This is the line that decides the most and appears in no build budget. The question is plain: what does the first thing you ask for three months after going live actually cost?
On WooCommerce a change outside the standard is usually another extension. Along with the feature you buy its annual licence, its author, that author’s release schedule and the risk of a clash with the rest of the stack. It is the same layer the vulnerability figures above describe: the surface grows with every entry on the list.
On our side the same change is a backlog item, on code that belongs to you. You pay for the work rather than for a new dependency, and once it ships there is nothing extra to keep updated with every future release.
Honest to the end: a backlog item needs somebody to do it. Without a team or a partner on retainer, a $299 a year extension beats any conversation about a backlog on both price and speed. This advantage only pays once changes are a regular event rather than an annual one.
What an extension will not do
So far we have compared the cost of the same thing. There is one layer where the two platforms do not stand level, because everything in it depends on access to your data and to your selling logic: the work AI can take over.
On our side that is a separate stage with a price. AI Automation is scoped per workflow, from about 1,400 EUR each (6,000 PLN at the same rate as above), and the scope is usually dull and countable:
- Product descriptions generated from attributes rather than from nothing.
- Catalogue translation when you open another market, covered separately in AI catalog translation.
- Marketplace feeds: mapping catalogue columns onto channel fields and validating the file before it goes out.
- Order status handling and the answers to questions about a shipment.
- Attribute mapping between an ERP export and your product model.
The second part is running a store through AI agents. The condition is not the model, it is the backend: your own code, your own database and an API the agent can reach in full. Where a store is assembled from third-party extensions, that reach ends at the edge of each extension’s API.
None of this is out of reach on WooCommerce. It usually arrives as another extension or an integration with an external SaaS: its own subscription, its own lifecycle, its own access to your data. That is not an accusation, it is a different bill. You buy a finished feature instead of building a capability.
Choose WooCommerce when
This section is not a courtesy to a competitor. WooCommerce wins in situations that describe the majority of stores trading today.
- The catalogue fits the standard. A few hundred products with simple variants, one market, one currency, straightforward retail.
- Content is part of how you sell. Articles, guides and the store in one admin is a real saving in labour, not an architectural flaw.
- The starting budget is close to zero. The core costs nothing and early gaps close with an off-the-shelf extension rather than a build.
- You have no technical team. WordPress talent is available in almost every market, and replacing a supplier does not mean rewriting the store.
- You are still testing whether the product sells. At that stage every unit of budget spent on architecture is one not spent on validating the hypothesis.
One more thing, even though we build on Medusa. If your list of grievances with WooCommerce comes down to slow hosting and twenty extensions accumulated over the years without review, that is not an argument for changing platform. It is an argument for a cleanup.
When this choice is even on the table
Most stores have no decision to make here, because they fit the standard, and for them WooCommerce is the cheaper answer. The engine question turns real only when specific things are visible inside the business. Five markers tell us it has:
- The catalogue does not fit a standard product model. Made-to-measure goods, bundles, configurators, prices derived from parameters. The symptom is easy to spot: data that should live in fields lives in the description or in a spreadsheet next to it.
- Selling logic is the advantage, not the paperwork. B2B contract pricing, credit limits, order approvals, rules per customer. If that is why people buy from you, it should not live inside somebody else’s extension.
- ERP and warehouse integrations set the pace. Not the storefront, but stock, prices, documents and statuses. In that kind of project the front end is the smallest problem you have.
- You sell across several channels at once. Store, marketplace, app, wholesale. Each channel wants the data its own way, and the source of truth has to stay singular.
- The sum of the extensions has become an operational risk. Not their number, but the fact that an update has become an event somebody holds their breath through.
Recognise none of these? Then the choice does not concern you, and moving to Medusa buys control you will not use. Recognise several? One condition still outweighs the whole table: you need somebody to maintain it, an in-house team or a partner on retainer. Without that, Medusa is the wrong call regardless of its merits.
The question that decides more than the technology
Who runs this in two years? It sounds like a procurement footnote and it usually outweighs everything in the table above, because both platforms hand you the code and, with it, the responsibility.
The hiring pool is not symmetrical. WordPress and PHP is a wide market in every region; Node.js with Medusa is a much narrower one. Integration coverage tilts the same way: Medusa documents Stripe and PayPal for payments and ShipStation for fulfilment, so a regional gateway or carrier is a module you commission rather than a subscription you renew.
How to read that: a missing integration does not mean “impossible”. It means the line moves from an annual extension fee into the build scope as engineering work, and someone has to own it afterwards. Price both, then compare.
What this comparison does not cover
The boundaries, stated plainly, so the piece can be used as a source:
- Performance under load. We measured neither platform and we do not repeat other people’s benchmarks.
- A quote for your project. The layer table holds a market band on the WooCommerce side and our own published ranges on the Medusa side, not an offer. The number follows scope, integrations and the state of your data; the pricing model is on the pricing page.
- What other Medusa suppliers charge. We publish ours because nobody in this market publishes theirs. If you are collecting proposals, compare the scopes before you compare the totals.
- Build costs outside the Polish market. Our figures describe the market we work in. Hourly rates move them substantially between regions, so treat them as a reference point rather than a global benchmark.
- Individually negotiated terms. Managed hosting and enterprise support are frequently priced per customer.
- Comparisons with hosted platforms. Shopify and PrestaShop are a different conversation; the routes out of them sit on Shopify migration and PrestaShop migration.
- Anything after today. Vendor versions, requirements and prices were checked on 11 August 2026, and the build and running bands on 12 August 2026. We return to both quarterly.
How to decide without guessing
The sequence that saves the most money is a dull one, and it produces three lists:
- List one: what is impossible today. Everything your current platform cannot do that is on the plan for the next eighteen months.
- List two: the price of standing still. A year of running what you already have: hosting, extensions, and the hours spent on updates and workarounds.
- List three: how many changes last year. Count the times you needed something outside the standard, and how many of those an extension actually closed. It is the best available proxy for what change will cost you next.
Only with both lists does an engine comparison mean anything, because you can see what you are buying. The framing sits in our pieces on criteria for choosing a platform and the signs a store has outgrown its platform, and the arithmetic in the three-year TCO.
Medusa is only the foundation here. What we build on it is BEAM: one place a client runs their whole eCommerce from, delivered in four stages, from Blueprint through Engineering to Maintenance & Growth. If the numbers land on Medusa, the scope is set out on Medusa development; if they land on WooCommerce, we will say so rather than sell a build that will not pay for itself. A wider view of the platform families is on eCommerce platforms.
Both platforms cost nothing to license, and both send the invoice somewhere else. On WooCommerce you pay in maintenance and in the next extension for the fact that entry was free. On Medusa you pay in the build and in the people, and you get selling logic you control and a predictable price for changing it. The decision comes down to which of those invoices you would rather receive.
FAQ
Is WooCommerce really free?
The licence is: a free open-source plugin for WordPress with no revenue share. Everything around it is paid. WooCommerce itself publishes $25 to $350 a month for hosting and $29 to $299 a year per extension, with its own Subscriptions extension at $279 a year (checked 11 August 2026). On top of that sits the build, which WooCommerce does not price at all. Agencies in the Polish market quote roughly 2,800 to 5,800 EUR for a straightforward store and 5,800 to 14,000 EUR with integrations and a migration (collected 12 August 2026).
What does a WooCommerce build cost compared with a Medusa build?
The licence is zero on both sides, so what you are really comparing is the build. In the Polish market, where we work, agencies quote roughly 2,800 to 5,800 EUR for a straightforward WooCommerce store (four to six weeks), 5,800 to 14,000 EUR with integrations and a data migration (eight to fourteen weeks), and more again at enterprise scope (three to six months). Our Medusa builds start at about 14,000 EUR, typically land between 18,500 and 46,500 EUR, and take eight to twelve weeks. On a simple store WooCommerce is cheaper and faster, and it is not close. Hourly rates differ sharply between regions, so reprice both columns for your own market, and treat these as ranges rather than quotes.
Is Medusa free?
The core is MIT licensed, with the Enterprise edition under separate commercial terms. Self-hosted, you pay for infrastructure and for the team that maintains it. Medusa Cloud starts at $29 a month on the developer plan, with a stated 0.0% GMV platform fee (checked 11 August 2026). Medusa publishes no build costs at all, exactly like WooCommerce, so the ranges in this piece are our own.
Does WooCommerce cope with a large catalogue?
The usual objection, that orders live in the WordPress posts tables, no longer holds: High-Performance Order Storage has given orders dedicated tables and indexes since version 8.2 and is on by default for new installations. We have no benchmarks of our own and publish none. The variable that stays with you is the sum of the extensions you install.
Will Medusa support the payment and shipping providers I already use?
Officially documented today are Stripe and PayPal for payments and ShipStation for fulfilment. Anything outside that list is a module you build, which is routine engineering work but belongs in the project scope and the budget from the start rather than being discovered later.
Can I keep WordPress for content and move only commerce to Medusa?
Architecturally yes, since Medusa exposes commerce through an API and the content layer can live separately. The honest caveat is that Medusa documents CMS integrations with Contentful, Payload, Sanity and Strapi, and WordPress is not on that list, so this arrangement is an integration project rather than a switch you flip.
When does moving from WooCommerce to Medusa pay off?
When something you need can no longer be closed with an extension, rather than when the store feels slow or the extension list has grown, which is usually a hosting and housekeeping problem. Start from the annual cost of running your current stack and set it against a three-year TCO. In our process that call is made during the Blueprint, together with a recommendation on whether to change at all.
Journal
Co-founder of Seedlight · eCommerce platforms, AI, SEO and GEO
Newsletter
The Journal, straight to your inbox
New articles and lessons from real builds, every now and then. No spam, unsubscribe with one click.