Self-Hosted E-Commerce Platform Comparison 2024

by Emma Rodriguez
Self-Hosted E-Commerce Platform Comparison 2024

Shopify will charge you 0.5% on every transaction if you're not using Shopify Payments — and in dozens of countries, Shopify Payments simply isn't available. At $500k GMV, that's $2,500 gone before you've paid for hosting, apps, or your own salary. That math is why self-hosted keeps coming up in operator conversations.

But "self-hosted" is not a single thing. WooCommerce, Medusa, Bagisto, PrestaShop, and OpenCart all call themselves self-hosted, and they're about as similar as a food truck and a restaurant franchise. This self-hosted e-commerce platform comparison 2024 cuts through the positioning and tells you what each platform actually costs to operate, where it breaks, and who it's right for.

I've run stores on three of these platforms. I'll tell you what I'd pick today — not what each vendor's marketing page says.

Why Self-Hosted Still Makes Sense in 2024

The SaaS-vs-self-hosted debate gets framed as "control vs. convenience," but that's too simple. The real question is: where does your margin go as you scale?

On Shopify Advanced ($299/month in 2024), you're paying a flat fee plus 0.5% per transaction and often $50–200/month per third-party app. A store doing $80k/month with 8 apps can easily spend $1,200–1,500/month in platform costs before touching COGS or ads. A self-hosted stack on a $40/month VPS with owned plugins can run the same volume for under $200/month total — if you have the technical tolerance.

The tradeoff is real: you own the server, the updates, the security patches. If you're a solo founder without a developer on call, that's not a small thing. But if you have even a part-time developer or a technical co-founder, self-hosted pays back fast.

The Five Platforms Worth Comparing

I'm not going to list every PHP cart from 2009. These five are the ones with active communities, real production usage in 2024, and honest documentation.

WooCommerce 8.x (WordPress)

Market share: ~37% of all e-commerce sites per BuiltWith data (mid-2024). That number is partly legacy inertia, but it's also a sign of a massive plugin ecosystem.

WooCommerce itself is free. The costs stack up in extensions: WooCommerce Subscriptions is $279/year, Product Bundles is $79/year, and a decent payment gateway plugin adds another $79–199/year. A fully featured store realistically needs $500–900/year in first-party extensions before you touch third-party plugins.

Performance is the honest weak spot. A default WooCommerce install on shared hosting will buckle around 80–100 concurrent users. You need object caching (Redis or Memcached), a proper CDN, and a PHP 8.2+ server. On a tuned $40/month Hetzner VPS with Redis and Cloudflare, I've handled 400 concurrent users without incident — but that setup took me two days to configure.

Best for: Stores already on WordPress, content-heavy catalogs, operators who want the largest plugin ecosystem.

Skip if: You're building headless, or you need multi-tenant/multi-store out of the box.

Medusa.js 1.x / 2.0 (Node.js)

Medusa is the one I'd bet on for new builds in 2024. Version 2.0 hit beta in Q3 2024 and restructures the entire core around a module system — payments, inventory, promotions are all swappable.

It's MIT-licensed and genuinely headless-first. Your storefront is a separate Next.js (or any framework) app that calls Medusa's REST or custom API. That means you're not fighting a theme system to get your UI right.

The catch: Medusa is not a "download and sell" platform. You need Node.js development environment setup comfort, a Postgres database, and Redis for queuing. Minimum viable hosting is around $20–30/month on Railway or Render for a small store. The admin UI is functional but sparse compared to WooCommerce — expect to build or buy custom views for anything beyond basic order management.

Plugin/module ecosystem is small but growing. As of October 2024, the official module registry lists ~180 community modules, versus WooCommerce's 59,000+ plugins. That gap matters.

Best for: Developers building custom storefronts, headless commerce stacks, stores that need unusual data models.

Skip if: You need a non-technical team member to manage the backend alone.

Bagisto 2.x (Laravel)

Bagisto is the underdog here and genuinely underrated. Built on Laravel 10/11, it ships with multi-currency, multi-locale, and a marketplace module out of the box — features that cost $200+/year as WooCommerce add-ons.

The admin UI is clean and non-technical staff can use it without training. Installation is standard Laravel: composer create-project bagisto/bagisto, configure .env, run migrations. On a $6/month Hetzner shared instance it runs fine for low-traffic stores; for anything above 50 concurrent users, move to a VPS.

The community is smaller than WooCommerce — GitHub shows ~12k stars and a Slack with roughly 3,000 members as of late 2024. Third-party extensions exist but the quality varies more than WooCommerce's ecosystem. Budget for custom development if you need anything non-standard.

Best for: Multi-currency/multi-region stores, Laravel shops that want to own the stack, marketplace-style catalogs.

Skip if: You need a huge plugin library or enterprise support SLAs.

PrestaShop 8.x

