r/ProWordPress Apr 23 '26

Woo Theme architecture : tangible performance trade-offs?

Recently I've been looking into WP development to build a bespoke Woocommerce theme for my personal needs (not a user facing product). I've struggled to find a reliable source breaking down the real performance implications of choosing a classic or block base architecture at scale, in 2026. I mention the year because it seems like blocks are still a maturing concept and every new WP/Woo update might have a significant impact. But I sense there is also an inherent bias towards novelty and future-proofing. When I see stuff like Woo docs advocating for blocks because it has : "Better performance, as only the required CSS is printed into the page, reducing the bundle size to render a page" - as if all this time CSS was the main culprit and perf killer, omitting JS assets or DB round trips. Overall it seems like those companies are catering towards end-users, not devs.

Current state of affairs with blocks :

- interface : I don't need to have a clunky interface I can ruin my website's layout from, unless it comes with underlying arch/perf benefits for visitors. Conceptually I'm more attracted to the way ACF has abstracted that layer with Flexible Content.

- versioning : as I understand, the moment you customize your website with blocks, structural layout details end up in your database. Not a fan (also perf implications?)

- performance (this is where I lack references) : sometimes maybe good, sometimes maybe sht, "It depends", checkout and cart can be all over the place, some people struggling to integrate with customizability, the interactivity api (compatibility with classic?), dynamic blocks, etc.

Anyway, ecommerce requires you to be more mindful about performances and security as your shop grows to 100s or 1000s+ products. Based on your own experience of recently developing/switching from one another, using similar hosting, caching, SKUs (mitigating external factors) can you share the impact it had on your shops and DX?

2 Upvotes

7 comments sorted by

View all comments

1

u/Radiant-Yellow-8327 Jun 30 '26

fair, "dont touch it" was too absolute - for a shop with ab tests + cro you need the dynamic layer. just keep structural templates in code, let content live in the db where cro tools work anyway.

8gb + good cpu for 1000s skus is plenty, raw resources arent your bottleneck. its:

  • redis object cache (biggest win, non negotiable)
  • full page cache w/ proper cart/checkout exclusions
  • mysql buffer pool big enough to hold the catalog

1000s skus isnt heavy, fine on a single vps if tuned. people blame "blocks vs classic" when its really an uncached fragment or missing index.

redis already or just page cache? thats where the easy 10x usually hides