Freento React Theme · Open-source storefront for Magento 2

Magento 2, Instant on Any Connection.

A headless React storefront for Magento 2, built for one goal — maximum performance. Opens instantly, stays instant on every click, even on slow mobile.

Comes with its own visual page builder — far easier to work with than Magento's Page Builder, and it never slows your pages down.

The theme is open source — code on GitHub: Freento/magento2-react-theme
Measured live · react-m2-theme.freento.comLive store
100
Google PageSpeed score
Proof ↗
Store opens in · LCP
0.2 s desktop · 2–3 s slow 3G
How is this possible? ↓
Next page — instant display
0–200 ms
How is 0 possible? ↓
Optimized for slow connections
~6 KB · category image 300×300
Measured on the live demo · Run it yourself →

Why It's Fast

SSR

Ready HTML First

The server sends fully rendered HTML; React hydrates after paint. Content pages are prerendered to static files at build time.

1

Blocking Request per Page

One GraphQL request delivers the page. PWA Studio / Venia needs 10+ requests before content appears.

0 ms

Smart Preloading

Loading starts the moment you hover or touch a link. The click comes ~200 ms later — by then the page is already in the browser, so it appears with zero waiting. Even without a hover it lands in ~200 ms.

2–3×

Lighter Images

WebP/AVIF only, everywhere — the format alone saves up to ~2×. Served at exactly the size it is displayed, a listing gets 2–3× lighter than with JPEG — nothing oversized reaches the phone.

11

Brotli, Max Level

Assets are compressed with Brotli level 11 at build time — nothing is compressed on the fly.

Node middleware

Skip Magento Bootstrap

Critical queries can run directly on the Node server, skipping the Magento bootstrap entirely. Example: resolving a page URL takes milliseconds, versus ~150 ms through the GraphQL route() query.

Backend acceleration — optional add-ons

Swoole

Freento_Swoole Module

PHP on Swoole: Magento stays loaded in memory instead of bootstrapping on every request. Ships as our Freento_Swoole module.

5–10×

GraphQL Cache Warmer

Keeps the GraphQL cache in Varnish warm — 5–10× faster than warming regular pages. Ready to provide with the theme.

MISS→HIT

Freento_FullPageCache Analyzer

Analyzes why your GraphQL endpoints return cache MISSes and prepares a warm-up map for your store, used by the module.

Real PageSpeed Results

Home, category and product pages of the live demo — measured by Google PageSpeed Insights.

Home Page

react-m2-theme.freento.com
Mobile
Desktop
Verify it yourself on PageSpeed →

Category Page

…/jackets-women.html
Mobile
Desktop
Verify it yourself on PageSpeed →

Product Page

…/olivia-1-4-zip-light-jacket.html
Mobile
Desktop
Verify it yourself on PageSpeed →

Replaces Magento Page Builder

A Page Builder Your Team Will Actually Enjoy

Magento's Page Builder is slow and painful to work with. The theme comes with its own visual editor instead: drop in blocks, tweak them, see the result instantly — and it physically can't ruin your PageSpeed.

your-store.com/editor
Freento page editor: block library next to the live storefront previewFreento page editor: heading block selected, its settings panel on the leftFreento page editor: heading color changed, the preview updates immediatelyFreento page editor: mobile preview of the home page
✓

Zero requests to Magento for CMS content. It's baked into the server-rendered HTML.

✓

JPEG and PNG uploads are rejected. WebP/AVIF only — a content manager cannot ruin your PageSpeed.

✓

Drag-and-drop with live preview using the same React components, in desktop, tablet and mobile modes.

✓

Content lives as JSON files in git. Every save is a commit: full history, rollback to any version, content deploys together with code.

Ours vs the Rest

Freento React Theme

Ours
BROWSER1 REQUEST · ≈100 MSSSR SERVERFIRST VISIT ONLY1 QUERY · ≈10 MSMAGENTO GRAPHQL

Only 1 blocking request · ready HTML in ≈0.1 s · next pages prefetched, ≈0 ms wait

PWA Studio (Venia)

Other headless
BROWSER10+ QUERIES50–200 MS EACHMAGENTO GRAPHQL

