Case 04 · devs-code.site

One design, four platforms

The same 420-item catalogue, the same layout, four different engines. All four stands are live — open them side by side. The speed numbers below are measured every night on our server, not typed in by hand.

No platform is “ours”. We build on all four and get paid the same. That is why this table is worth reading.

WooCommerce

WooCommerce

measured

WordPress + WooCommerce

Full shop: cart, two-step checkout, delivery zones, promo codes, a live order notification to Telegram.

Open the stand
OpenCart

OpenCart

measured

OpenCart 4

The same shop on OpenCart 4: catalogue, cart, checkout, Ukrainian UI.

Open the stand
Headless

Headless

measured

Astro + WordPress REST

Static front on Astro pulling the same catalogue from the WordPress REST API.

Open the stand
WordPress catalogue

WordPress catalogue

measured

WordPress, no shop plugin

The same catalogue with filters and search, and a price request instead of a cart.

Open the stand

Measured

Lighthouse, mobile preset, three runs, median. Re-measured every night. The date under each column is when these exact numbers were taken.

Swipe the table sideways to see all four →

WooCommercemeasured 18 Aug 2026OpenCartmeasured 18 Aug 2026Headlessmeasured 18 Aug 2026WordPress cataloguemeasured 18 Aug 2026
Performance scoreLighthouse performance, 0–100. Anything above 90 is good on mobile.10099100100
LCPWhen the main image or headline finishes drawing. Google wants under 2.5 s.1.44 s1.67 s1.20 s1.34 s
CLSHow much the layout jumps while loading. Google wants under 0.1.0.0000.0010.0000.000
Server responseHow long the server thinks before the first byte.3 ms93 ms0 ms0 ms
Page weightEverything the browser downloads for one page.115 KB164 KB93 KB96 KB
RequestsHow many files that page pulls.15231814
JavaScript shippedScript bytes — the part that keeps a phone busy after the pixels are there.13 KB5 KB7 KB3 KB

Our estimate

This part is not measurable, so it is marked as an estimate: our prices and our experience with projects of this size. Numbers here are for a commercial build, not for a demo stand.

Swipe the table sideways to see all four →

WooCommerceOpenCartHeadlessWordPress catalogue
Who it is forOnline sales with payment, stock and delivery from day one.You already have an OpenCart shop, or your team knows this admin.Large catalogues where speed and search traffic are the business.Made-to-order work, showrooms, B2B ranges — where the deal happens in conversation.
LimitsThe heaviest of the four. Plugins need updating, and every plugin is a dependency you inherit.A shrinking ecosystem. Fewer maintained extensions each year, and paid ones age fast.Two systems instead of one. Content changes need a rebuild, and someone has to own that pipeline.No cart, no checkout, no stock. A second language costs a plugin and about a day.
Build time4–6 weeks3–5 weeks5–7 weeks1–2 weeks
Running cost€40–80 / month€30–60 / month€25–50 / month€15–30 / month

How this is measured

A comparison you cannot check is an opinion. Here is exactly what happens every night.

  • Lighthouse — the same engine PageSpeed Insights runs — mobile preset: Slow 4G and 4× CPU slowdown.
  • Three runs per page, the median one is published. Not the best one.
  • A warm-up run before them is discarded: otherwise we would compare a cold cache on one stand with a warm one on another.
  • The same three pages on every stand: home, catalogue listing, product page. Comparing one engine’s home page with another’s product page is how most “platform comparisons” cheat.
  • The same language and the same product everywhere: the English storefront and the Menchul chair. Cyrillic and Latin pull different font subsets, and a heavy sofa page weighs more than a stool — measure those and you are comparing content, not engines.
  • The server load is recorded with every run. Runs taken while the machine was busy are thrown out — they lie in both directions.
  • History is kept, so a number that suddenly improves has a date and a run behind it.

Do not take our word for it: paste any of the four addresses into pagespeed.web.dev and compare. Field data there will be empty — nobody browses demo stands — but the lab numbers should land where this table says.

How to choose

Five situations we actually hear from clients, and what we would build in each.

I sell 50–500 products and take card payments online.

WooCommerce.

Cart, checkout, stock, taxes, delivery and invoices already exist and are maintained by other people. Writing that yourself costs more than the plugin licences ever will.

I already run an OpenCart shop and I am told to throw it away.

Keep it — until it actually blocks you.

A working shop with orders in it is an asset. We can redesign it, speed it up and add integrations. Migration makes sense when the platform blocks a specific business need, not because a developer prefers another engine.

My catalogue is large and organic traffic is the business.

Headless: static front, CMS behind it.

Pages are pre-built, so the server does not think at all. The price is a second moving part: the front has to rebuild when content changes, and someone has to own that.

We make to order. The deal happens in a chat or a phone call.

A catalogue site on plain WordPress.

A cart nobody uses is a cost, not a feature. Show the range, take the enquiry, sell in the conversation — for three to five times less money.

I need to be online in a week and see if anyone wants this at all.

Catalogue site first, shop later.

The catalogue build becomes the shop’s foundation: same design, same content, same admin. You pay for the shop layer when demand is proven, not before.

Not sure which line you are on?

Send us the range you sell and how the deal usually closes. We answer with a platform and a reason — including “stay where you are”, when that is the honest answer.

Write to us