PrestaShop has been around since 2007 and it shows — in both good and bad ways. The module marketplace has 5,000+ extensions. The codebase, however, is PHP legacy in places, and upgrading between major versions has historically been painful enough that some agencies refuse to do it.

PrestaShop 8.1 (released late 2023) improved the upgrade process significantly with the new Upgrade module. Performance on PHP 8.1+ is acceptable but still trails WooCommerce on a tuned stack. Hosting costs are similar: $20–40/month for a production VPS.

The business model is worth noting: PrestaShop is free and open source, but the company monetizes heavily through the module marketplace and a hosted cloud offering. Some "free" modules have paid tiers that unlock basic features. Read module pricing carefully.

Best for: European merchants (strong EU community, GDPR modules), stores migrating from Magento 1 that want something lighter.

Skip if: You're starting fresh and don't have a PrestaShop developer already.

OpenCart 4.x

OpenCart 4.0 launched in 2022 and cleaned up a lot of the 3.x technical debt. It's lightweight — a basic install is under 10MB — and genuinely simple to host. Shared hosting works for low-traffic stores.

The extension marketplace has 13,000+ extensions, but many are abandonware or haven't been updated for 4.x. Vet carefully. The community forums are active but smaller than WooCommerce's.

I'd position OpenCart as the right tool for a small, stable catalog (under 5,000 SKUs) where the owner wants something they can manage without a developer on retainer. It's not exciting, but it works and it's cheap to run.

Best for: Small catalogs, budget-conscious operators, simple B2C stores.

Skip if: You need complex product types, subscriptions, or a headless architecture.

Side-by-Side Comparison

Platform License Est. Monthly Cost (small store) Tech Stack Headless-Ready Plugin Ecosystem
WooCommerce 8.x GPL $40–80 (hosting + plugins) PHP / WordPress Partial (REST API) 59,000+ plugins
Medusa.js 2.0 MIT $20–40 (hosting) Node.js / React Native ~180 modules
Bagisto 2.x MIT $20–50 (hosting) PHP / Laravel Partial (GraphQL) ~500 extensions
PrestaShop 8.x OSL 3.0 $30–60 (hosting + modules) PHP Partial (REST API) 5,000+ modules
OpenCart 4.x GPL $10–30 (hosting) PHP No 13,000+ extensions

Costs assume a single-store setup with basic extensions. Medusa's cost can rise quickly if you need managed Postgres and Redis — budget $60–100/month on a managed stack like Railway Pro.

What I'd Actually Deploy Today

For a new store with a developer on the team: Medusa 2.0. The module architecture is the right abstraction for 2024. You're not locked into a monolith, and the Next.js storefront starter cuts weeks off the frontend build. Yes, the ecosystem is thin — but the core is solid and the community is growing fast (Discord hit 25k members in 2024).

For a non-technical operator who needs to be self-sufficient: WooCommerce on a managed WordPress host (Kinsta or Cloudways, $30–50/month). The plugin ecosystem solves 90% of problems without custom code. You'll pay more in extensions, but you'll spend less time in a terminal.

For a multi-region store with tight budget: Bagisto. The built-in multi-locale and multi-currency alone justify it over WooCommerce if you're selling in 3+ currencies.

I wouldn't start a new store on PrestaShop in 2024 unless I had an existing PrestaShop developer relationship. And OpenCart is fine for what it is — just don't expect to grow past a certain complexity without hitting walls.

Migrating to Self-Hosted: The Part Nobody Talks About

Platform selection is 30% of the work. Data migration is the other 70% that kills timelines.

If you're moving from Shopify, export your products, customers, and orders as CSVs. WooCommerce has a native importer for products; for orders and customers you'll want a plugin like "Cart2Cart" ($69–299 depending on record count) or a custom import script. Medusa has a CSV import API but it only covers products natively — orders need custom scripting or a third-party migration service.

Budget 2–4 weeks for a clean migration on a store with 1,000+ SKUs and 5+ years of order history. I've seen "weekend migrations" turn into month-long projects when order history and customer accounts are involved.

For more on the migration process, see our guide on moving from Shopify to WooCommerce and the headless commerce setup for small stores post if you're leaning toward Medusa.

The Takeaway

This self-hosted e-commerce platform comparison 2024 comes down to one honest question: do you have the technical capacity to own your infrastructure? If yes, you'll save real money — $500–1,500/month at $50k–100k GMV — and you'll have a stack you can actually modify. If no, the self-hosted savings disappear into developer hours and downtime.

Tomorrow's action: pull your last 3 months of Shopify or SaaS platform invoices, add up every line item including app fees, and compare it against a $40/month VPS plus the extension costs from the table above. The number usually surprises people.

If you want help scoping a migration, the StoreHabit community forum is a good place to post your specific setup — real operators answer there, not vendor reps.