5+ blocking requests · 10+ requests in total

Luma Theme

Standard Magento
BROWSEREVERY CLICKFULL PAGE≈1–2 S+ AJAX AFTER LOADSECTIONS & COMAGENTOPHP · LUMA

FPC miss (often): 1–2 s render + heavy AJAX regardless of FPC

CriterionFreento React ThemePWA Studio (Venia) & other headlessLuma — standard Magento
Can it be fast?●●●●●Yes — fast out of the box, and it stays fast: just 1 blocking request per page and smart preloading of the next one.●●●●●Hardly. 10+ requests per page put heavy load on the server — and when the user clicks the next page before the previous one has finished loading, requests pile up and navigation gets slower still.●●●●●Only behind a perfectly tuned Full Page Cache — rare in practice. Cart, AJAX and similar requests bypass the cache and stay slow anyway.
Can AI develop it?●●●●●Yes — a compact, uniform codebase that ships with Claude Code skills. An AI assistant navigates all of it.●●●●●Weaker — a large, fragmented codebase spread across dozens of packages; AI assistants struggle to hold it.●●●●●Worst case — PHP templates, XML layouts and Knockout.js legacy; slow going even for AI.
Faster development, cheaper support?●●●●●Yes — Magento upgrades get much simpler with a decoupled frontend, and the AI-friendly codebase cuts development and support time further.●●●●●Partly — upgrades also get simpler thanks to the decoupled frontend, but development itself stays slow and expensive.●●●●●No — the theme is tied to the Magento core: every upgrade drags the whole frontend along, and support stays heavy.
Google PageSpeed out of the box (mobile / desktop)●●●●●100 / 100●●●●●65 / 45●●●●●60 / 90
Images & static resources optimization●●●●●WebP/AVIF only, enforced by the editor. Brotli level 11 at build time, modern minification, critical CSS inlined.●●●●●Legacy PNG/JPEG — 30–70% heavier than WebP/AVIF. Standard bundler minification; no built-in Brotli precompression or critical CSS.●●●●●Legacy PNG/JPEG — 30–70% heavier than WebP/AVIF. Basic Magento merge/minify, no critical CSS — heavy render-blocking bundles.
CMS content●●●●●Baked into HTML — 0 runtime requests to Magento.●●●●●Fetched via GraphQL at runtime — extra requests that take extra time.●●●●●Page Builder, server-rendered.

Faster to Build. Cheaper to Keep.

AI

AI-Assisted Development

The codebase is compact and uniform, and ships with Claude Code skills — an AI assistant navigates all of it. Customizations that took days take hours, and development costs drop with them.

2–3×

Faster Magento Upgrades

Magento updates — even major ones — take 2–3× less time: the frontend is decoupled, so there is no theme to re-test and re-patch on every upgrade.

API

Stable Integration Surface

The theme talks to Magento only through its stable APIs — the ones that don't change from release to release. No core patches, no fragile frontend rewrites.

SSR

Visible to AI Search

LLM crawlers and AI assistants don't run JavaScript. This theme serves ready HTML, so they see your full catalog — unlike client-rendered headless storefronts.

What's Covered

  • ✓Catalog
  • ✓Product pages with variants
  • ✓Layered navigation + price slider
  • ✓Full-text search with autocomplete
  • ✓Cart + mini-cart
  • ✓Full React checkout
  • ✓Braintree cards + Google Pay
  • ✓PayPal Express
  • ✓Authorize.Net
  • ✓Check / money order
  • ✓Customer account
  • ✓Order history + reorder
  • ✓Wishlist
  • ✓Product reviews
  • ✓Newsletter

Compact, uniform codebase — customization is fast and AI-assistant-friendly. Ships with Claude Code skills.

How Implementation Works

01

Migration Estimate

We audit your store, map its customizations and integrations, and give you a concrete migration estimate.

02

Theme + Adaptation

We adapt the theme to your store: your design, your modules, your payment and shipping integrations.

03

Launch & Support

We launch, verify the scores on your real catalog, and stay on for ongoing support.

Click Through the Demo. Time It Yourself.

SimpleShop is a full demo store on the React theme — catalog, search, checkout, everything above. The theme itself is open source.